KR101934892B1 - 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템 - Google Patents

메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템 Download PDF

Info

Publication number
KR101934892B1
KR101934892B1 KR1020120115486A KR20120115486A KR101934892B1 KR 101934892 B1 KR101934892 B1 KR 101934892B1 KR 1020120115486 A KR1020120115486 A KR 1020120115486A KR 20120115486 A KR20120115486 A KR 20120115486A KR 101934892 B1 KR101934892 B1 KR 101934892B1
Authority
KR
South Korea
Prior art keywords
state
memory
voltage
memory device
read
Prior art date
Application number
KR1020120115486A
Other languages
English (en)
Other versions
KR20140050145A (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 KR1020120115486A priority Critical patent/KR101934892B1/ko
Priority to US14/052,801 priority patent/US9164881B2/en
Publication of KR20140050145A publication Critical patent/KR20140050145A/ko
Application granted granted Critical
Publication of KR101934892B1 publication Critical patent/KR101934892B1/ko

Links

Images

Classifications

    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템에 관하여 개시한다. 메모리 장치의 열화 상태 판정 방법은 제1기준 전압을 독출 전압으로 적용하여 메모리 장치의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제1논리 값을 갖는 비트의 개수인 제1정보를 산출하는 단계, 제2기준 전압을 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제2논리 값을 갖는 비트의 개수인 제2정보를 산출하는 단계 및 상기 산출된 제1정보 및 제2정보에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태를 판정하는 단계를 포함하고, 상기 제1기준 전압은 상기 메모리 장치의 소거 상태와 상기 소거 상태에 인접한 프로그램 상태를 구분하는 제1독출 전압보다 낮은 전압으로 설정되고, 상기 제2기준 전압은 상기 제1독출 전압보다 높은 전압으로 설정되는 것을 특징으로 한다.

Description

메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템{Method for determining deterioration state of memory device and memory system using method thereof}
본 발명은 메모리 장치 및 메모리 장치의 제어 방법에 관한 것으로서, 더욱 상세하게는 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되며, 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분된다. 이러한 메모리 장치의 특성은 사용 환경, 사용 횟수 또는 사용 시간이 경과함에 따라 변화될 수 있다. 따라서, 메모리 장치의 신뢰성을 개선하기 위하여 메모리 장치에 대한 열화 상태의 타입을 정확하게 판정하는 기술이 요구된다.
본 발명의 목적은 메모리 장치의 열화 상태의 타입을 구분하기 위한 메모리 장치의 열화 상태 판정 방법을 제공하는데 있다.
본 발명의 다른 목적은 메모리 장치의 열화 상태의 타입을 구분하기 위한 메모리 시스템을 제공하는데 있다.
본 발명의 기술적 사상의 일면에 따른 실시 예에 의한 메모리 장치의 열화 상태 판정 방법은 제1기준 전압을 독출 전압으로 적용하여 메모리 장치의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제1논리 값을 갖는 비트의 개수인 제1정보를 산출하는 단계, 제2기준 전압을 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제2논리 값을 갖는 비트의 개수인 제2정보를 산출하는 단계 및, 상기 산출된 제1정보 및 제2정보에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태를 판정하는 단계를 포함하고, 상기 제1기준 전압은 상기 메모리 장치의 소거 상태와 상기 소거 상태에 인접한 프로그램 상태를 구분하는 제1독출 전압보다 낮은 전압으로 설정되고, 상기 제2기준 전압은 상기 제1독출 전압보다 높은 전압으로 설정되는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1정보를 산출하는 단계는 상기 제1기준 전압을 독출 전압으로 적용하여 상기 타깃 저장 영역에 대한 제1독출 동작을 수행하는 단계 및, 상기 제1독출 동작이 수행된 상기 타깃 저장 영역의 메모리 셀들 중에서 상기 제1기준 전압보다 낮거나 같은 문턱 전압을 갖는 메모리 셀의 개수로서 상기 제1정보를 산출하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 제2정보를 산출하는 단계는 상기 제2기준 전압을 독출 전압으로 적용하여 상기 타깃 저장 영역에 대한 제2독출 동작을 수행하는 단계 및, 상기 제2독출 동작이 수행된 상기 타깃 저장 영역의 메모리 셀들 중에서 상기 제2기준 전압보다 높은 문턱 전압을 갖는 메모리 셀들의 개수로서 상기 제2정보를 산출하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 메모리 장치의 메모리 셀들에 대한 초기 문턱 전압 산포에 기초하여 상기 제1기준 전압은 소거 상태에 대한 문턱 전압 분포의 중간 값으로 결정하고, 상기 제2기준 전압은 복수의 프로그램 상태들 중에서 가장 높은 문턱 전압을 갖는 프로그램 상태에 대한 문턱 전압 분포의 중간 값으로 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 열화 상태를 판정하는 단계는 상기 제1정보 및 상기 제2정보를 초기 설정된 방정식에 적용하여 연산 처리하는 단계 및, 상기 연산 처리된 결과에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태의 타입을 결정하는 단계를 포함하고, 상기 초기 설정된 방정식은 실험적으로 측정된 제1정보 및 제2정보의 분포에 기초하여 복수 타입의 열화 상태들을 구분하도록 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 초기 설정된 방정식은 상기 메모리 장치의 소거 상태의 문턱 전압 분포가 높은 전압 쪽으로 이동된 제1타입의 열화 상태와 상기 메모리 장치의 적어도 하나의 프로그램 상태의 문턱 전압 분포가 낮은 전압 쪽으로 이동된 제2타입의 열화 상태를 구분하도록 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2타입의 열화 상태는 멀티 레벨 셀들로 구성된 메모리 장치에서 복수의 프로그램 상태들 중에서 가장 높은 문턱 전압을 갖는 프로그램 상태에 대한 문턱 전압 분포가 낮은 전압 쪽으로 이동된 열화 상태를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 초기 설정된 방정식은 상기 실험적으로 측정된 제1정보 및 제2정보의 분포도에서 서포트 벡터 머신 알고리즘에 기초하여 열화 상태들의 타입을 구분하도록 결정된 방정식을 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 초기 설정된 방정식은 상기 제1정보와 상기 제2정보를 각각 변수로 하는 방정식으로서 상기 제1정보와 제2정보에 따라서 적어도 2가지 타입들의 열화 상태를 구분할 수 있다.
본 발명의 실시 예에 따르면, 상기 메모리 장치의 타깃 저장 영역은 데이터 독출 과정에서 에러 정정에 실패한 저장 영역을 포함할 수 있다.
본 발명의 기술적 사상의 다른 면에 따른 메모리 시스템은 소거 상태 및 하나 이상의 프로그램 상태들 중 하나의 상태를 가지는 메모리 셀들을 포함하는 메모리 장치 및, 제1기준 전압 및 제2기준 전압을 각각 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역으로부터 읽어낸 데이터에 포함된 제1논리 값을 갖는 비트의 개수 또는 제2논리 값을 갖는 비트의 개수에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태를 판정하는 메모리 컨트롤러를 포함하고, 상기 제1기준 전압은 상기 소거 상태와 상기 소거 상태에 인접한 프로그램 상태를 구분하는 제1독출 전압보다 낮은 전압으로 설정되고, 상기 제2기준 전압은 상기 제1독출 전압보다 높은 전압으로 설정되는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 메모리 컨트롤러는 초기 설정된 조건에서 제1기준 전압 또는 제2기준 전압을 독출 전압으로 결정하여 상기 메모리 장치에 인가하는 독출 전압 제어부 및, 상기 제1기준 전압을 적용하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제1논리 값을 갖는 비트의 개수와 상기 제2기준 전압에 의하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제2논리 값을 갖는 비트의 개수에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태를 판정하는 메모리 상태 판정부를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 메모리 상태 판정부는 상기 제1기준 전압을 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제1논리 값을 갖는 비트의 개수를 카운트하는 제1카운터, 상기 제2기준 전압을 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제2논리 값을 갖는 비트의 개수를 카운트하는 제2카운터, 상기 제1카운터에서 카운트된 정보 및 상기 제2카운터에서 카운트된 정보를 적용하여 상기 메모리 장치의 열화 상태의 타입을 구분하도록 초기 설정된 방정식을 계산하는 연산부 및, 상기 연산부에서 계산된 결과에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태의 타입을 결정하는 열화 타입 결정부를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 메모리 컨트롤러는 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태 판정 결과에 따른 열화 상태의 타입에 대응되는 신뢰성 회복 프로세스를 수행할 수 있다.
본 발명의 일실시 예에 따르면, 상기 메모리 컨트롤러는 상기 소거 상태의 문턱 전압 분포가 높은 전압 쪽으로 이동된 열화 상태 타입으로 판정된 경우에 상기 타깃 저장 영역에 저장된 데이터를 다른 저장 영역으로 옮기는 신뢰성 회복 프로세스 또는 상기 메모리 장치의 타깃 저장 영역에 대한 프로그램 상태의 문턱 전압 산포가 낮은 전압 쪽으로 이동된 열화 상태 타입으로 판정된 경우에 상기 메모리 장치의 타깃 저장 영역에 대응되는 워드라인에 초기 설정된 프로그램 스트레스 전압을 인가하는 신뢰성 회복 프로세스를 수행할 수 있다.
본 발명에 의하면 메모리 시스템의 신뢰성을 열화시키는 요인에 따른 메모리 장치의 열화 상태 타입을 구분하여 판정함으로써, 메모리 시스템에서 발생된 열화 상태 타입에 적합한 신뢰성 프로세스를 정확하게 수행할 수 있는 효과가 발생된다.
또한, 데이터 독출 동작 과정에서 에러 정정에 실패한 경우에 열화 상태의 타입을 구분하여 판정함으로써, 열화 상태의 타입에 적합하도록 독출 전압을 변경할 수 있는 효과가 발생된다. 즉, 변경된 독출 전압을 적용하여 에러 정정에 실패한 저장 영역에 대한 재 독출 동작을 수행함으로써, 에러 정정에 실패한 저장 영역에 대한 리트라이(retry) 독출 동작의 횟수를 줄일 수 있는 효과가 발생된다.
도 1은 본 발명의 일실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 3은 도 2의 메모리 장치에 포함된 셀 어레이의 일 예를 나타낸다.
도 4는 도 3의 셀 어레이에 포함된 메모리 블록의 일 예를 나타내는 회로도이다.
도 5는 도 4의 메모리 블록에 포함된 메모리 셀의 일 예를 나타내는 단면도이다.
도 6a는 도 5의 메모리 셀이 싱글(single) 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 목표 산포를 나타내는 그래프이다.
도 6b는 도 5의 메모리 셀이 싱글(single) 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 실제 초기 산포를 나타내는 그래프이다.
도 6c는 도 6b의 그래프에서 리드 디스터번스에 의하여 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 6d는 도 6b의 그래프에서 챠지 손실에 의하여 프로그램 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 7a는 도 5의 메모리 셀이 2 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 목표 산포를 나타내는 그래프이다.
도 7b는 도 5의 메모리 셀이 2 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 실제 초기 산포를 나타내는 그래프이다.
도 7c는 도 7b의 그래프에서 리드 디스터번스에 의하여 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 7d는 도 7b의 그래프에서 챠지 손실에 의하여 프로그램 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 8a는 도 5의 메모리 셀이 3 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 목표 산포를 나타내는 그래프이다.
도 8b는 도 5의 메모리 셀이 3 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 실제 초기 산포를 나타내는 그래프이다.
도 8c는 도 8b의 그래프에서 리드 디스터번스에 의하여 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 8d는 도 8b의 그래프에서 챠지 손실에 의하여 프로그램 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 9는 도 1에 도시된 메모리 상태 판정부(12)의 일 실시 예에 따른 세부 구성도이다.
도 10은 본 발명의 다른 실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 11은 도 10의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 12는 본 발명의 다른 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 13은 본 발명의 실시 예에 따른 메모리 장치의 열화 상태 판정 방법의 흐름도이다.
도 14는 도 13에 도시된 제1정보(X1) 산출 단계(S110)에 대한 일실시 예에 따른 세부 흐름도이다.
도 15는 도 13에 도시된 제2정보(X2) 산출 단계(S120)에 대한 일실시 예에 따른 세부 흐름도이다.
도 16은 도 13에 도시된 열화 상태 판정 단계(S130)에 대한 일실시 예에 따른 세부 흐름도이다.
도 17은 도 13에 도시된 열화 상태 판정 단계(S130)에 대한 다른 실시 예에 따른 세부 흐름도이다.
도 18은 본 발명의 실시 예에 따른 메모리 장치의 열화 상태 판정 및 신뢰성 회복 방법의 흐름도이다.
도 19는 본 발명의 실시 예에 따른 데이터 독출 방법의 흐름도이다.
도 20은 본 발명의 실시 예에 따른 메모리 시스템에서 여러 상황에 따라서 실험적으로 측정한 제1,2정보(X1, X2)의 분포를 보여주는 그래프이다.
도 21은 본 발명의 실시 예에 따른 메모리 시스템에서의 여러 상황에 따라서 실험적으로 측정한 제1,2정보(X1, X2)의 분포도에서 열화 상태의 타입을 구분하는 방정식을 결정하는 방법을 설명하기 위한 그래프이다.
도 22는 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 23은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 24는 본 발명의 실시 예들에 따른 메모리 시스템을 솔리드 스테이트 드라이브에 적용한 예를 나타내는 블록도이다.
도 25는 도 24의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(10) 및 메모리 장치(20)를 포함할 수 있다. 메모리 컨트롤러(10)는 메모리 장치(20)에 대한 제어 동작을 수행할 수 있는데, 구체적으로, 메모리 컨트롤러(10)는 메모리 장치(20)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(20)에 대한 프로그램(또는 기록), 독출 및 소거 동작을 제어할 수 있다. 이하에서는, 메모리 컨트롤러(10) 및 메모리 장치(20)에 포함된 구성 요소들에 대하여 상술하기로 한다.
메모리 장치(20)는 메모리 셀 어레이(21)를 포함할 수 있는데, 메모리 셀 어레이(21)는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 일 실시 예에서, 복수의 메모리 셀들은 플래시 메모리 셀들일 수 있고, 메모리 셀 어레이(21)는 낸드(NAND) 플래시 메모리 셀 어레이 또는 노아(NOR) 플래시 메모리 셀 어레이일 수 있다. 이하에서는, 복수의 메모리 셀들이 플래시 메모리 셀들인 경우를 예로 하여 본 발명의 실시 예들을 상술하기로 한다. 그러나, 본 발명은 이에 한정되지 아니하고, 다른 실시예에서, 복수의 메모리 셀들은 RRAM(resistive RAM), PRAM(phase charge RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
메모리 컨트롤러(10)는 독출 전압 제어부(11) 및 메모리 상태 판정부(12)를 포함할 수 있다. 이로써, 메모리 컨트롤러(10)는 복수의 메모리 셀들로부터 데이터를 독출하기 위한 독출 전압의 전압 레벨을 제어하고, 제어된 독출 전압을 출력함으로써 메모리 장치(20)를 제어할 수 있다. 이하에서는, 메모리 컨트롤러(10)에 포함된 구성 요소들에 대해 상술하기로 한다.
메모리 상태 판정부(12)는 메모리 장치(20)의 메모리 셀들의 문턱 전압 초기 산포를 기반으로 소거 상태의 이동 또는 프로그램 상태의 이동에 따른 메모리 장치(20)의 열화 상태를 판정한다.
예로서, 메모리 상태 판정부(12)는 제1기준 전압(V1) 및 제2기준 전압(V2)을 각각 독출 전압으로 적용하여 메모리 장치(20)의 타깃 저장 영역으로부터 읽어낸 데이터에 포함된 제1논리 값을 갖는 비트의 개수(X1) 또는 제2논리 값을 갖는 비트의 개수(X2)에 기초하여 메모리 장치(20)의 타깃 저장 영역에 대한 열화 상태를 판정할 수 있다. 여기에서, 제1기준 전압(V1)은 메모리 장치(20)의 소거 상태와 소거 상태에 인접한 프로그램 상태를 구분하는 제1독출 전압보다 낮은 전압으로 설정하고, 제2기준 전압(V2)은 제1독출 전압보다 높은 전압으로 설정할 수 있다. 메모리 상태를 판정하는데 이용되는 독출 전압인 제1기준 전압(V1) 및 제2기준 전압(V2)은 메모리 시스템(100)에 저장된다. 예로서, 제1기준 전압(V1) 및 제2기준 전압(V2)은 메모리 장치(20) 또는 메모리 컨트롤러(10)에 저장될 수 있다.
예로서, 메모리 상태 판정부(12)는 독출 동작 수행 시에 에러 정정 불능 상태가 발생되는 경우에, 에러 정정 불능 상태가 발생된 워드라인(WL) 또는 블록(BLOCK)을 타깃 저장 영역으로 결정할 수 있다.
예로서, 메모리 장치(20)의 메모리 셀들에 대한 초기 문턱 전압 산포에 기초하여 제1기준 전압(V1)은 소거 상태에 대한 문턱 전압 분포의 중간 값으로 결정하고, 제2기준 전압(V2)은 복수의 프로그램 상태들 중에서 가장 높은 문턱 전압을 갖는 프로그램 상태에 대한 문턱 전압 분포의 중간 값으로 결정할 수 있다. 이 경우에, 제1기준 전압(V1)을 기준으로 문턱 전압이 아래에 속하는 메모리 셀의 개수(X1)는 소거 상태에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 그리고, 제2기준 전압(V2)을 기준으로 문턱 전압이 위에 속하는 메모리 셀의 개수(X2)는 최상위 프로그램 상태에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 또한, 초기 상태 산포의 경우에 X1과 X2는 같거나 비슷한 값이 될 것이다.
다른 예로서, 메모리 장치(20)의 메모리 셀들에 대한 초기 문턱 전압 산포에 기초하여 제1기준 전압(V1)을 소거 상태에 대한 문턱 전압 분포의 중간 값으로 결정하고, 제2기준 전압(V1)을 복수의 프로그램 상태들 중의 어느 하나의 프로그램 상태에 대한 문턱 전압 분포의 중간 값으로 결정할 수도 있다.
또 다른 예로서, 메모리 장치(20)의 메모리 셀들에 대한 초기 문턱 전압 산포에 기초하여 제1기준 전압(V1)을 소거 상태에 대한 문턱 전압 분포의 중간 값을 기준으로 초기 설정된 범위 내의 임의의 전압으로 결정하고, 제2기준 전압(V2)을 복수의 프로그램 상태들 중의 어느 하나의 프로그램 상태에 대한 문턱 전압 분포의 중간 값을 기준으로 초기 설정된 범위 내의 임의의 전압으로 결정할 수도 있다.
예로서, 메모리 상태 판정부(12)는 제1기준 전압(V1)을 독출 전압으로 적용하여 메모리 장치(20)의 적어도 하나의 페이지에 대한 제1독출 동작이 수행된 메모리 셀들 중에서 제1기준 전압(V1)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀의 개수로서 제1정보(X1)를 산출할 수 있다.
예로서, 메모리 상태 판정부(12)는 제2기준 전압(V2)을 독출 전압으로 적용하여 메모리 장치(20)의 적어도 하나의 페이지에 대한 제2독출 동작이 수행된 메모리 셀들 중에서 제2기준 전압(V2)보다 높은 문턱 전압을 갖는 메모리 셀들의 개수로서 제2정보(X2)를 산출할 수 있다.
예로서, 메모리 상태 판정부(12)는 제1기준 전압(V1)을 적용하여 메모리 장치(20)의 타깃 저장 영역에서 독출된 데이터에 포함된 제1논리 값을 갖는 비트의 개수(X1)와 제2기준 전압(V2)에 의하여 메모리 장치(20)의 타깃 저장 영역에서 독출된 데이터에 포함된 제2논리 값을 갖는 비트의 개수에 기초하여 메모리 장치(20)의 타깃 저장 영역에 대한 열화 상태를 판정할 수 있다. 여기에서, 제1독출 동작이 수행된 메모리 셀들 중에서 제1기준 전압(V1)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀에서 독출된 비트 값은 제1논리 값을 갖는다. 그리고, 제2독출 동작이 수행된 메모리 셀들 중에서 제2기준 전압(V2)보다 높은 문턱 전압을 갖는 메모리 셀에서 독출된 비트 값은 제2논리 값을 갖는다.
예로서, 메모리 상태 판정부(12)는 제1기준 전압(V1)을 적용하여 독출 동작을 수행한 후의 메모리 장치(20)의 페이지 버퍼(도 2의 참조번호 25)에 저장된 '1'의 개수를 카운트하여 제1정보(X1)를 산출할 수 있다.
예로서, 메모리 상태 판정부(12)는 제2기준 전압(V2)을 적용하여 독출 동작을 수행한 후의 메모리 장치(20)의 페이지 버퍼(도 2의 참조번호 25)에 저장된 '0'의 개수를 카운트하여 제2정보(X2)를 산출할 수 있다.
예로서, 메모리 상태 판정부(12)는 제1기준 전압(V1) 및 제2기준 전압(V2)을 이용한 독출 동작에 의하여 산출된 제1정보(X1) 및 제2정보(X2)를 초기 설정된 방정식에 적용하여 연산 처리된 결과에 기초하여 메모리 장치(20)의 타깃 저장 영역에 대한 열화 상태의 타입을 결정할 수 있다.
예로서, 초기 설정된 방정식은 실험적으로 측정된 제1정보(X1) 및 제2정보(X2)의 분포에 기초하여 복수 타입의 열화 상태들을 구분하도록 결정될 수 있다.
예로서, 초기 설정된 방정식은 메모리 장치(20)의 소거 상태의 문턱 전압 분포가 높은 전압 쪽으로 이동된 제1타입의 열화 상태와 메모리 장치(20)의 적어도 하나의 프로그램 상태의 문턱 전압 분포가 낮은 전압 쪽으로 이동된 제2타입의 열화 상태를 구분하도록 결정될 수 있다. 예로서, 제1타입의 열화 상태는 리드 디스터번스(read disturbance) 현상에 의하여 발생될 수 있고, 제2타입의 열화 상태는 챠지 손실(charge loss) 현상에 의하여 발생될 수 있다.
예로서, 초기 설정된 방정식은 실험적으로 측정된 제1정보(X1) 및 제2정보(X2)의 분포도에서 서포트 벡터 머신(Support Vector Machine) 알고리즘에 기초하여 열화 상태들의 타입을 구분하도록 결정될 수 있다.
여기에서, 제2타입의 열화 상태는 멀티 레벨 셀들로 구성된 메모리 장치(20)에서 복수의 프로그램 상태들 중에서 가장 높은 문턱 전압을 갖는 프로그램 상태에 대한 문턱 전압 분포가 낮은 전압 쪽으로 이동된 열화 상태가 포함될 수 있다.
독출 전압 제어부(11)는 메모리 장치(20)로부터 수신한 데이터(DATA)를 기초로 하여, 메모리 장치(20)를 독출하기 위한, 즉, 메모리 셀 어레이(21)에 배치된 메모리 셀들에 저장된 데이터를 독출하기 위한 독출 전압의 전압 레벨을 제어할 수 있다. 이때, 독출 전압 제어부(11)의 출력은 제어 신호(CTRL)로써 메모리 장치(20)에 제공될 수 있다. 이와 같이, 메모리 컨트롤러(10)는 독출 전압 제어부(11)를 포함함으로써, 메모리 장치(20)의 열화 상태를 판정하는데 필요한 제1기준 전압(V1) 및 제2기준 전압(V2)을 독출 전압으로서 메모리 장치(20)에 인가할 수 있다.
예로서, 독출 전압 제어부(11)는 정상적인 데이터 독출 동작이 수행되는 구간 동안에는 초기 설정된 독출 전압을 발생시켜 메모리 장치(20)에 인가한다. 예로서, 메모리 셀(MCEL)이 1 비트로 프로그램되는 싱글 레벨 셀인 경우에 초기 설정된 독출 전압은 소거 상태의 메모리 셀의 산포와 프로그램 상태의 산포 사이의 골(valley)에 대응되는 전압으로 결정될 수 있다. 다른 예로서, 메모리 셀(MCEL)이 2 비트 이상으로 프로그램되는 멀티 레벨 셀인 경우에 초기 설정된 독출 전압은 소거 상태의 메모리 셀의 산포와 최하위 프로그램 상태의 산포 사이의 골(valley)에 대응되는 전압 또는 프로그램 상태들 사이의 골(valley)에 대응되는 전압으로 결정될 수 있다.
예로서, 독출 전압 제어부(11)는 메모리 장치의 열화 상태를 판정하는 데이터 독출 동작이 수행되는 구간 동안에는 초기 설정된 독출 전압 대신에 제1기준 전압(V1) 및 제2기준 전압(V2)을 각각 순차적으로 발생시켜 메모리 장치(20)에 인가한다.
도 2는 도 1의 메모리 시스템(100)에 포함된 메모리 장치(20)를 상세하게 나타내는 블록도이다.
도 2를 참조하면, 메모리 장치(20)는 메모리 셀 어레이(21), 제어 로직(22), 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)를 포함할 수 있다.
제어 로직(22)은 메모리 컨트롤러(10)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여 메모리 셀 어레이(21)에 데이터를 기입하거나 메모리 셀 어레이(21)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이때, 제어 로직(22)에서 출력된 제어 신호는 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)에 전달될 수 있다.
전압 발생기(23)는 제어 로직(22)으로부터 수신한 제어 신호를 기초로 하여 복수의 워드 라인들(WL)을 구동하기 위한 구동 전압(VWL)을 생성할 수 있다. 구체적으로, 구동 전압(VWL)은 기입 전압(또는 프로그램 전압), 독출 전압, 소거 전압 또는 패스(pass) 전압일 수 있다.
로우 디코더(24)는 로우 어드레스를 기초로 하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(24)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다. 예로서, 메모리 장치의 열화 상태를 판정하는 동작이 수행될 저장 영역에 해당되는 선택된 워드 라인에는 메모리 컨트롤러(10)의 독출 전압 제어부(11)에서 생성된 제1기준 전압(V1) 및 제2기준 전압(V2)이 각각 순차적으로 인가될 수 있다. 이는 메모리 장치의 열화 상태를 판정하는 동작이 수행될 저장 영역에 해당되는 선택된 워드 라인에서 제1기준 전압(V1)에 의한 독출 동작과 제2기준 전압(V2)에 의한 독출 동작이 각각 수행된다는 것을 의미한다. 한편, 기입 동작 시에 로우 디코더(24)는 선택된 워드 라인에 기입 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
페이지 버퍼(25)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(21)에 연결될 수 있다. 페이지 버퍼(25)는 메모리 셀 어레이(21)에 기록될 데이터 또는 메모리 셀 어레이(21)로부터 독출된 데이터를 임시적으로 저장할 수 있다. 본 발명의 실시 예에서, 페이지 버퍼(25)는 제1기준 전압(V1)에 의한 독출 동작에 따라서 선택된 워드 라인에 접속된 메모리 셀들로부터 독출된 데이터를 저장할 수 있다. 또한, 페이지 버퍼(25)는 제2기준 전압(V2)에 의한 독출 동작에 따라서 선택된 워드 라인에 접속된 메모리 셀들로부터 독출된 데이터를 저장할 수도 있다.
도 3은 도 2의 메모리 장치(20)에 포함된 메모리 셀 어레이(21)의 일 예를 나타낸다.
도 3을 참조하면, 메모리 셀 어레이(21)는 플래시 메모리 셀 어레이일 수 있다. 이때, 메모리 셀 어레이(21)는 a(a는 2 이상의 정수)개의 블록들(BLK0 내지 BLKa-1)을 포함하고, 각 블록들(BLK0 내지 BLKa-1)은 b(b는 2 이상의 정수)개의 페이지들(PAG0 내지 PAGb-1)을 포함하며, 각 페이지들(PAG0 내지 PAGb-1)은 c(c는 2 이상의 정수)개의 섹터들(SEC0 내지 SECc-1)을 포함할 수 있다. 도 3에서는 도시의 편의를 위해, 블록 BLK0에 대하여만 페이지들(PAG0 내지 PAGb-1) 및 섹터들(SEC0 내지 SECc-1)을 도시하였으나, 다른 블록들(BLK1 내지 BLKa-1)도 블록 BLK0와 동일한 구조를 가질 수 있다.
도 4는 도 3의 메모리 셀 어레이(21)에 포함된 메모리 블록(BLK0)의 일 예를 나타내는 회로도이다.
도 4를 참조하면, 메모리 셀 어레이(21)는 낸드 플래시 메모리의 메모리 셀 어레이일 수 있다. 이때, 도 3에 도시된 각 블록들(BLK0 내지 BLKa-1)은 도 4와 같이 구현될 수 있다. 도 4를 참조하면, 각 블록들(BLK0 내지 BLKa-1)은 비트 라인(BL0 내지 BLd-1) 방향으로, 8개의 메모리 셀(MCEL)들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들을 포함할 수 있다. 각 스트링(STR)은 각각 직렬로 연결되는 메모리 셀(MCEL)들의 양 끝에 연결되는, 드레인(drain) 선택 트랜지스터(Str1) 및 소스(source) 선택 트랜지스터(Str2)를 포함할 수 있다.
도 4와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거(erase)가 수행되고, 각 워드 라인(WL0 내지 WL7)에 대응되는 페이지(PAG) 단위로 프로그램을 수행한다. 도 4는 하나의 블록에 8개의 워드 라인들(WL0 내지 WL7)에 대한 8개의 페이지(PAG)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이(21)의 블록들(BLK0 내지 BLKa-1)은 도 4에 도시되는 메모리 셀(MCEL) 및 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다. 또한, 도 1 및 도 2의 메모리 장치(20)는 이상에서 설명된 메모리 셀 어레이(21)와 동일한 구조로 동일한 동작을 수행하는 복수의 메모리 셀 어레이들을 포함할 수도 있다.
도 5는 도 4의 메모리 블록(BLK0)에 포함된 메모리 셀(MCEL)의 일 예를 나타내는 단면도이다.
도 5를 참조하면, 기판(SUB) 상에 소스(S) 및 드레인(D)이 형성되고, 소스(S)와 드레인(D)의 사이에는 채널 영역이 형성될 수 있다. 채널 영역의 상부에는 플로팅 게이트(FG)가 형성되는데, 채널 영역과 플로팅 게이트(FG)의 사이에는 터널링(tunneling) 절연층과 같은 절연층이 배치될 수 있다. 플로팅 게이트(FG)의 상부에는 컨트롤 게이트(CG)가 형성되는데, 플로팅 게이트(FG)와 컨트롤 게이트(CG)의 사이에는 블로킹(blocking) 절연층과 같은 절연층이 배치될 수 있다. 기판(SUB), 소스(S), 드레인(D) 및 컨트롤 게이트(CG)에는 메모리 셀(MCEL)에 대한 프로그램, 소거 및 독출 동작에 필요한 전압들이 인가될 수 있다.
플래시 메모리 장치에서는 메모리 셀(MCEL)의 문턱 전압(threshold voltage, Vth)의 구별에 의해 메모리 셀(MCEL)에 저장된 데이터가 독출될 수 있다. 이때, 메모리 셀(MCEL)의 문턱 전압(Vth)은 플로팅 게이트(FG)에 저장된 전자(electron)의 양에 따라 결정될 수 있다. 구체적으로, 플로팅 게이트(FG)에 저장된 전자가 많을수록 메모리 셀(MCEL)의 문턱 전압은 높아질 수 있다.
메모리 셀(MCEL)의 플로팅 게이트(FG)에 저장된 전자는 다양한 원인들에 의해 화살표 방향으로 누설(leakage)될 수 있고, 이에 따라, 메모리 셀(MCEL)의 문턱 전압이 변경될 수 있다. 예를 들어, 플로팅 게이트(FG)에 저장된 전자는 메모리 셀의 마모에 의해 누설될 수 있다. 구체적으로, 메모리 셀(MCEL)에 대한 프로그램, 소거 또는 독출과 같은 액세스 동작을 반복하면 채널 영역과 플로팅 게이트(FG) 사이의 절연막은 마모될 수 있고, 이에 따라, 플로팅 게이트(FG)에 저장된 전자가 누설될 수 있다. 또 다른 예로, 플로팅 게이트(FG)에 저장된 전자는 고온 스트레스 또는 프로그램/독출 시의 온도 차이 등에 의해 누설될 수도 있다.
도 6a는 도 5의 메모리 셀(MCEL)이 싱글 레벨 셀인 경우, 메모리 장치(20)의 문턱 전압에 따른 목표 산포를 나타내는 그래프이다.
도 6a를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 메모리 셀(MCEL)이 1 비트로 프로그램되는 싱글 레벨 셀인 경우, 메모리 셀(MCEL)은 소거 상태(E) 및 프로그램 상태(P) 중 하나를 가질 수 있다. 이때, 독출 전압(Vr)은 소거 상태(E)를 가지는 메모리 셀(MCEL)의 산포와 프로그램 상태(P)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다.
예를 들어, 독출 전압(Vr)이 메모리 셀(MCEL)의 컨트롤 게이트(CG)에 인가되면, 소거 상태(E)의 메모리 셀(MCEL)은 턴온되는 반면, 프로그램 상태(P)의 메모리 셀(MCEL)은 턴오프된다. 메모리 셀(MCEL)이 턴온되면 메모리 셀(MCEL)을 통해 전류가 흐르고, 메모리 셀(MCEL)이 턴오프되면 메모리 셀(MCEL)을 통해 전류가 흐르지 않는다. 따라서, 메모리 셀(MCEL)의 턴온 여부에 따라 메모리 셀(MCEL)에 저장된 데이터가 구별될 수 있다.
일 실시예에서, 독출 전압(Vr)을 인가하여 메모리 셀(MCEL)이 턴온되면 데이터가 '1'이 저장되고, 메모리 셀(MCEL)이 턴오프되면 데이터가 '0'이 저장된 것으로 구별될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 다른 실시예에서, 독출 전압(Vr)을 인가하여 메모리 셀(MCEL)이 턴온되면 데이터가 '0'이 저장되고, 메모리 셀(MCEL)이 턴오프되면 데이터가 '1'이 저장된 것으로 구별할 수도 있다. 이와 같이, 데이터의 논리 레벨의 할당은 실시예에 따라 변경될 수 있다.
도 6b는 도 5의 메모리 셀이 싱글(single) 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 실제 초기 산포를 나타내는 그래프이다.
도 6b를 참조하면, 소거 상태(E) 또는 프로그램 상태(P)로 각각 프로그램된 메모리 셀들(MCEL)은 외부 자극 등에 의해 도 6b에 도시된 바와 같이 변경된 초기 분포를 가질 수 있다. 도 6b에서, 돗트(dot)로 표시된 부분에 속하는 메모리 셀들(MCEL)은 독출 에러가 발생할 수 있고, 이에 따라, 메모리 장치(20)의 신뢰성이 저하될 수 있다.
예를 들어, 독출 전압(Vr)을 이용하여 메모리 장치(20)에 대한 독출 동작을 수행할 경우, 돗트(dot)로 표시된 부분에 속하는 메모리 셀들(MCEL)은 프로그램 상태(P)로 프로그램 되었음에도 불구하고, 문턱 전압(Vth)의 감소에 의해 소거 상태(E)로 판단될 수 있다. 이에 따라, 독출 동작에 에러가 발생되어 메모리 장치(20)의 신뢰성이 저하될 수 있다.
도 6b에서, 제1기준 전압(V1)을 소거 상태(E)에 대한 문턱 전압 분포의 중간 값으로 결정하고, 제2기준 전압(V2)을 프로그램 상태(P)에 대한 문턱 전압 분포의 중간 값으로 결정한 예를 보여준다.
도 6b를 참조하면, 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 소거 상태(E)에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 그리고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 프로그램 상태(P)에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 이에 따라서, 초기 상태의 산포의 경우에 X1과 X2는 같거나 비슷한 값이 될 것이다.
도 6c는 도 6b의 그래프에서 리드 디스터번스에 의하여 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
리드 디스터번스 현상이 발생되면 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동된다. 즉, 소거 상태(E)의 메모리 셀들에 대한 문턱 전압이 증가하게 된다. 이에 비하여, 프로그램 상태(P)에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않는다.
도 6c를 참조하면, 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 프로그램 상태(P)의 문턱 전압 산포에는 변화가 발생되지 않는다. 이에 따라서, 초기 산포에 비하여 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 감소되고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 변화가 거의 없게 된다.
도 6d는 도 6b의 그래프에서 챠지 손실에 의하여 프로그램 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
챠지 손실 현상이 발생되면, 프로그램 상태(P)의 문턱 전압 산포는 낮은 전압 쪽으로 이동된다. 즉, 프로그램 상태(P)의 메모리 셀들에 대한 문턱 전압이 감소하게 된다. 이에 비하여, 소거 상태(E)에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않는다.
도 6d를 참조하면, 프로그램 상태(P)의 문턱 전압 산포는 낮은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 소거 상태(E)의 문턱 전압 산포에는 변화가 발생되지 않는다. 이에 따라서, 초기 산포에 비하여 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 변화가 거의 없고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 감소하게 된다.
도 7a는 도 5의 메모리 셀(MCEL)이 2 비트 멀티 레벨 셀인 경우, 메모리 장치(20)의 문턱 전압에 따른 목표 산포를 나타내는 그래프이다.
도 7a를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 메모리 셀(MCEL)이 2 비트로 프로그램되는 2 비트 멀티 레벨 셀인 경우에, 메모리 셀(MCEL)은 소거 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3) 중 하나를 가질 수 있다. 싱글 레벨 셀에 비하여 멀티 레벨 셀의 경우, 문턱 전압(Vth) 분포들 사이의 간격이 좁으므로, 멀티 레벨 셀에서는 문턱 전압(Vth)의 작은 변화에 의해 중대한 문제가 야기될 수 있다.
제1 독출 전압(Vr1)은 소거 상태(E)를 가지는 메모리 셀(MCEL)의 산포와 제1 프로그램 상태(P1)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제2 독출 전압(Vr2)은 제1 프로그램 상태(P1)를 가지는 메모리 셀(MCEL)의 산포와 제2 프로그램 상태(P2)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제3 독출 전압(Vr3)은 제2 프로그램 상태(P2)를 가지는 메모리 셀(MCEL)의 산포와 제3 프로그램 상태(P3)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다.
도 7b는 도 5의 메모리 셀이 2 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 실제 초기 산포를 나타내는 그래프이다.
도 7b를 참조하면, 소거 상태(E), 제1 내지 제3 프로그램 상태(P1, P2, P3)로 각각 프로그램된 메모리 셀들(MCEL)은 외부 자극 등에 의해 도 7b에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 7b에서, 돗트(dot)로 표시된 부분에 속하는 메모리 셀들(MCEL)은 독출 에러가 발생할 수 있고, 이에 따라, 메모리 장치(20)의 신뢰성이 저하될 수 있다.
도 7b에서, 제1기준 전압(V1)을 소거 상태(E)에 대한 문턱 전압 분포의 중간 값으로 결정하고, 제2기준 전압(V2)을 제3 프로그램 상태(P3)에 대한 문턱 전압 분포의 중간 값으로 결정한 예를 보여준다.
도 7b를 참조하면, 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 소거 상태(E)에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 그리고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 제3 프로그램 상태(P3)에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 이에 따라서, 초기 상태의 산포의 경우에 X1과 X2는 같거나 비슷한 값이 될 것이다.
도 7c는 도 7b의 그래프에서 리드 디스터번스에 의하여 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
리드 디스터번스 현상이 발생되면 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동된다. 즉, 소거 상태(E)의 메모리 셀들에 대한 문턱 전압이 증가하게 된다. 이에 비하여, 제1 내지 제3 프로그램 상태(P1, P2, P3)들에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않는다.
도 7c를 참조하면, 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 제3 프로그램 상태(P3)의 문턱 전압 산포에는 변화가 발생되지 않는다. 이에 따라서, 초기 산포에 비하여 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 감소되고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 변화가 거의 없게 된다.
도 7d는 도 7b의 그래프에서 챠지 손실에 의하여 제1 내지 제3 프로그램 상태(P1, P2, P3)들의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
챠지 손실 현상이 발생되면, 제1 내지 제3 프로그램 상태(P1, P2, P3)들의 문턱 전압 산포는 낮은 전압 쪽으로 이동된다. 즉, 제1 내지 제3 프로그램 상태(P1, P2, P3)들의 메모리 셀들에 대한 문턱 전압이 감소하게 된다. 이에 비하여, 소거 상태(E)에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않는다. 참고적으로, 챠지 손실 현상이 발생되면, 제3 프로그램 상태(P3)의 문턱 전압 산포 이동량이 제1 내지 제2 프로그램 상태(P1, P2)들의 문턱 전압 산포 이동량보다 크게 발생된다.
도 7d를 참조하면, 제3 프로그램 상태(P3)의 문턱 전압 산포는 낮은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 소거 상태(E)의 문턱 전압 산포에는 변화가 발생되지 않는다. 이에 따라서, 초기 산포에 비하여 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 변화가 거의 없고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 감소하게 된다.
도 8a는 도 5의 메모리 셀(MCEL)이 3 비트 멀티 레벨 셀인 경우, 메모리 장치(20)의 문턱 전압에 따른 목표 산포를 나타내는 그래프이다.
도 8a를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들(MCEL)의 개수를 나타낸다. 메모리 셀(MCEL)이 3 비트로 프로그램되는 3 비트 멀티 레벨 셀인 경우에, 메모리 셀(MCEL)은 소거 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 및 제7 프로그램 상태(P7) 중 하나를 가질 수 있다. 싱글 레벨 셀에 비하여 멀티 레벨 셀의 경우, 문턱 전압(Vth) 분포들 사이의 간격이 좁으므로, 멀티 레벨 셀에서는 문턱 전압(Vth)의 작은 변화에 의해 중대한 문제가 야기될 수 있다.
제1 독출 전압(Vr1)은 소거 상태(E)를 가지는 메모리 셀(MCEL)의 산포와 제1 프로그램 상태(P1)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제2 독출 전압(Vr2)은 제1 프로그램 상태(P1)를 가지는 메모리 셀(MCEL)의 산포와 제2 프로그램 상태(P2)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제3 독출 전압(Vr3)은 제2 프로그램 상태(P2)를 가지는 메모리 셀(MCEL)의 산포와 제3 프로그램 상태(P3)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제4 독출 전압(Vr4)은 제3 프로그램 상태(P3)를 가지는 메모리 셀(MCEL)의 산포와 제4 프로그램 상태(P4)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제5 독출 전압(Vr5)은 제4 프로그램 상태(P4)를 가지는 메모리 셀(MCEL)의 산포와 제5 프로그램 상태(P5)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제6 독출 전압(Vr6)은 제5 프로그램 상태(P5)를 가지는 메모리 셀(MCEL)의 산포와 제6 프로그램 상태(P6)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다. 제7 독출 전압(Vr7)은 제6 프로그램 상태(P6)를 가지는 메모리 셀(MCEL)의 산포와 제7 프로그램 상태(P7)를 가지는 메모리 셀(MCEL)의 산포 사이의 전압 레벨을 가진다.
도 8b는 도 5의 메모리 셀이 3 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 실제 초기 산포를 나타내는 그래프이다.
도 8b를 참조하면, 소거 상태(E), 제1 내지 제7 프로그램 상태(P1 내지 P7)로 각각 프로그램된 메모리 셀들(MCEL)은 외부 자극 등에 의해 도 8b에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 8b에서, 돗트(dot)로 표시된 부분에 속하는 메모리 셀들(MCEL)은 독출 에러가 발생할 수 있고, 이에 따라, 메모리 장치(20)의 신뢰성이 저하될 수 있다.
도 8b에서, 제1기준 전압(V1)을 소거 상태(E)에 대한 문턱 전압 분포의 중간 값으로 결정하고, 제2기준 전압(V2)을 제7 프로그램 상태(P7)에 대한 문턱 전압 분포의 중간 값으로 결정한 예를 보여준다.
도 8b를 참조하면, 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 소거 상태(E)에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 그리고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 제7 프로그램 상태(P7)에 속하는 전체 메모리 셀의 개수의 1/2이 될 것이다. 이에 따라서, 초기 상태의 산포의 경우에 X1과 X2는 같거나 비슷한 값이 될 것이다.
도 8c는 도 8b의 그래프에서 리드 디스터번스에 의하여 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
리드 디스터번스 현상이 발생되면 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동된다. 즉, 소거 상태(E)의 메모리 셀들에 대한 문턱 전압이 증가하게 된다. 이에 비하여, 제1 내지 제7 프로그램 상태(P1 내지 P7)들에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않는다.
도 8c를 참조하면, 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 제7 프로그램 상태(P7)의 문턱 전압 산포에는 변화가 발생되지 않는다. 이에 따라서, 초기 산포에 비하여 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 감소되고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 변화가 거의 없게 된다.
도 8d는 도 8b의 그래프에서 챠지 손실에 의하여 제1 내지 제7 프로그램 상태(P1 내지 P7)들의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
챠지 손실 현상이 발생되면, 제1 내지 제7 프로그램 상태(P1 내지 P7)들의 문턱 전압 산포는 낮은 전압 쪽으로 이동된다. 즉, 제1 내지 제7 프로그램 상태(P1 내지 P7)들의 메모리 셀들에 대한 문턱 전압이 감소하게 된다. 이에 비하여, 소거 상태(E)에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않는다. 참고적으로, 챠지 손실 현상이 발생되면, 제7 프로그램 상태(P3)의 문턱 전압 산포 이동량이 제1 내지 제6 프로그램 상태(P1 내지 P6)들의 문턱 전압 산포 이동량보다 크게 발생된다.
도 7d를 참조하면, 제7 프로그램 상태(P7)의 문턱 전압 산포는 낮은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 소거 상태(E)의 문턱 전압 산포에는 변화가 발생되지 않는다. 이에 따라서, 초기 산포에 비하여 제1기준 전압(V1)을 기준으로 아래에 속하는 메모리 셀의 개수(X1)는 변화가 거의 없고, 제2기준 전압(V2)을 기준으로 위에 속하는 메모리 셀의 개수(X2)는 감소하게 된다.
이와 같이, 메모리 장치(20)의 메모리 셀들의 문턱 전압 산포는 리드 디스터번스 또는 챠시 손실 등과 같은 원인에 의하여 변할 수 있다. 메모리 셀들의 문턱 전압 산포가 변하게 되면 데이터 독출 동작 시에 에러가 발생될 가능성이 높아진다. 또한, 문턱 전압 산포의 변화량이 커지면 에러 정정 불능 상태가 발생될 수도 있다.
이에 따라서, 본 발명의 실시 예에서는 에러 정정 불능 상태가 발생되는 경우에 에러 정정 불능 상태가 발생된 메모리 장치(20)의 저장 영역에 대한 열화 상태의 타입을 판정하는 방법 및 장치를 제안하였다. 그리고, 판정된 열화 상태의 타입에 상응하는 신뢰성 회복 프로세스를 메모리 시스템(100)에서 수행하는 방안을 제안하였다.
이상에서는 도 6a ~ 6d, 7a ~ 7d 및 8a ~ 8d를 참조하여, 메모리 셀(MCEL)이 싱글 레벨 셀, 2 비트 멀티 레벨 셀 또는 3 비트 멀티 레벨 셀인 경우를 설명하였다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 도 5의 메모리 셀(MCEL)은 4 비트 이상으로 프로그램되는 멀티 레벨 셀일 수 있다. 또한, 도 1 및 도 2의 메모리 장치(20)는 서로 다른 개수의 비트로 프로그램되는 메모리 셀(MCEL)들을 포함할 수도 있다.
그러면, 도 1에 도시된 메모리 상태 판정부(12)의 동작을 상세히 설명하기로 한다. 도 9는 도 1에 도시된 메모리 상태 판정부(12)의 일 실시 예에 따른 세부 구성도이다.
도 9에 도시된 바와 같이, 본 발명의 일실시 예에 따른 메모리 상태 판정부(12)는 제1카운터(12-1A), 제2카운터(12-1B), 연산부(12-2) 및 열화 타입 결정부(12-3)를 포함할 수 있다.
도 1을 참조하면, 일 예로서 메모리 컨트롤러(10)는 독출 동작 수행 시에 에러 정정 불능 상태가 발생되는 경우에, 메모리 상태 판정 모드를 수행하도록 메모리 시스템(100)을 제어할 수 있다. 다른 예로서, 메모리 컨트롤러(10)는 메모리 시스템(100)이 아이들(idle) 상태에 있을 때 에러 정정 불능 상태가 발생되었던 메모리 장치(100)의 저장 영역에 대한 메모리 상태 판정 모드를 수행하도록 메모리 시스템(100)을 제어할 수 있다.
독출 전압 제어부(11)는 메모리 상태 판정 모드에서 메모리 장치(20)의 열화 상태를 판정하는데 필요한 제1기준 전압(V1) 및 제2기준 전압(V2)을 각각 순차적으로 독출 전압으로 적용하여 메모리 장치(20)에 인가한다.
메모리 컨트롤러(10)는 열화 상태를 판정할 저장 영역에 대응되는 메모리 장치(20)의 워드 라인에 제1기준 전압(V1)을 인가하여 제1독출 동작을 수행하도록 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 메모리 장치(20)에 제공한다.
이에 따라서, 제1독출 동작에 따라서 메모리 장치(20)의 페이지 버퍼(25)에는 열화 상태를 판정할 저장 영역으로 선택된 워드 라인에 접속된 메모리 셀들로부터 독출된 데이터가 저장된다.
그러면, 메모리 상태 판정부(12)의 제1카운터(12-1A)는 메모리 장치(20)의 페이지 버퍼(25)에 저장된 데이터에서 제1논리 값을 갖는 비트의 개수를 카운트한다. 제1카운터(12-1A)에서 카운트된 결과가 제1정보(X1)에 해당된다. 예로서, 제1독출 동작에서 선택된 워드 라인에 접속된 메모리 셀들 중에서 제1기준 전압(V1)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀에서 독출된 비트 값을 제1논리 값으로 결정할 수 있다.
예로서, 독출 동작 시에 턴온(turn on)되는 메모리 셀의 데이터를 '1'로 결정하면, 제1논리 값은 '1'이 될 수 있다. 다른 예로서, 독출 동작 시에 턴온(turn on)되는 메모리 셀의 데이터를 '0'으로 결정하면, 제1논리 값은 '0'이 될 수 있다.
다음으로, 메모리 컨트롤러(10)는 열화 상태를 판정할 저장 영역에 대응되는 메모리 장치(20)의 워드 라인에 제2기준 전압(V2)을 인가하여 제2독출 동작을 수행하도록 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 메모리 장치(20)에 제공한다.
이에 따라서, 제2독출 동작에 따라서 메모리 장치(20)의 페이지 버퍼(25)에는 열화 상태를 판정할 저장 영역으로 선택된 워드 라인에 접속된 메모리 셀들로부터 독출된 데이터가 저장된다.
그러면, 메모리 상태 판정부(12)의 제2카운터(12-1B)는 메모리 장치(20)의 페이지 버퍼(25)에 저장된 데이터에서 제2논리 값을 갖는 비트의 개수를 카운트한다. 제2카운터(12-1B)에서 카운트된 결과가 제2정보(X2)에 해당된다. 예로서, 제2독출 동작에서 선택된 워드 라인에 접속된 메모리 셀들 중에서 제2기준 전압(V1)보다 높은 문턱 전압을 갖는 메모리 셀에서 독출된 비트 값을 제2논리 값으로 결정할 수 있다.
예로서, 독출 동작 시에 턴오프(turn off)되는 메모리 셀의 데이터를 '0'으로 결정하면, 제2논리 값은 '0'이 될 수 있다. 다른 예로서, 독출 동작 시에 턴오프(turn off)되는 메모리 셀의 데이터를 '1'로 결정하면, 제2논리 값은 '1'이 될 수 있다.
제1독출 동작 및 제2독출 동작을 수행하고 나서, 연산부(12-2)는 제1카운터(12-1A)에서 카운트된 제1정보(X1) 및 제2카운터(12-1B)에서 카운트된 제2정보(X2)를 이용하여 메모리 장치(20)의 열화 상태의 타입을 구분하도록 초기 설정된 방정식을 계산한다. 예로서, 초기 설정된 방정식은 실험적으로 측정된 제1정보(X1) 및 제2정보(X2)의 분포도에서 서포트 벡터 머신(Support Vector Machine) 알고리즘에 기초하여 열화 상태들의 타입을 구분하도록 결정될 수 있다.
예로서, 메모리 시스템(100)에서 실험적으로 여러 상황에 따라서 측정한 제1,2정보(X1, X2)의 분포를 도 20에 도시하였다.
도 20을 참조하면, 리드 디스터번스가 발생되지 않은 초기 산포는 좌표 (8000, 8000) 부근에 집중되어 있고, 리드 디스터번스(Read disturb)가 10K 발생된 초기 산포는 좌표 (4000, 9500) 부근에 집중되어 있고, 리드 디스터번스(Read disturb)가 50K 발생된 초기 산포는 좌표 (700, 9000) 부근에 집중되어 있다는 것을 알 수 있다. 그리고, 리드 디스터번스가 발생되지 않고 P/E 사이클 회수 3K 및 고온 초전도(HTS; High temperature superconducting) 상태의 1년 경과한 조건에서의 산포는 좌표(4000, 0) 부근에 집중되고, 리드 디스터번스(Read disturb)가 10K 발생되고 P/E 사이클 회수 3K 및 고온 초전도(HTS) 상태의 1년 경과한 조건에서의 산포는 좌표 (700, 0) 부근에 집중되어 있다는 것을 알 수 있다.
이에 따라서, 리드 디스터번스가 발생되면 X1의 값이 감소되는 방향으로 산포가 이동되고, 챠지 손실이 발생되면 X2의 값이 감소되는 방향으로 산포가 이동된다는 사실을 알 수 있다.
이와 같은, 리드 디스터번스 또는/및 챠지 손실을 발생시켜 실험적으로 측정한 (X1, X2)의 산포의 특성을 이용하여 리드 디스터번스와 챠지 손실을 구분하는 방정식을 구해낼 수 있다. 예로서, 공지된 서포트 벡터 머신(Support Vector Machine) 알고리즘을 이용하여 도 20에 측정된 산포에서 리드 디스터번스와 챠지 손실을 구분하는 방정식을 찾아낼 수 있다.
도 21은 도 20에 도시된 제1,2정보(X1, X2)의 산포도에서 열화 상태 타입을 구분하는 방정식을 결정하는 방법을 설명하기 위한 그래프이다.
도 21을 참조하면, 서포트 벡터 머신(Support Vector Machine) 알고리즘을 적용하여 리드 디스터번스와 챠지 손실 상태를 구분하는 초평면(Hyperplane)의 직선 방정식을 구할 수 있다. 도 21에서 서포트 벡터들(Support vectors)은 여러 가지 조건의 분포들에서 초평면(Hyperplane)에 가장 가까운 (X1, X2)값들로 결정될 수 있다.
예로서, 서포트 벡터 머신(Support Vector Machine) 알고리즘을 이용한 열화 상태를 구분하는 방정식 S는 수학식 1과 같이 표현할 수 있다.
Figure 112012084470549-pat00001
여기에서, w1, w2 및 b는 상수임
수학식 1에서 계수 w1, w2와 상수 b는 도 21의 초평면의 직선 방정식을 구하면 알아낼 수 있다. 이와 같이 구해낸 계수 w1, w2와 상수 b는 메모리 컨트롤러(10) 또는 메모리 장치(20)에 저장된다.
서포트 벡터 머신 알고리즘을 적용할 때 커널 함수(kernel function)를 다른 함수로 대체함으로써 직선뿐만 아니라, 곡선이나 원의 형태로도 열화 상태 타입을 구분하는 방정식을 얻을 수 있다.
다시 도 9를 참조하면, 예로서 연산부(12-2)는 실험적인 측정값에 의하여 구해낸 계수 w1, w2와 상수 b를 적용한 수학식 1에 제1카운터(12-1A)에서 카운트된 제1정보(X1) 및 제2카운터(12-1B)에서 카운트된 제2정보(X2)를 대입하여 방정식 S를 연산할 수 있다.
열화 타입 결정부(12-3)는 연산부(12-2)에서 연산된 방정식 S 값에 기초하여 메모리 장치(20)에서 선택된 워드 라인 또는 블록에 대한 열화 상태의 타입을 결정한다. 예로서, 열화 타입 결정부(12-3)는 연산된 방정식 S 값의 부호에 따라서 열화 상태의 타입을 결정할 수 있다. 구체적으로, 연산된 방정식 S 값이 양(+)인 경우에 리드 디스터번스 타입의 열화 상태로 판정하고, 연산된 방정식 S 값이 0 또는 음(-)인 경우에 챠지 손실 타입의 열화 상태로 판정할 수 있다.
열화 타입 결정부(12-3)는 판정된 열화 상태의 타입에 대한 정보(INF_MS)를 생성시킬 수 있다.
메모리 컨트롤러(10)는 열화 타입 결정부(12-3)에서 생성된 정보(INF_MS)에 상응하는 신뢰성 회복 프로세스를 수행하도록 메모리 시스템(100)을 제어할 수 있다.
예로서, 열화 타입 결정부(12-3)에서의 판정 결과 리드 디스터번스 타입의 정보(INF_MS)가 생성된 경우에 메모리 컨트롤러(10)는 메모리 상태 판정 모드를 수행한 블록에 저장된 데이터를 다른 블록으로 옮기도록 메모리 시스템(100)을 제어할 수 있다.
예로서, 열화 타입 결정부(12-3)에서의 판정 결과 챠지 손실 타입의 정보(INF_MS)가 생성된 경우에 메모리 컨트롤러(10)는 메모리 상태 판정 모드를 수행한 저장 영역에 대응되는 워드 라인에 초기 설정된 프로그램 스트레스 전압을 인가하여 추가 프로그램을 수행하도록 메모리 시스템(100)을 제어할 수 있다. 예로서, 초기 설정된 프로그램 스트레스 전압 값은 챠지 손실에 따른 프로그램 상태들의 문턱 전압 감소분만큼 문턱 전압이 증가되도록 실험적으로 결정할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 메모리 시스템(100')을 개략적으로 나타내는 블록도이다.
도 10을 참조하면, 메모리 시스템(100')은 메모리 컨트롤러(10') 및 메모리 장치(20')를 포함할 수 있다. 본 실시예에 따른 메모리 시스템(100')에 포함된 구성 요소들 중 일부는 도 1의 메모리 시스템(100)에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 번호로 표시되며, 도 1의 메모리 시스템(100)과 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 이하에서는, 도 1의 메모리 시스템(100)과 본 실시예에 따른 메모리 시스템(100')의 차이점을 중심으로 상술하기로 한다.
메모리 장치(20')는 메모리 셀 어레이(21) 및 메모리 상태 판정부(26)를 포함할 수 있다. 메모리 셀 어레이(21)는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 메모리 상태 판정부(26)는 메모리 장치(20')의 메모리 셀들의 문턱 전압 초기 산포를 기반으로 소거 상태의 이동 또는 프로그램 상태의 이동에 따른 메모리 장치(20')의 열화 상태를 판정할 수 있다. 메모리 상태 판정부(26)는 도 1에 도시된 메모리 컨트롤러(10)에 포함된 메모리 상태 판정부(12)와 실질적으로 동일한 구성 요소에 해당된다.
메모리 컨트롤러(10')는 독출 전압 제어부(11)를 포함할 수 있다. 독출 전압 제어부(11)는 도 1에서 이미 설명하였으므로 중복된 설명은 피하기로 한다.
도 10을 참조하면, 메모리 시스템(100')에서 메모리 장치(20')에 포함된 메모리 상태 판정부(26)에서 생성되는 열화 상태의 타입에 대한 정보(INF_MS)는 메모리 컨트롤러(10')로 전달된다.
그러면, 메모리 컨트롤러(10')는 메모리 장치(20')로부터 전달된 열화 상태의 타입에 대한 정보(INF_MS)에 상응하는 신뢰성 회복 프로세스를 수행하도록 메모리 시스템(100)을 제어할 수 있다.
도 11은 도 10의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 11을 참조하면, 메모리 장치(20')는 메모리 셀 어레이(21), 제어 로직(22), 전압 발생기(23), 로우 디코더(24), 페이지 버퍼(25) 및 메모리 상태 판정부(26)를 포함할 수 있다. 본 발명의 실시 예에 따른 메모리 장치(20')에 포함된 구성 요소들 중 일부는 도 2의 메모리 장치(20)에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 번호로 표시되며, 도 2의 메모리 장치(20)와 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 이하에서는, 도 2의 메모리 장치(20)와 본 실시 예에 따른 메모리 장치(20')의 차이점을 중심으로 상술하기로 한다.
예로서, 메모리 상태 판정부(26)는 메모리 상태 판정 모드에서 제1기준 전압(V1)을 적용한 제1독출 동작을 수행한 후의 메모리 장치(20')의 페이지 버퍼(25)에 저장된 제1논리 값을 갖는 비트의 개수를 카운트하여 제1정보(X1)를 산출할 수 있다. 그리고, 메모리 상태 판정부(26)는 메모리 상태 판정 모드에서 제2기준 전압(V2)을 적용한 제2독출 동작을 수행한 후의 메모리 장치(20')의 페이지 버퍼(25)에 저장된 제2논리 값을 갖는 비트의 개수를 카운트하여 제2정보(X2)를 산출할 수 있다. 그리고 나서, 메모리 상태 판정부(26)는 제1정보(X1) 및 제2정보(X2)를 초기 설정된 방정식에 적용하여 연산 처리된 결과에 기초하여 메모리 장치(20)의 타깃 저장 영역에 대한 열화 상태의 타입을 결정할 수 있다.
메모리 상태 판정부(26)에서 열화 상태의 타입을 결정하는 동작은 도 1 ~ 도 9에서 상세히 설명하였으므로 중복적인 설명은 피하기로 한다.
도 12는 본 발명의 다른 실시 예에 따른 메모리 시스템(1000)을 나타내는 블록 구성도이다.
도 12를 참조하면, 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 메모리 장치(1200)를 포함한다.
메모리 장치(1200)는 비휘발성 반도체 메모리 장치로 구현될 수 있으며, 구체적으로 플래시 메모리, PRAM(Phase change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 등으로 구현될 수 있다. 메모리 장치(1200)는 도 1에 도시된 메모리 장치(20)와 구성 요소가 실질적으로 동일하므로 중복된 설명은 피하기로 한다.
예로서, 메모리 장치(1200)를 플래시 메모리 등과 같은 비휘발성 반도체 메모리로 구현하는 경우에 메모리 시스템(1000)은 SSD(Solid State Drive)가 될 수 있다. 메모리 컨트롤러(1100)는 호스트로부터 수신되는 커맨드에 응답하여 메모리 장치(1200)에서의 소거, 쓰기 또는 독출 동작을 제어한다. 또한, 메모리 컨트롤러(1100)는 메모리 장치(1200)에 적용되는 독출 전압을 제어할 수 있다.
메모리 컨트롤러(1100)는 RAM(Random Access Memory; 1110), CPU(Central Processing Unit; 1120), 독출 전압 제어부(1130), ECC(Error Correction Code) 처리부(1140), 호스트 인터페이스(1150), 메모리 인터페이스(1160), 랜더마이저(Randomizer; 1170), 메모리 상태 판정부(1180) 및 버스(1190)를 포함한다.
버스(1190)는 메모리 컨트롤러(1100)의 구성 수단들 간의 데이터를 전송하는 전송로를 의미한다.
CPU(1120)는 메모리 시스템(1000)의 전반적인 동작을 제어한다. 예로서, 호스트로부터 수신되는 커맨드를 해독하고, 해독된 결과에 따른 동작을 수행하도록 메모리 시스템(1000)을 제어한다.
CPU(1120)는 독출 동작 시에는 독출 커맨드 및 어드레스를 메모리 장치(122)에 제공하고, 라이트 동작 시에는 라이트 커맨드, 어드레스, 그리고 데이터를 제공한다. 그리고, CPU(1120)는 논리적 어드레스를 물리적 어드레스로 변환시키는 처리를 수행할 수 있다.
CPU(1120)는 본 발명에서 제안하는 메모리 장치의 열화 상태 판정 방법을 실행시키기 위한 동작을 수행하도록 메모리 시스템(1000)을 제어한다. 예로서, CPU(1120)는 도 13 ~ 도 19에 도시된 흐름도에 따라 메모리 장치의 열화 상태 판정 방법, 신뢰성 회복 방법 및 데이터 독출 방법을 수행하도록 메모리 시스템(1000)을 제어할 수 있다.
RAM(1110)에는 호스트로부터 전송된 데이터가 임시로 저장되거나 메모리 장치(1200)에서 독출된 데이터가 임시로 저장된다. 또한, RAM(1110)에는 메모리 장치(1200)로부터 독출된 메모리 시스템 제어에 필요한 데이터도 저장된다. 예로서, 메모리 시스템 제어에 필요한 데이터는 메타 데이터가 포함될 수 있다. 또한, 메모리 장치의 열화 상태 판정 동작에 이용되는 제1,2기준 전압(V1, V2) 및 수학식 1의 열화 상태를 구분하는 방정식 S에 대한 계수 w1, w2 및 b는 상수에 대한 정보도 포함될 수 있다. RAM(1110)은 DRAM, SRAM 등으로 구현될 수 있다.
참고적으로, 메타 데이터(meta data)는 메모리 시스템(1000)을 관리하기 위한 정보가 포함될 수 있다. 관리 정보인 메타 데이터에는 논리적 어드레스(Logical Address)를 메모리 장치(1200)의 물리적 어드레스(Physical Address)로 변환시키는데 이용되는 매핑(mapping) 정보가 포함될 수 있다.
호스트 인터페이스(1150)는 메모리 시스템(1000)과 접속되는 호스트와의 데이터 교환 프로토콜을 구비하고 메모리 시스템(1000)과 호스트를 상호 연결한다. 호스트 인터페이스(1150)는 ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Unix File System) 인터페이스로 구현할 수 있다. 그러나 이는 예시일 뿐 이에 제한되는 것은 아니다. 세부적으로, 호스트 인터페이스(1150)는 CPU(1120)의 제어에 따라서 호스트와 커맨드, 어드레스 및 데이터를 교환할 수 있다.
메모리 인터페이스(1160)는 메모리 장치(1200)와 전기적으로 연결되어 있다. 메모리 인터페이스(1160)는 CPU(1120)의 제어에 따라서 메모리 장치(1200)와 커맨드, 어드레스 및 데이터를 교환한다. 메모리 인터페이스(1160)는 NAND 플래시 메모리 또는 NOR 플래시 메모리를 지원하도록 구성될 수 있다. 메모리 인터페이스(1160)는 복수 개의 채널들을 통하여 소프트웨어 및 하드웨어 인터리브 동작들이 선택적으로 수행되도록 구성될 수도 있다.
독출 전압 제어부(1130)는 도 1에 도시된 독출 전압 제어부(11)와 실질적으로 동일한 구성 및 동작을 수행하는 구성 요소이므로 중복된 설명은 피하기로 한다.
또한, 메모리 상태 판정부(1180)는 도 1에 도시된 메모리 상태 판정부(12)와 실질적으로 동일한 구성 및 동작을 수행하는 구성 요소이므로 중복된 설명은 피하기로 한다.
랜더마이저(1170)는 메모리 장치(1200)에 저장하고자 하는 데이터를 랜덤화시키는 역할을 한다. 예로서, 시드(seed)로부터 시퀀스(sequence)를 생성시키고, 생성된 시퀀스를 이용하여 프로그램하고자 하는 데이터를 랜덤화(randomize)할 수 있다. 세부적으로, 시드로부터 생성된 시퀀스와 프로그램하고자 하는 데이터를 배타적 논리합(XOR)하여 랜덤화할 수 있다. 이와 같이, 프로그램하고자 하는 데이터를 랜덤화 처리하여 메모리 장치(1200)에 저장하면 메모리 장치의 페이지(page) 방향뿐만 아니라 스트링(string) 방향으로 랜덤성이 증가된다. 이에 따라서, 메모리 장치(1200)의 소거 상태 및 각 프로그램들에 속하는 메모리 셀들의 개수는 거의 균등하게 될 수 있다.
ECC 처리부(1140)는 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 ECC 인코딩 처리 및 ECC 디코딩 처리를 수행할 수 있다.
예로서, 라이트(write) 동작 시에 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 랜더마이저(1170)에서 처리된 프로그램할 데이터에 대한 에러 정정 코드(Error Correction Code)를 생성시킬 수 있다. 그리고, 리드(read) 동작 시에는 데이터와 함께 리드된 에러 정정 코드(ECC)를 이용하여 수신된 데이터에 대한 에러 검출 및 정정 처리를 수행한다.
ECC 처리부(1140)의 단위 사이즈 당 에러 정정 능력은 ECC 사이즈에 따라 결정될 수 있다. 예로서, 1024 byte 데이터의 비트 에러를 16bit 이하까지 처리하는 ECC 알고리즘에서 4K Byte 페이지 당 112 바이트의 ECC 사이즈가 필요하다면, 1024 byte 데이터의 비트 에러를 32bit 이하까지 처리하는 ECC 알고리즘에서는 4K Byte 페이지 당 224 Byte의 ECC 사이즈가 필요하게 된다.
ECC 처리부(1140)는 데이터 리드 동작에서의 에러 정정 능력을 초과하는 에러가 검출되면 에러 정정 처리를 할 수 없게 되며, 이 경우에 에러 정정 불능 상태의 발생을 알리는 신호를 CPU(1120)으로 출력한다.
그러면, CPU(1120)는 메모리 상태 판정 모드를 수행하도록 메모리 시스템(1000)을 제어할 수 있다. 메모리 시스템(1000)에서의 메모리 상태 판정 모드를 수행하는 동작에 대한 설명은 도 1에서 이미 설명하였으므로 중복된 설명은 피하기로 한다.
도 12에 도시된 메모리 시스템(1000)에서는 메모리 상태 판정부(1180)를 메모리 컨트롤러(1000)에 배치하였으나, 메모리 시스템(1000)의 또 다른 실시 예에서는 메모리 상태 판정부(1180)를 메모리 장치(1200)에 배치할 수도 있다.
CPU(1120)의 제어 동작에 따라서 메모리 시스템(1000)에서 수행되는 메모리 장치의 열화 상태 판정 방법, 신뢰성 회복 방법 및 데이터 독출 방법에 대해서는 아래의 도 13 ~ 도 19에서 상세히 설명되어질 것이다.
그러면, 도 13의 흐름도를 참조하여 메모리 시스템(1000)에서 수행되는 본 발명의 실시 예에 따른 메모리 장치의 열화 상태 판정 방법을 설명하기로 한다.
CPU(1120)는 제1기준 전압(V1)을 적용한 독출 동작에 따른 제1정보(X1)를 산출하도록 메모리 시스템(1000)을 제어한다(S110). 예로서, CPU(1120)는 제1기준 전압(V1)을 독출 전압으로 적용하여 메모리 장치(1200)의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제1논리 값을 갖는 비트의 개수인 제1정보(X1)를 산출하도록 시스템(1000)을 제어할 수 있다. 제1기준 전압(V1)을 결정하는 방법에 대해서는 도 1에서 상세하게 설명하였으므로 중복적인 설명은 피하기로 한다.
예로서, 독출 동작 수행 시에 에러 정정 불능 상태가 발생되는 경우에, 에러 정정 불능 상태가 발생된 페이지(PAGE) 또는 블록(BLOCK)을 타깃 저장 영역으로 결정할 수 있다.
CPU(1120)는 제2기준 전압(V2)을 적용한 독출 동작에 따른 제2정보(X2)를 산출하도록 메모리 시스템(1000)을 제어한다(S120). 예로서, CPU(1120)는 제2기준 전압(V2)을 독출 전압으로 적용하여 메모리 장치(1200)의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제2논리 값을 갖는 비트의 개수인 제2정보(X2)를 산출하도록 시스템(1000)을 제어할 수 있다. 제2기준 전압(V2)을 결정하는 방법에 대해서는 도 1에서 상세하게 설명하였으므로 중복적인 설명은 피하기로 한다.
CPU(1120)는 단계110(S110) 및 단계120(S120)에서 산출된 제1정보(X1) 및 제2정보(X2)에 기초하여 메모리 장치(1200)의 타깃 저장 영역에 대한 열화 상태를 판정하도록 메모리 시스템(1000)을 제어한다(S130). 예로서, CPU(1120)는 제1정보(X1) 및 제2정보(X2)를 이용하여 메모리 장치(1200)의 소거 상태의 문턱 전압 분포가 높은 전압 쪽으로 이동된 제1타입의 열화 상태와 메모리 장치(1200)의 적어도 하나의 프로그램 상태의 문턱 전압 분포가 낮은 전압 쪽으로 이동된 제2타입의 열화 상태 중의 어느 하나의 열화 상태로 판정하도록 시스템(1000)을 제어할 수 있다.
도 13에 도시된 실시 예에서 제1정보(X1)를 산출하는 단계110(S110)을 수행한 후에 제2정보(X2)를 산출하는 단계120(S120)을 수행하였으나, 다른 실시 예에서는 제2정보(X2)를 산출하는 단계120(S120)을 먼저 수행하고 나서 제1정보(X1)를 산출하는 단계110(S110)을 수행할 수도 있다.
도 14는 도 13에 도시된 제1정보(X1) 산출 단계(S110)에 대한 일실시 예에 따른 세부 흐름도이다.
CPU(1120)는 제1기준 전압(V1)을 독출 전압으로 적용하여 메모리 장치(1200)의 타깃 저장 영역에 대한 제1독출 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S110-1). 예로서, CPU(1120)는 에러 정정 불능 상태가 발생된 워드라인(WL)에 제1기준 전압(V1)을 인가하여 데이터를 독출하는 동작을 수행하도록 시스템(1000)을 제어할 수 있다.
CPU(1120)는 제1독출 동작이 수행된 메모리 셀들 중에서 문턱 전압이 제1기준 전압(V1)보다 낮거나 같은 메모리 셀의 개수(X1)를 산출하도록 메모리 시스템(1000)을 제어한다(S110-2). 예로서, 제1독출 동작이 수행된 메모리 셀들 중에서 제1기준 전압(V1)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀에서 독출된 비트 값이 '1'이라고 가정하면, CPU(1120)는 제1독출 동작을 수행한 후의 메모리 장치(1200)의 페이지 버퍼에 저장된 '1'의 개수를 카운트하여 제1정보(X1)를 산출할 수 있다.
도 15는 도 13에 도시된 제2정보(X2) 산출 단계(S120)에 대한 일실시 예에 따른 세부 흐름도이다.
CPU(1120)는 제2기준 전압(V2)을 독출 전압으로 적용하여 메모리 장치(1200)의 타깃 저장 영역에 대한 제2독출 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S120-1). 예로서, CPU(1120)는 에러 정정 불능 상태가 발생된 워드라인(WL)에 제2기준 전압(V2)을 인가하여 데이터를 독출하는 동작을 수행하도록 시스템(1000)을 제어할 수 있다.
CPU(1120)는 제2독출 동작이 수행된 메모리 셀들 중에서 문턱 전압이 제2기준 전압(V2)보다 높은 메모리 셀의 개수(X2)를 산출하도록 메모리 시스템(1000)을 제어한다(S120-2). 예로서, 제2독출 동작이 수행된 메모리 셀들 중에서 제2기준 전압(V2)보다 높은 문턱 전압을 갖는 메모리 셀에서 독출된 비트 값이 '0'이라고 가정하면, CPU(1120)는 제2독출 동작을 수행한 후의 메모리 장치(1200)의 페이지 버퍼에 저장된 '0'의 개수를 카운트하여 제2정보(X2)를 산출할 수 있다.
도 16은 도 13에 도시된 열화 상태 판정 단계(S130)에 대한 일실시 예에 따른 세부 흐름도이다.
CPU(1120)는 단계110(S110) 및 단계120(S120)에서 산출된 제1,2정보(X1, X2)를 열화 상태 타입을 구분하도록 설정된 방정식에 적용하여 방정식의 값을 연산하도록 메모리 시스템(1000)을 제어한다(S130-1A). 예로서, 리드 디스터번스 또는/및 챠지 손실을 발생시켜 실험적으로 측정한 (X1, X2)의 산포의 특성을 이용하여 구해낸 리드 디스터번스와 챠지 손실을 구분하는 방정식에 단계110(S110) 및 단계120(S120)에서 산출된 제1,2정보(X1, X2)를 대입하여 방정식의 값을 연산할 수 있다. 예로서, 서포트 벡터 머신(Support Vector Machine) 알고리즘을 적용하여 열화 상태의 타입을 구분하는 방정식을 구할 수 있다.
CPU(1120)는 단계130-1A(S130-1A)에서 연산 처리된 결과에 기초하여 메모리 장치(1200)의 타깃 저장 영역에 대한 열화 상태의 타입을 결정하도록 메모리 시스템(1000)을 제어한다(S130-2A). 예로서, 단계130-1A(S130-1A)에서 연산 처리된 결과에 기초하여 메모리 장치(1200)의 타깃 저장 영역에 대한 열화 상태가 리드 디스터번스 타입의 열화 상태인지 또는 챠지 손실 타입의 열화 상태인지를 결정할 수 있다.
도 17은 도 13에 도시된 열화 상태 판정 단계(S130)에 대한 다른 실시 예에 따른 세부 흐름도이다.
CPU(1120)는 단계110(S110) 및 단계120(S120)에서 산출된 제1,2정보(X1, X2)를 열화 상태 타입을 구분하도록 설정된 수학식 1과 같은 방정식 S에 대입하여 방정식 S의 값을 연산하도록 메모리 시스템(1000)을 제어한다(S130-1B). 수학식 1의 방정식 S의 계수 w1, w2와 상수 b는 리드 디스터번스 또는/및 챠지 손실을 발생시켜 실험적으로 측정한 (X1, X2)의 산포도에서 서포트 벡터 머신(Support Vector Machine) 알고리즘을 찾아낸 값들로 메모리 장치(1200) 또는 메모리 컨트롤러(1100)에 저장되어 있다. 따라서, 수학식 1에서 계수 w1, w2와 상수 b는 메모리 장치(1200) 또는 메모리 컨트롤러(1100)에 저장되어 있는 값들을 대입하고, X1 및 X2에는 단계110(S110) 및 단계120(S120)에서 산출된 제1,2정보(X1, X2) 값들을 대입하면 방정식 S의 값을 구할 수 있다.
CPU(1120)는 단계130-1B(S130-1B)에서 연산된 방정식 S 값이 양(+)의 값을 갖는지를 판단하도록 메모리 시스템(1000)을 제어한다(S130-2B).
CPU(1120)는 단계130-2B(S130-2B)에서 판단한 결과 방정식 S가 양(+)의 값을 갖는 경우에 제1타입의 열화 상태로 판정하도록 메모리 시스템(1000)을 제어한다(S130-3B). 예로서, 제1타입의 열화 상태는 리드 디스터번스 타입의 열화 상태가 될 수 있다.
그리고, CPU(1120)는 단계130-2B(S130-2B)에서 판단한 결과 방정식 S가 '0' 또는 음(-)의 값을 갖는 경우에 제2타입의 열화 상태로 판정하도록 메모리 시스템(1000)을 제어한다(S130-4B). 예로서, 제2타입의 열화 상태는 챠지 손실 타입의 열화 상태가 될 수 있다.
도 18은 본 발명의 실시 예에 따른 메모리 장치의 열화 상태 판정 및 신뢰성 회복 방법의 흐름도이다.
도 18에 도시된 단계110(S110) ~ 단계130(S130)은 도 13에 도시된 단계110(S110) ~ 단계130(S130)과 실질적으로 동일하므로 중복된 설명은 피하기로 한다.
따라서, 단계110(S110) ~ 단계130(S130)에 의하여 메모리 장치의 열화 상태의 타입을 판정할 수 있게 된다.
CPU(1120)는 단계110(S110) ~ 단계130(S130)에 의한 판정 결과에 따른 메모리 장치의 열화 상태의 타입에 대응되는 신뢰성 회복 프로세스를 수행하도록 메모리 시스템(1000)을 제어한다(S140).
예로서, 리드 디스터번스 타입의 열화 상태로 판정된 경우에, CPU(1120)는 메모리 상태 판정 모드를 수행한 메모리 장치(1200)의 블록에 저장된 데이터를 다른 블록으로 옮기도록 메모리 시스템(1000)을 제어할 수 있다.
예로서, 챠지 손실 타입의 열화 상태로 판정된 경우에, CPU(1120)는 메모리 상태 판정 모드를 수행한 메모리 장치(1200)의 저장 영역에 대응되는 워드 라인에 초기 설정된 프로그램 스트레스 전압을 인가하여 추가 프로그램을 수행하도록 메모리 시스템(1000)을 제어할 수 있다.
도 19는 본 발명의 실시 예에 따른 데이터 독출 방법의 흐름도이다.
CPU(1120)는 호스트의 데이터 독출 요구에 따라서 데이터 독출 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S100A). 예로서, CPU(1120)는 데이터 독출 요구된 논리적 주소를 물리적 페이지 주소로 변환시키고, 변환된 물리적 페이지 주소로부터 독출된 데이터에 대하여 ECC 디코딩 처리를 수행하도록 메모리 시스템(1000)을 제어한다.
CPU(1120)는 데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 성공하는지를 판단하도록 메모리 시스템(1000)을 제어한다(S100B). CPU(1120)는 데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 성공한 경우에는 단계를 종료한다.
데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 실패한 경우에, CPU(1120)는 단계110(S110) ~ 단계130(S130)에 의한 에러 정정에 실패한 저장 영역에 대한 메모리 장치의 열화 상태 판정 동작을 수행하도록 메모리 시스템(1000)을 제어한다. 단계110(S110) ~ 단계130(S130)은 도 13에 도시된 단계110(S110) ~ 단계130(S130)과 실질적으로 동일하므로 중복적인 설명은 피하기로 한다.
CPU(1120)는 현재 설정되어 있는 독출 전압(들)을 단계110(S110) ~ 단계130(S130)에 의한 판정 결과에 따른 메모리 장치의 열화 상태의 타입에 대응되는 독출 전압으로 변경하여 에러 정정에 실패한 저장 영역에서 데이터 독출 동작을 다시 수행하도록 메모리 시스템(1000)을 제어한다(S140A).
예로서, 싱글 레벨 셀의 메모리 장치(1200)에서 리드 디스터번스 타입의 열화 상태로 판정된 경우에, 도 6c에 도시된 독출 전압(Vr)을 증가시킨다. 독출 전압(Vr)의 증가 폭은 실험적으로 결정하여 초기 값으로 설정할 수 있다.
다른 예로서, 2 비트 멀티 레벨 셀의 메모리 장치(1200)에서 리드 디스터번스 타입의 열화 상태로 판정된 경우에, 도 7c에 도시된 제1독출 전압(Vr1)을 증가시킨다. 제1독출 전압(Vr1)의 증가 폭은 실험적으로 결정하여 초기 값으로 설정할 수 있다.
또 다른 예로서, 3 비트 멀티 레벨 셀의 메모리 장치(1200)에서 리드 디스터번스 타입의 열화 상태로 판정된 경우에, 도 8c에 도시된 제1독출 전압(Vr1)을 증가시킨다. 제1독출 전압(Vr1)의 증가 폭은 실험적으로 결정하여 초기 값으로 설정할 수 있다.
또 다른 예로서, 싱글 레벨 셀의 메모리 장치(1200)에서 챠지 손실 타입의 열화 상태로 판정된 경우에, 도 6d에 도시된 독출 전압(Vr)을 감소시킨다. 독출 전압(Vr)의 감소 폭은 실험적으로 결정하여 초기 값으로 설정할 수 있다.
또 다른 예로서, 2 비트 멀티 레벨 셀의 메모리 장치(1200)에서 챠지 손실 타입의 열화 상태로 판정된 경우에, 도 7d에 도시된 제3독출 전압(Vr3)을 감소시킨다. 제3독출 전압(Vr3)의 감소 폭은 실험적으로 결정하여 초기 값으로 설정할 수 있다. 또한, 제1독출 전압(Vr1) 및 제2독출 전압(Vr2)도 감소시킬 수 있다. 예로서, 제3독출 전압(Vr3)의 감소 폭에 비하여 제1독출 전압(Vr1) 및 제2독출 전압(Vr2)의 감소 폭을 작게 결정하는 것이 바람직하다.
또 다른 예로서, 3 비트 멀티 레벨 셀의 메모리 장치(1200)에서 챠지 손실 타입의 열화 상태로 판정된 경우에, 도 8d에 도시된 제7독출 전압(Vr7)을 감소시킨다. 제7독출 전압(Vr7)의 감소 폭은 실험적으로 결정하여 초기 값으로 설정할 수 있다. 또한, 제1독출 전압(Vr1) ~ 제6독출 전압(Vr6)도 감소시킬 수 있다. 예로서, 제7독출 전압(Vr7)의 감소 폭에 비하여 제1독출 전압(Vr1) ~ 제6독출 전압(Vr6)의 감소 폭을 작게 결정하는 것이 바람직하다.
위에서 설명한 본 발명의 실시 예에서는 리드 디스터번스 타입과 챠지 손실 타입을 구분하는 것을 예로 들어 설명하였으나, 본 발명은 이에 한정되지 않고 다양한 타입의 열화 상태 타입들을 구분하는데 적용될 수도 있다. 예로서, 구분하고자 하는 열화 상태의 타입들에 대한 제1,2정보를 측정한 분포도를 구한다. 그리고 나서, 분포도에서 서포트 벡터 머신 알고리즘을 이용하여 열화 상태 타입을 구분하는 방정식을 얻을 수 있다. 이와 같은 방정식을 이용하여 다양한 타입의 열화 상태들을 구분할 수 있다.
도 22는 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 22를 참조하면, 메모리 카드 시스템(2000)은 호스트(2100) 및 메모리 카드(2200)를 포함할 수 있다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속부(2120)를 포함할 수 있다. 메모리 카드(2200)는 카드 접속부(2210), 카드 컨트롤러(2220) 및 메모리 장치(2230)를 포함할 수 있다.
호스트(2100)는 메모리 카드(2200)에 데이터를 기입하거나, 메모리 카드(2200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(2110)는 커맨드(CMD), 호스트(2100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(2120)를 통해 메모리 카드(2200)로 전송할 수 있다.
카드 컨트롤러(2220)는 카드 접속부(2210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(2230)에 저장할 수 있다. 메모리 장치(2230)는 호스트(2100)로부터 전송된 데이터를 저장할 수 있다. 이때, 카드 컨트롤러(2220) 또는 메모리 장치(2230)는 도 1 내지 도 12를 참조하여 상술된 메모리 상태 판정부를 포함할 수 있다.
메모리 카드(2200)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 23은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 23을 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), RAM(3200), 입출력 장치(3300), 전원 장치(3400) 및 메모리 시스템(1000)을 포함할 수 있다. 한편, 도 23에는 도시되지 않았지만, 컴퓨팅 시스템(3000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(3000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(3100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(3100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(3500)를 통하여 RAM(3200), 입출력 장치(3300) 및 메모리 시스템(1000)과 통신을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(3200)는 컴퓨팅 시스템(3000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(3200)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(3300)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(3400)는 컴퓨팅 시스템(3000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 24는 본 발명의 실시 예들에 따른 메모리 시스템을 SSD에 적용한 예를 나타내는 블록도이다.
도 24를 참조하면, SSD 시스템(4000)은 호스트(4100) 및SSD(4200)를 포함할 수 있다.SSD(4200)는 신호 커넥터(signal connector)(4211)를 통해 호스트(4100)와 신호를 주고 받으며, 전원 커넥터(power connector)(4221)를 통해 전원을 입력 받는다. SSD(4200)는 SSD 컨트롤러(4210), 보조 전원 장치(4220) 및 복수의 메모리 장치들(4230, 4240, 4250)을 포함할 수 있다. 이때, SSD 컨트롤러(4210) 또는 복수의 메모리 장치들(4230, 4240, 4250)은 도 1 내지 도 12를 참조하여 상술된 메모리 상태 판정부를 포함할 수 있다.
도 25는 도 24의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 25를 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(5000)은 네트워크(5200)를 통해 연결되는 서버 시스템(5100) 및 다수의 단말들(5300, 5400, 5500)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(5100)은 네트워크(5200)에 연결되는 다수의 단말들(5300, 5400, 5500)로부터 수신되는 요청을 처리하는 서버(5110) 및 단말들(5300, 5400, 5500)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD(5120)를 포함할 수 있다. 이때, SSD(5120)는 도 24의 SSD(4000)일 수 있다.
한편, 상기에서 설명된 본 발명에 따른 플래시 메모리 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템은 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 MetricQuad 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100, 100', 1000 : 메모리 시스템 10, 10', 1100 : 메모리 컨트롤러
20, 20', 1200 : 메모리 장치 11, 1130 : 독출 전압 제어부
12, 26, 1180 : 메모리 상태 판정부 1110 : RAM
1120 : CPU 1140 : ECC 처리부
1150 : HOST I/F 1160 : MEMORY I/F
1170 : RANDOMIZER 1190 : 버스
21 : 메모리 셀 어레이 22 : 제어 로직
23 : 전압 발생기 24 : 로우 디코더
25 : 페이지 버퍼 12-1A : 제1카운터
12-1B : 제2카운터 12-2 : 연산부
12-3 : 열화 타입 결정부

Claims (10)

  1. 제1기준 전압을 독출 전압으로 적용하여 메모리 장치의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제1논리 값을 갖는 비트의 개수인 제1정보를 산출하는 단계;
    제2기준 전압을 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역에 대한 독출 동작에 의하여 얻은 데이터로부터 제2논리 값을 갖는 비트의 개수인 제2정보를 산출하는 단계;
    상기 산출된 제1정보 및 제2정보를 초기 설정된 방정식에 적용하여 연산 처리하는 단계; 및
    상기 연산 처리된 결과에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태를 판정하는 단계를 포함하고,
    상기 제1기준 전압은 상기 메모리 장치의 소거 상태와 상기 소거 상태에 인접한 프로그램 상태를 구분하는 제1독출 전압보다 낮은 전압으로 설정되고, 상기 제2기준 전압은 상기 제1독출 전압보다 높은 전압으로 설정되며,
    상기 초기 설정된 방정식은 실험적으로 측정된 제1정보 및 제2정보의 분포에 기초하여 열화 상태를 구분하도록 설정된 것을 특징으로 하는 메모리 장치의 열화 상태 판정 방법.
  2. 제1항에 있어서, 상기 제1정보를 산출하는 단계는
    상기 제1기준 전압을 독출 전압으로 적용하여 상기 타깃 저장 영역에 대한 제1독출 동작을 수행하는 단계; 및
    상기 제1독출 동작이 수행된 상기 타깃 저장 영역의 메모리 셀들 중에서 상기 제1기준 전압보다 낮거나 같은 문턱 전압을 갖는 메모리 셀의 개수로서 상기 제1정보를 산출하는 단계를 포함함을 특징으로 하는 메모리 장치의 열화 상태 판정 방법.
  3. 제1항에 있어서, 상기 제2정보를 산출하는 단계는
    상기 제2기준 전압을 독출 전압으로 적용하여 상기 타깃 저장 영역에 대한 제2독출 동작을 수행하는 단계; 및
    상기 제2독출 동작이 수행된 상기 타깃 저장 영역의 메모리 셀들 중에서 상기 제2기준 전압보다 높은 문턱 전압을 갖는 메모리 셀들의 개수로서 상기 제2정보를 산출하는 단계를 포함함을 특징으로 하는 메모리 장치의 열화 상태 판정 방법.
  4. 제1항에 있어서, 상기 메모리 장치의 메모리 셀들에 대한 초기 문턱 전압 산포에 기초하여 상기 제1기준 전압은 소거 상태에 대한 문턱 전압 분포의 중간 값으로 결정하고, 상기 제2기준 전압은 복수의 프로그램 상태들 중에서 가장 높은 문턱 전압을 갖는 프로그램 상태에 대한 문턱 전압 분포의 중간 값으로 결정하는 것을 특징으로 하는 메모리 장치의 열화 상태 판정 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 초기 설정된 방정식은 상기 메모리 장치의 소거 상태의 문턱 전압 분포가 높은 전압 쪽으로 이동된 제1타입의 열화 상태와 상기 메모리 장치의 적어도 하나의 프로그램 상태의 문턱 전압 분포가 낮은 전압 쪽으로 이동된 제2타입의 열화 상태를 구분하도록 결정된 것을 특징으로 하는 메모리 장치의 열화 상태 판정 방법.
  7. 소거 상태 및 하나 이상의 프로그램 상태들 중 하나의 상태를 가지는 메모리 셀들을 포함하는 메모리 장치; 및
    메모리 컨트롤러를 포함하고,
    상기 메모리 컨트롤러는 초기 설정된 조건에서 제1기준 전압 또는 제2기준 전압을 독출 전압으로 결정하여 상기 메모리 장치에 인가하는 독출 전압 제어부; 및
    상기 제1기준 전압을 적용하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제1논리 값을 갖는 비트의 개수와 상기 제2기준 전압에 의하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제2논리 값을 갖는 비트의 개수에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태를 판정하는 메모리 상태 판정부를 포함하며,
    상기 제1기준 전압은 상기 소거 상태와 상기 소거 상태에 인접한 프로그램 상태를 구분하는 제1독출 전압보다 낮은 전압으로 설정되고, 상기 제2기준 전압은 상기 제1독출 전압보다 높은 전압으로 설정되는 것을 특징으로 하는 메모리 시스템.
  8. 삭제
  9. 제7항에 있어서, 상기 메모리 상태 판정부는
    상기 제1기준 전압을 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제1논리 값을 갖는 비트의 개수를 카운트하는 제1카운터;
    상기 제2기준 전압을 독출 전압으로 적용하여 상기 메모리 장치의 타깃 저장 영역에서 독출된 데이터에 포함된 제2논리 값을 갖는 비트의 개수를 카운트하는 제2카운터;
    상기 제1카운터에서 카운트된 정보 및 상기 제2카운터에서 카운트된 정보를 적용하여 상기 메모리 장치의 열화 상태의 타입을 구분하도록 초기 설정된 방정식을 계산하는 연산부; 및
    상기 연산부에서 계산된 결과에 기초하여 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태의 타입을 결정하는 열화 타입 결정부를 포함함을 특징으로 하는 메모리 시스템.
  10. 제7항에 있어서, 상기 메모리 컨트롤러는 상기 메모리 장치의 타깃 저장 영역에 대한 열화 상태 판정 결과에 따른 열화 상태의 타입에 대응되는 신뢰성 회복 프로세스를 수행하는 것을 특징으로 하는 메모리 시스템.
KR1020120115486A 2012-10-17 2012-10-17 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템 KR101934892B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120115486A KR101934892B1 (ko) 2012-10-17 2012-10-17 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
US14/052,801 US9164881B2 (en) 2012-10-17 2013-10-14 Method of determining deterioration state of memory device and memory system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120115486A KR101934892B1 (ko) 2012-10-17 2012-10-17 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20140050145A KR20140050145A (ko) 2014-04-29
KR101934892B1 true KR101934892B1 (ko) 2019-01-04

Family

ID=50476523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120115486A KR101934892B1 (ko) 2012-10-17 2012-10-17 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템

Country Status (2)

Country Link
US (1) US9164881B2 (ko)
KR (1) KR101934892B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11372551B2 (en) 2019-08-01 2022-06-28 Samsung Electronics Co., Ltd. Memory controllers for performing state shaping operation, memory systems including the memory controllers, and methods of operating the same

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354872B2 (en) * 2014-04-24 2016-05-31 Xitore, Inc. Apparatus, system, and method for non-volatile data storage and retrieval
US10048962B2 (en) 2014-04-24 2018-08-14 Xitore, Inc. Apparatus, system, and method for non-volatile data storage and retrieval
US9607717B2 (en) * 2014-06-06 2017-03-28 Texas Instruments Incorporated Reliability screening of ferroelectric memories in integrated circuits
US9767879B2 (en) * 2015-02-17 2017-09-19 Texas Instruments Incorporated Setting of reference voltage for data sensing in ferroelectric memories
CN107204204B (zh) * 2016-03-16 2020-01-31 建兴储存科技(广州)有限公司 固态储存装置的断电期间估计方法
KR102585221B1 (ko) * 2016-04-21 2023-10-05 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
SG10201605746RA (en) * 2016-07-13 2018-02-27 Micron Technology Inc Data storage with data randomizer in multiple operating modes
KR102643916B1 (ko) 2016-10-18 2024-03-08 삼성전자주식회사 스토리지 장치, 메모리 시스템, 및 그것의 읽기 전압 결정 방법
KR102353405B1 (ko) 2017-09-19 2022-01-19 삼성전자주식회사 특성 데이터 전처리 시스템, 장치, 방법 및 이를 이용한 메모리 제어 시스템
CN109841257B (zh) * 2017-11-29 2020-11-06 西安格易安创集成电路有限公司 存储器的阈值电压的恢复方法及装置
US10566052B2 (en) 2017-12-22 2020-02-18 Micron Technology, Inc. Auto-referenced memory cell read techniques
US10431301B2 (en) 2017-12-22 2019-10-01 Micron Technology, Inc. Auto-referenced memory cell read techniques
US11682463B2 (en) 2018-01-10 2023-06-20 Samsung Electronics Co., Ltd. Memory device
KR102402667B1 (ko) 2018-01-10 2022-05-26 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
KR102443034B1 (ko) * 2018-01-10 2022-09-14 삼성전자주식회사 메모리 장치
KR102634338B1 (ko) 2018-10-08 2024-02-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10761749B2 (en) 2018-10-31 2020-09-01 Micron Technology, Inc. Vectorized processing level calibration in a memory component
KR20200136173A (ko) 2019-05-27 2020-12-07 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR20210018615A (ko) 2019-08-06 2021-02-18 삼성전자주식회사 스토리지 장치 및 이를 포함하는 스토리지 시스템
CN113129993A (zh) * 2020-01-16 2021-07-16 华邦电子股份有限公司 内存装置及其数据读取方法
KR20220028300A (ko) 2020-08-28 2022-03-08 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR20230035820A (ko) * 2021-09-06 2023-03-14 삼성전자주식회사 비휘발성 메모리 장치의 신뢰성 열화 감소 방법 및 이를 이용한 비휘발성 메모리 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090027960A1 (en) * 2007-07-27 2009-01-29 Micron Technology, Inc. Cell deterioration warning apparatus and method
US20100131809A1 (en) * 2007-12-05 2010-05-27 Michael Katz Apparatus and methods for generating row-specific reading thresholds in flash memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777923A (en) * 1996-06-17 1998-07-07 Aplus Integrated Circuits, Inc. Flash memory read/write controller
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US7372730B2 (en) 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
JP2008181380A (ja) 2007-01-25 2008-08-07 Toshiba Corp メモリシステムおよびその制御方法
JP2008198310A (ja) 2007-02-15 2008-08-28 Megachips Lsi Solutions Inc ビットエラーの修復方法および情報処理装置
US7808831B2 (en) 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
KR101556779B1 (ko) * 2009-04-17 2015-10-02 삼성전자주식회사 저장 장치의 액세스 방법
JP5349256B2 (ja) * 2009-11-06 2013-11-20 株式会社東芝 メモリシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090027960A1 (en) * 2007-07-27 2009-01-29 Micron Technology, Inc. Cell deterioration warning apparatus and method
US20100131809A1 (en) * 2007-12-05 2010-05-27 Michael Katz Apparatus and methods for generating row-specific reading thresholds in flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11372551B2 (en) 2019-08-01 2022-06-28 Samsung Electronics Co., Ltd. Memory controllers for performing state shaping operation, memory systems including the memory controllers, and methods of operating the same

Also Published As

Publication number Publication date
KR20140050145A (ko) 2014-04-29
US9164881B2 (en) 2015-10-20
US20140108747A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
KR101934892B1 (ko) 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
KR101979734B1 (ko) 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR102081415B1 (ko) 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법
US9324420B2 (en) Method of estimating deterioration state of memory device and related method of wear leveling
KR102120823B1 (ko) 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
US9672942B2 (en) Data decoding method of non-volatile memory device and apparatus for performing the method
US9412471B2 (en) Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system
KR101939234B1 (ko) 메모리 장치, 메모리 시스템 및 상기 메모리 장치의 독출 전압의 제어 방법
KR101618311B1 (ko) 플래시 메모리 장치 및 그것의 읽기 방법
CN103680637B (zh) 具有异常字线检测器的闪存系统及其异常字线检测方法
KR101990972B1 (ko) 메모리 시스템에서의 순환 중복 검사 동작 수행 방법 및 이를 이용한 메모리 컨트롤러
KR20110131648A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
KR20170120442A (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
US11145357B2 (en) Memory system, memory controller and method for operating memory system
CN112074908A (zh) Nand数据放置模式
CN112074816A (zh) Nand数据放置模式的集群奇偶校验
US11139035B2 (en) Memory device error detection with improved scanning
KR20140118555A (ko) 메모리 시스템 및 그것의 액세스 성능 조절 방법
US20230145358A1 (en) Copyback clear command for performing a scan and read in a memory device
KR20240012787A (ko) 비휘발성 메모리 장치에 데이터를 프로그램하는 장치 및 방법
CN111739573A (zh) 存储器系统及其操作方法
US12002521B2 (en) Memory device error detection with improved scanning
KR20230068712A (ko) 메모리 시스템의 성능 최적화 장치 및 그 방법
KR20230163847A (ko) 신드롬 가중치를 기초로 신뢰성 데이터를 결정하는 컨트롤러 및 그 동작 방법
KR20220139081A (ko) 비휘발성 메모리 장치에 데이터를 프로그램 및 검증하기 위한 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant