KR20140020041A - 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 - Google Patents

메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 Download PDF

Info

Publication number
KR20140020041A
KR20140020041A KR1020120086393A KR20120086393A KR20140020041A KR 20140020041 A KR20140020041 A KR 20140020041A KR 1020120086393 A KR1020120086393 A KR 1020120086393A KR 20120086393 A KR20120086393 A KR 20120086393A KR 20140020041 A KR20140020041 A KR 20140020041A
Authority
KR
South Korea
Prior art keywords
read voltage
read
data
voltage level
memory device
Prior art date
Application number
KR1020120086393A
Other languages
English (en)
Other versions
KR101979734B1 (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 KR1020120086393A priority Critical patent/KR101979734B1/ko
Priority to US13/948,431 priority patent/US9190160B2/en
Publication of KR20140020041A publication Critical patent/KR20140020041A/ko
Application granted granted Critical
Publication of KR101979734B1 publication Critical patent/KR101979734B1/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
    • 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
    • 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
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

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

Abstract

메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법과 메모리 시스템에 관하여 개시한다. 메모리 장치의 독출 전압 제어 방법은 제1에러 정정률이 적용되는 제1부류의 저장 영역에 대한 데이터 독출 동작 과정에서 최소 에러 비트가 발생되는 메모리 장치의 독출 전압 레벨을 검출하는 단계 및, 상기 검출된 독출 전압 레벨에 기초하여 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계를 포함하고, 상기 제1에러 정정률은 상기 제2에러 정정률보다 높은 정정률로 설정하는 것을 특징으로 한다.

Description

메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법{Method for controlling a read voltage of memory device and data read operating method using method thereof}
본 발명은 메모리 장치 및 메모리 장치의 제어 방법에 관한 것으로서, 더욱 상세하게는 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되며, 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분된다. 이러한 메모리 장치의 특성은 사용 환경, 사용 횟수 또는 사용 시간이 경과함에 따라 변화될 수 있다. 메모리 장치에 저장된 데이터를 정확하게 독출하기 위하여 정확하고 빠르게 독출 전압을 최적화시키는 기술이 요구된다.
본 발명의 목적은 멀티 에러 정정 코드가 적용된 메모리 시스템에서 독출 전압을 빠르게 최적화시키는 메모리 장치의 독출 전압 제어 방법을 제공하는데 있다.
본 발명의 다른 목적은 멀티 에러 정정 코드가 적용된 메모리 시스템에서 독출 전압을 빠르게 최적화시켜 데이터 독출 동작을 수행하는 데이터 독출 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 멀티 에러 정정 코드가 적용된 메모리 시스템에서 독출 전압을 빠르게 최적화시키는 메모리 시스템을 제공하는데 있다.
본 발명의 기술적 사상의 일면에 따른 일실시 예에 의한 메모리 장치의 독출 전압 제어 방법은 제1에러 정정률이 적용되는 제1부류의 저장 영역에 대한 데이터 독출 동작 과정에서 최소 에러 비트가 발생되는 메모리 장치의 독출 전압 레벨을 검출하는 단계 및, 상기 검출된 독출 전압 레벨에 기초하여 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계를 포함하고, 상기 제1에러 정정률은 상기 제2에러 정정률보다 높은 정정률로 설정되는 것을 특징으로 한다.
본 발명의 일실시 예에 따르면, 상기 결정된 제2부류의 저장 영역에 대한 독출 전압을 적용하여 상기 제1부류 및 제2부류의 저장 영역에 대한 데이터 독출 동작을 수행할 수 있다.
본 발명의 일실시 예에 따르면, 상기 메모리 장치가 멀티 레벨 셀들로 구성되는 경우에 데이터 독출 동작에 필요한 복수개의 독출 전압들 각각에 대하여 상기 최소 에러 비트가 발생되는 메모리 장치의 독출 전압 레벨을 검출하고, 검출된 독출 전압 레벨에 기초하여 각각의 독출 전압을 결정할 수 있다.
본 발명의 일실시 예에 따르면, 상기 제1부류의 저장 영역은 메타 데이터가 저장되는 영역을 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 제2부류의 저장 영역은 사용자 데이터가 저장되는 영역을 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 메모리 장치는 복수의 페이지들을 포함하고, 적어도 하나의 페이지는 상기 제1부류의 저장 영역과 제2부류의 저장 영역을 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 독출 전압 레벨을 검출하는 단계는 독출 전압 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨을 적용하여 상기 제1부류의 저장 영역으로부터 데이터를 독출하는 단계, 상기 독출 전압 레벨 별로 독출된 데이터에서 검출되는 에러 비트 개수를 산출하는 단계 및, 상기 산출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 에러 비트 개수를 산출하는 단계는 상기 제1부류의 저장 영역으로부터 독출된 일부 데이터에서 에러 비트 개수를 산출할 수 있다.
본 발명의 일실시 예에 따르면, 상기 검출된 독출 전압 레벨을 상기 제2부류의 저장 영역에 대한 독출 전압으로 결정할 수 있다.
본 발명의 일실시 예에 따르면, 상기 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계는 상기 검출된 독출 전압 레벨을 적용하여 상기 제2부류의 저장 영역으로부터 데이터를 독출하는 단계, 상기 독출된 데이터에 대한 디코딩 처리를 수행하는 단계 및, 상기 디코딩 처리 단계에서 에러 정정에 성공한 경우에 상기 검출된 독출 전압 레벨을 상기 제2부류의 저장 영역에 대한 독출 전압으로 결정하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계는 상기 검출된 독출 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 메모리 셀의 두 인접한 상태들의 산포들 사이의 골(valley)을 검색하는 단계 및, 상기 검색된 골에 대응되는 전압 레벨을 상기 제2부류의 저장 영역에 대한 독출 전압으로 결정하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 산포들 사이의 골(valley)을 검색하는 단계는 상기 검출된 독출 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 인접한 두 전압 레벨들에 의해 구분되는 구획들 각각에 존재하는 메모리 셀들의 개수를 산출하는 단계 및, 상기 구획들 각각에 존재하는 메모리 셀들의 개수가 감소하다가 증가하는 지점을 골로 결정하는 단계를 포함할 수 있다.
본 발명의 기술적 사상의 다른 면에 따른 데이터 독출 방법은 메모리 장치에 대한 데이터 독출 동작 과정에서 에러 정정 실패가 발생되는지를 판단하는 단계, 상기 판단 결과 에러 정정 실패가 발생되는 경우에, 메모리 장치의 제1에러 정정률이 적용되는 제1부류의 저장 영역에서의 데이터 독출 동작에 따른 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하는 단계, 상기 검출된 독출 전압 레벨에 기초하여 상기 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계 및, 상기 결정된 제2부류의 저장 영역에 대한 독출 전압을 적용하여 상기 메모리 장치의 제1부류 및 제2부류의 저장 영역에 대한 데이터 독출 동작을 수행하는 단계를 포함하고, 상기 제1에러 정정률은 상기 제2에러 정정률보다 높은 정정률로 설정하는 것을 특징으로 한다.
본 발명의 일실시 예에 따르면, 상기 독출 전압 레벨을 검출하는 단계는 상기 제2부류의 저장 영역에 대한 데이터 독출 동작 과정에서 에러 정정에 실패하고, 상기 제1부류의 저장 영역에 대한 데이터 독출 동작 과정에서 에러 정정에 성공한 조건에서 수행할 수 있다.
본 발명의 일실시 예에 따르면, 상기 독출 전압 레벨을 검출하는 단계는 상기 에러 정정에 실패한 메모리 장치의 페이지에 포함된 상기 제1부류의 저장 영역에서 수행할 수 있다.
본 발명의 일실시 예에 따르면, 상기 독출 전압 레벨을 검출하는 단계는 독출 전압 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨에 대하여 상기 제1부류의 저장 영역으로부터 데이터를 독출하는 단계, 상기 독출 전압 레벨 별로 독출된 데이터에 대한 디코딩 처리 과정에서 검출되는 에러 비트 개수를 산출하는 단계 및, 상기 산출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출하는 단계를 포함할 수 있다.
본 발명의 기술적 사상의 또 다른 면에 따른 메모리 시스템은 에러 정정률이 다르게 적용되는 적어도 2개 부류의 저장 영역을 포함하는 메모리 장치 및, 독출 전압 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨에 대하여 상기 메모리 장치의 제1에러 정정률이 적용되는 제1부류의 저장 영역으로부터 독출된 데이터에 대한 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하고, 상기 검출된 독출 전압 레벨에 기초하여 상기 메모리 장치의 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압을 결정하는 메모리 컨트롤러를 포함한다.
본 발명의 일실시 예에 따르면, 상기 메모리 장치는 메모리 셀을 포함하는 메모리 셀 어레이 및, 상기 메모리 셀 어레이에 인가되는 독출 전압에 따라서 상기 메모리 셀로부터 독출된 데이터를 저장하는 페이지 버퍼를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 메모리 컨트롤러는 상기 메모리 장치의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1에러 정정률로 에러 검출 및 정정 처리를 수행하는 제1에러 정정 코드 처리부, 상기 메모리 장치의 제2부류의 저장 영역으로부터 독출된 데이터에 대하여 제2에러 정정률로 에러 검출 및 정정 처리를 수행하는 제2에러 정정 코드 처리부 및, 독출 전압 레벨들을 순차적으로 변경하면서 각각의 독출 전압 레벨을 적용하여 상기 메모리 장치의 상기 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 상기 제1에러 정정 코드 처리부에서 검출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 결정하고, 상기 결정된 독출 전압 레벨에 기초하여 상기 제2부류의 저장 영역에 대한 독출 전압을 결정하는 독출 전압 제어부를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 독출 전압 제어부는 상기 검출된 독출 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 메모리 셀의 두 인접한 상태들의 산포들 사이의 골(valley)을 검색하는 프로세스를 실행하고, 상기 검색된 골에 대응되는 전압 레벨을 상기 제2부류의 저장 영역에 대한 독출 전압으로 결정할 수 있다.
본 발명의 일실시 예에 따르면, 상기 메모리 컨트롤러는 상기 제2부류의 저장 영역에서 독출된 데이터를 디코딩하는 과정에서 에러 정정에 실패한 경우에, 상기 에러 정정에 실패한 페이지에 포함된 상기 제1부류의 저장 영역에서 최소 에러 비트가 발생되는 독출 전압 레벨을 검출할 수 있다.
본 발명의 일실시 예에 따르면, 상기 메모리 컨트롤러는 상기 에러 정정에 실패한 페이지에 포함된 제1부류의 저장 영역 및 제2부류의 저장 영역으로부터 데이터를 독출하여 페이지 버퍼에 로딩시키고, 상기 페이지 버퍼에 로딩된 제1부류 저장 영역에 대한 데이터에서 최소 에러 비트가 발생되는 독출 전압 레벨을 검출할 수 있다.
본 발명에 의하면 메모리 시스템에서 메타 데이터가 저장된 영역에서의 최소 에러 비트가 발생되는 독출 전압 레벨을 찾아내어 독출 전압을 최적화시킴으로써, 독출 전압을 최적화시키는데 소요되는 시간을 줄일 수 있는 효과가 발생된다.
그리고, 본 발명에 의하면 메모리 시스템에서 메타 데이터가 저장된 영역에서의 최소 에러 비트가 발생되는 독출 전압 레벨을 찾아내고, 메타 데이터 영역에서 에러 비트가 최소화되는 독출 전압 레벨을 다른 독출 전압 최적화 알고리즘의 기준 독출 전압으로 이용하여 독출 전압을 정밀하게 최적화시킴으로써, 독출 전압을 빠르고 정확하게 최적화시킬 수 있는 효과가 발생된다.
또한, 본 발명에 의하면 독출 전압 최적화 동작을 메모리 장치의 저장 영역에 포함된 테스트 영역에서 수행하지 않고 독출 전압을 최적화시킴으로써, 사용자 데이터를 저장할 수 있는 저장 공간을 확장시킬 수 있는 효과가 발생된다.
도 1은 본 발명의 일실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 3은 도 2의 메모리 장치에 포함된 셀 어레이의 일 예를 나타낸다.
도 4는 도 3의 셀 어레이에 포함된 메모리 블록의 일 예를 나타내는 회로도이다.
도 5는 도 4의 메모리 블록에 포함된 메모리 셀의 일 예를 나타내는 단면도이다.
도 6a는 도 5의 메모리 셀이 싱글(single) 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 산포를 나타내는 그래프이다.
도 6b는 도 6a의 그래프에서 메모리 셀의 문턱 전압이 변경된 경우를 나타내는 그래프이다.
도 7a는 도 5의 메모리 셀이 2 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 산포를 나타내는 그래프이다.
도 7b는 도 7a의 그래프에서 메모리 셀의 문턱 전압이 변경된 경우를 나타내는 그래프이다.
도 8a는 도 5의 메모리 셀이 3 비트 멀티 레벨 셀인 경우, 메모리 장치의 문턱 전압에 따른 산포를 나타내는 그래프이다.
도 8b는 도 8a의 그래프에서 메모리 셀의 문턱 전압이 변경된 경우를 나타내는 그래프이다.
도 9는 도 4의 메모리 블록(BLK0)에 포함된 페이지(PAG 0)의 저장 영역을 구획한 일 예를 보여준다.
도 10a 내지 10c는 도 5의 메모리 셀이 3 비트 멀티 레벨 셀인 경우의 페이지 별 독출 순서를 예시적으로 나타내는 그래프이다.
도 11은 도 1의 메모리 시스템에 포함된 독출 전압 제어부의 일 실시 예에 따른 세부 구성도이다.
도 12는 도 1의 메모리 시스템에 포함된 독출 전압 제어부의 다른 실시 예에 따른 세부 구성도이다.
도 13은 도 1의 메모리 시스템에 포함된 독출 전압 제어부의 또 다른 실시 예에 따른 세부 구성도이다.
도 14는 도 1의 메모리 시스템에 포함된 독출 전압 제어부의 또 다른 실시 예에 따른 세부 구성도이다.
도 15는 도 1의 메모리 시스템에서의 독출 전압 레벨 변화에 따른 에러 비트 발생 개수를 보여주는 그래프이다.
도 16은 본 발명의 다른 실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 17은 도 16의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 18은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 19는 본 발명의 실시 예에 따른 메모리 장치의 독출 전압 제어 방법의 흐름도이다.
도 20은 도 19에 도시된 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하는 단계(S110)에 대한 일실시 예에 따른 세부 흐름도이다.
도 21은 도 19에 도시된 제2에러 정정률이 적용되는 저장 영역에 대한 독출 전압을 결정하는 단계(S120)에 대한 일실시 예에 따른 세부 흐름도이다.
도 22는 도 19에 도시된 제2에러 정정률이 적용되는 저장 영역에 대한 독출 전압을 결정하는 단계(S120)에 대한 다른 실시 예에 따른 세부 흐름도이다.
도 23은 도 22에 도시된 메모리 셀의 두 인접한 상태들의 산포들 사이의 골을 검색하는 단계(S120-1B)에 대한 일 실시 예에 따른 세부 흐름도이다.
도 24는 본 발명의 일 실시 예에 따른 데이터 독출 방법의 흐름도이다.
도 25는 본 발명의 다른 실시 예에 따른 데이터 독출 방법의 흐름도이다.
도 26은 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 27은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 28은 본 발명의 실시 예들에 따른 메모리 시스템을 솔리드 스테이트 드라이브에 적용한 예를 나타내는 블록도이다.
도 29는 도 28의 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 chage RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
메모리 컨트롤러(10)는 독출 전압 제어부(11) 및 ECC(error correction code) 처리 블록(12)을 포함할 수 있다. 이로써, 메모리 컨트롤러(10)는 복수의 메모리 셀들로부터 데이터를 독출하기 위한 독출 전압의 전압 레벨을 제어하고, 제어된 독출 전압을 출력함으로써 메모리 장치(20)를 제어할 수 있다. 이하에서는, 메모리 컨트롤러(10)에 포함된 구성 요소들에 대해 상술하기로 한다.
ECC 처리 블록(12)은 제1ECC 처리부(12-1) 및 제2ECC 처리부(12-2)를 포함할 수 있다. 제1ECC 처리부(12-1) 및 제2ECC 처리부(12-2)는 각각 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 ECC 인코딩 처리 및 ECC 디코딩 처리를 수행할 수 있다.
제1ECC 처리부(12-1)는 제1에러 정정률로 에러 정정이 가능하도록 프로그램할 데이터에 패리티 비트를 생성시켜 부가하는 ECC 인코딩 처리와 메모리 장치(20)의 제1에러 정정률이 적용되는 제1부류의 저장 영역으로부터 독출된 데이터로부터 에러 비트를 검출하고, 검출된 에러 비트를 정정하는 ECC 디코딩 처리를 수행한다.
제2ECC 처리부(12-2)는 제2에러 정정률로 에러 정정이 가능하도록 프로그램할 데이터에 패리티 비트를 생성시켜 부가하는 ECC 인코딩 처리와 메모리 장치(20)의 제2에러 정정률이 적용되는 제2부류의 저장 영역으로부터 독출된 데이터로부터 에러 비트를 검출하고, 검출된 에러 비트를 정정하는 ECC 디코딩 처리를 수행한다.
여기에서, 제1에러 정정률은 제2에러 정정률보다 높은 정정률을 갖도록 설정할 수 있다. 그리고, 에러 정정률이 높아질수록 동일 사이즈의 데이터 당 생성되는 패리티 비트 수는 증가한다. ECC 인코딩 처리 및 ECC 디코딩 처리는 각각 간략하게 인코딩 처리 및 디코딩 처리라 칭할 수도 있다.
메모리 장치(20)의 제1부류의 저장 영역에는 메타 데이터가 저장되고, 제2부류의 저장 영역에는 사용자 데이터가 저장될 수 있다.
이에 따라서, 제1ECC 처리부(12-1)는 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 메타 데이터에 에러(즉, 독출 에러)가 존재하는지 체크하고 정정할 수 있다. 예를 들어, 제1ECC 처리부(12-1)는 메타 데이터를 프로그램할 때에 생성되어 저장된 패리티(parity) 비트와 메타 데이터를 독출할 때 생성된 패리티 비트를 비교하여, 메타 데이터의 에러 비트를 검출하고 검출된 에러 비트를 배타적 논리합(XOR)함으로써 독출 에러를 정정할 수 있다.
그리고, 제2ECC 처리부(12-2)는 메모리 장치(20)의 제2부류의 저장 영역으로부터 독출된 사용자 데이터에 에러(즉, 독출 에러)가 존재하는지 체크하고 정정할 수 있다. 예를 들어, 제2ECC 처리부(12-2)는 사용자 데이터를 프로그램할 때에 생성되어 저장된 패리티(parity) 비트와 사용자 데이터를 독출할 때 생성된 패리티 비트를 비교하여, 사용자 데이터의 에러 비트를 검출하고 검출된 에러 비트를 배타적 논리합(XOR)함으로써 독출 에러를 정정할 수 있다.
독출 전압 제어부(11)는 메모리 장치(20)로부터 수신한 데이터(DATA)를 기초로 하여, 메모리 장치(20)를 독출하기 위한, 즉, 메모리 셀 어레이(21)에 배치된 메모리 셀들에 저장된 데이터를 독출하기 위한 독출 전압의 전압 레벨을 제어할 수 있다. 이때, 독출 전압 제어부(11)의 출력은 제어 신호(CTRL)로써 메모리 장치(20)에 제공될 수 있다. 이와 같이, 메모리 컨트롤러(10)는 독출 전압 제어부(11)를 포함함으로써, 외부 자극 및/또는 마모(wearing) 등에 의해 메모리 셀들의 문턱 전압이 변경되더라도 변경된 문턱 전압을 기초로 하여 독출 전압의 전압 레벨을 제어할 수 있고, 이에 따라, RBER(raw bit error rate)를 개선시킬 수 있다.
일 예로서, 독출 전압 제어부(11)는 독출 전압 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨을 적용하여 메모리 장치(20)의 제1에러 정정률이 적용되는 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 검출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출하고, 검출된 독출 전압 레벨에 기초하여 메모리 장치(20)의 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압을 결정할 수 있다. 이와 같이 결정된 제2부류의 저장 영역에 대한 독출 전압을 적용하여 제1부류 및 제2부류의 저장 영역에 대한 데이터 독출 동작을 수행할 수 있다. 즉, 이와 같이 결정된 제2부류의 저장 영역에 대한 독출 전압은 제1부류 및 제2부류의 저장 영역에 대한 독출 전압으로 설정될 수 있다.
예로서, 독출 전압 제어부(11)는 독출 전압 레벨을 순차적으로 변경시켜 메모리 장치(20)에 적용하고, 각각의 독출 전압 레벨에 대하여 제1에러 정정률이 적용되는 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 검출되는 에러 비트 개수를 산출하고, 복수의 독출 전압 레벨들 중에서 산출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출할 수 있다.
예로서, 제1에러 정정률이 적용되는 제1부류의 저장 영역은 메타 데이터가 저장되는 저장 영역이 포함될 수 있다. 예로서, 제1부류의 저장 영역에 저장된 일부 메타 데이터를 독출하여 에러 비트 개수를 산출할 수 있다.
또한, 메모리 장치(20)의 제2부류의 저장 영역에서 독출된 데이터를 ECC 디코딩하는 과정에서 에러 정정에 실패한 경우에, 제2부류의 저장 영역에 대한 독출 전압을 결정하기 위하여 에러 정정에 실패한 페이지에 포함된 제1부류의 저장 영역으로부터 독출된 메타 데이터에 대한 에러 비트 개수를 산출할 수도 있다.
예로서, 독출 전압 제어부(11)는 위에서 검출된 독출 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 메모리 셀의 두 인접한 상태들의 산포들 사이의 골(valley)을 검색하는 프로세스를 실행하고, 검색된 골에 대응되는 전압 레벨을 독출 전압으로 결정할 수 있다.
독출 전압 제어부(11)는 메모리 장치(20)를 구성하는 메모리 셀(MCEL)이 싱글 레벨 셀인 경우에는 하나의 독출 전압을 최적화시키기 위하여 하나의 독출 전압 레벨을 검출하고, 검출된 독출 전압 레벨에 기초하여 독출 전압을 최적화시킬 수 있다.
독출 전압 제어부(11)는 메모리 장치(20)를 구성하는 메모리 셀(MCEL)이 멀티 레벨 셀인 경우에는 하나의 물리적 페이지를 구성하는 복수개의 논리적 페이지들에 대하여 논리적 페이지 단위로 데이터를 독출하는데 필요한 복수개의 독출 전압들을 각각 순차적으로 최적화시킬 수 있다. 독출 전압 제어부(11)의 상세한 동작에 대해서는 후술하기로 한다.
에로서, 메모리 컨트롤러(10)는 에러 정정에 실패한 페이지에 포함된 제1부류의 저장 영역 및 제2부류의 저장 영역으로부터 데이터를 독출하여 메모리 장치(20)의 페이지 버퍼(25; 도 2 참조)에 로딩시키고, 페이지 버퍼(25)에 로딩된 제1부류의 저장 영역에 대한 데이터에서 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하도록 메모리 시스템(100)을 제어할 수 있다.
도 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)에서 결정된 제2부류의 저장 영역에 대한 독출 전압이 인가될 수 있다. 이는 하나의 페이지에 제1부류의 저장 영역과 제2부류의 저장 영역이 포함되어 있는 경우에, 제2부류의 저장 영역에 대한 독출 전압으로 제1부류의 저장 영역과 제2부류의 저장 영역에 대한 데이터 독출 동작을 수행할 수 있다는 것을 의미한다. 한편, 기입 동작 시에 로우 디코더(24)는 선택된 워드 라인에 기입 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
페이지 버퍼(25)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(21)에 연결될 수 있다. 페이지 버퍼(25)는 메모리 셀 어레이(21)에 기록될 데이터 또는 메모리 셀 어레이(21)로부터 독출된 데이터를 임시적으로 저장할 수 있다. 본 실시 예에서, 페이지 버퍼(25)는 복수의 전압 레벨들을 순차적으로 적용하여 메모리 셀 어레이(21)에 배치된 메모리 셀로부터 각각 독출된 복수의 데이터를 저장할 수 있다.
도 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는 도 6a의 그래프에서 메모리 셀(MCEL)의 문턱 전압이 변경된 경우를 나타내는 그래프이다.
도 6b를 참조하면, 소거 상태(E) 또는 프로그램 상태(P)로 각각 프로그램된 메모리 셀들(MCEL)은 외부 자극 및/또는 마모 등에 의해 도 6b에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 6b에서, 빗금 친 부분에 속하는 메모리 셀들(MCEL)은 독출 에러가 발생할 수 있고, 이에 따라, 메모리 장치(20)의 신뢰성이 저하될 수 있다.
예를 들어, 독출 전압(Vr)을 이용하여 메모리 장치(20)에 대한 독출 동작을 수행할 경우, 빗금 친 부분에 속하는 메모리 셀들(MCEL)은 프로그램 상태(P)로 프로그램 되었음에도 불구하고, 문턱 전압(Vth)의 감소에 의해 소거 상태(E)로 판단될 수 있다. 이에 따라, 독출 동작에 에러가 발생되어 메모리 장치(20)의 신뢰성이 저하될 수 있다.
도 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는 도 7a의 그래프에서 메모리 셀(MCEL)의 문턱 전압이 변경된 경우를 나타내는 그래프이다.
도 7b를 참조하면, 소거 상태(E), 제1 내지 제3 프로그램 상태(P1, P2, P3)로 각각 프로그램된 메모리 셀들(MCEL)은 외부 자극 및/또는 마모 등에 의해 도 7b에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 7b에서, 빗금 친 부분에 속하는 메모리 셀들(MCEL)은 독출 에러가 발생할 수 있고, 이에 따라, 메모리 장치(20)의 신뢰성이 저하될 수 있다.
도 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는 도 8a의 그래프에서 메모리 셀(MCEL)의 문턱 전압이 변경된 경우를 나타내는 그래프이다.
도 8b를 참조하면, 소거 상태(E), 제1 내지 제7 프로그램 상태(P1 내지 P7)로 각각 프로그램된 메모리 셀들(MCEL)은 외부 자극 및/또는 마모 등에 의해 도 8b에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 8b에서, 빗금 친 부분에 속하는 메모리 셀들(MCEL)은 독출 에러가 발생할 수 있고, 이에 따라, 메모리 장치(20)의 신뢰성이 저하될 수 있다.
메모리 장치(20)로부터 데이터를 독출하는 경우 에러 발생률은 독출 전압의 전압 레벨에 따라 달라지는데, 독출 전압의 최적 전압 레벨은 메모리 셀들(MCEL)의 산포 모양에 따라 결정될 수 있다. 따라서, 메모리 셀들(MCEL)의 산포가 변화함에 따라 메모리 장치(20)로부터 데이터를 독출하는데 필요한 독출 전압의 최적 전압 레벨도 변경될 수 있다. 그러므로, 산포의 변화를 기초로 하여 독출 전압의 전압 레벨을 변경함으로써 독출 전압의 최적 전압 레벨을 결정하는 것이 요구된다. 이 경우, 효율적으로 빠르게 독출 전압의 최적 전압 레벨을 결정하는 것이 요구된다.
이상에서는 도 6a, 6b, 7a, 7b, 8a 및 8b를 참조하여, 메모리 셀(MCEL)이 싱글 레벨 셀, 2 비트 멀티 레벨 셀 또는 3 비트 멀티 레벨 셀인 경우를 설명하였다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 도 5의 메모리 셀(MCEL)은 4 비트 이상으로 프로그램되는 멀티 레벨 셀일 수 있다. 또한, 도 1 및 도 2의 메모리 장치(20)는 서로 다른 개수의 비트로 프로그램 되는 메모리 셀(MCEL)들을 포함할 수도 있다.
도 9는 도 4의 메모리 블록(BLK0)에 포함된 페이지(PAG 0)의 저장 영역을 구획한 일 예를 보여준다.
도 9를 참조하면, 적어도 하나의 페이지에는 메타 데이터가 저장되는 영역들(Meta)과 사용자 데이터가 저장되는 영역들(Data), 패드 정보가 저장되는 영역들(Pad), 모니터링 정보가 저장되는 영역(Mon)이 포함될 수 있다.
메타 데이터(meta data)는 메모리 장치(20)를 관리하기 위한 정보이다. 관리 정보인 메타 데이터에는 논리적 어드레스(Logical Address)를 메모리 장치(20)의 물리적 어드레스(Physical Address)로 변환시키는데 이용되는 매핑(mapping) 정보가 포함될 수 있다. 또한, 메타 데이터에는 메모리 장치(20)의 영역별 열화 정도를 판단하는데 이용될 수 있는 정보들도 포함될 수 있다. 일 예로서, 메모리 장치(20)의 영역별 열화 정도를 판단하는데 이용될 수 있는 정보로는 ECC(Error Correction Code) 알고리즘에 의한 에러 비트 정보, 프로그램/이레이즈 사이클 정보, 또는 프로그램/독출 횟수 정보들이 포함될 수 있다. 또한, 메타 데이터에는 메모리 장치(20)의 저장 공간을 관리하기 위한 정보들도 포함될 수 있다.
도 9를 참조하면, 사용자 데이터가 저장되는 영역들(Data)은 섹터 사이즈 단위로 나눌 수 있다.
패드 정보가 저장되는 영역들(Pad)에는 프로그램할 데이터가 섹터 사이즈와 정확하게 일치하지 않는 경우에, 섹터 사이즈에서 데이터를 기입하고 남는 부분을 더미 데이터(dummy data)로 기입한 영역을 의미한다.
모니터링 정보가 저장되는 영역(Mon)에는 메모리 셀(MCEL)들의 산포 시프트(shift) 특성을 찾아내기 위한 모니터링 정보가 저장될 수 있다.
본 발명의 실시 예에서는 모니터링 정보가 저장되는 영역(Mon)을 사용자 데이터가 저장되는 영역 또는 다른 종류의 데이터가 저장되는 영역으로 이용할 수 있다.
도 10a 내지 10c는 본 발명의 실시 예에 따른 페이지 별 독출 순서를 나타내는 그래프이다.
도 10a 내지 도 10c를 참조하면, 소거 상태(E)는 데이터 '111'이 할당되고, 제1 프로그램 상태(P1)는 데이터 '110'이 할당되며, 제2 프로그램 상태(P2)는 데이터 '100'이 할당되고, 제3 프로그램 상태(P3)는 데이터 '000'이 할당되며, 제4 프로그램 상태(P4)는 데이터 '010'이 할당되고, 제5 프로그램 상태(P5)는 데이터 '011'이 할당되며, 제6 프로그램 상태(P6)는 데이터 '001'이 할당되고, 제7 프로그램 상태(P7)는 데이터 '101'이 할당될 수 있다.
메모리 셀(MCEL)이 3 비트로 프로그램되는 3 비트 멀티 레벨 셀인 경우, 하나의 물리적 페이지에 세 개의 논리적 페이지가 저장될 수 있다. 여기서, 논리적 페이지는 하나의 물리적 페이지에 동시에 프로그램될 수 있는 데이터의 집합을 나타낸다. 따라서, 메모리 셀(MCEL)을 포함하는 하나의 물리 페이지에 대해 세 번의 독출 동작이 순차적으로 수행될 수 있다. 이때, 세 번의 독출 동작이 수행되는 순서는 소거 상태 및 프로그램 상태들에 할당된 데이터에 따라 변경될 수 있다.
본 실시 예에서, 첫 번째 독출 동작(READ1)은 LSB(least significant bit) 독출 동작으로서, 도 10a에 도시된 바와 같이, LSB가 변경되는 소거 상태(E)와 제1 프로그램 상태(P1) 사이, 그리고, 제4 프로그램 상태(P4)와 제5 프로그램 상태(P5) 사이에서 수행될 수 있다. 이와 같이, 첫 번째 독출 동작(READ1)에서는 두 번의 독출이 수행된다.
두 번째 독출 동작(READ2)은 CSB(central significant bit) 독출 동작으로서, 도 10b에 도시된 바와 같이, CSB가 변경되는 제1 프로그램 상태(P1)와 제2 프로그램 상태(P2) 사이, 제3 프로그램 상태(P3)와 제4 프로그램 상태(P4) 사이, 그리고, 제5 프로그램 상태(P5)와 제6 프로그램 상태(P6) 사이에서 수행될 수 있다. 이와 같이, 두 번째 독출 동작(READ2)에서는 세 번의 독출이 수행된다.
세 번째 독출 동작(READ3)은 MSB(most significant bit) 독출 동작으로서, 도 10c에 도시된 바와 같이, MSB가 변경되는 제2 프로그램 상태(P2)와 제3 프로그램 상태(P3), 그리고, 제6 프로그램 상태(P6)와 제7 프로그램 상태(P7) 사이에서 수행될 수 있다. 이와 같이, 세 번째 독출 동작(READ3)에서는 두 번의 독출이 수행된다.
예로서, 메모리 셀(MCEL)이 3 비트로 프로그램되는 3 비트 멀티 레벨 셀인 경우에 도 1의 독출 전압 제어부(11)는 LSB(least significant bit) 독출 동작(READ1), CSB(central significant bit) 독출 동작(READ2) 및 MSB(most significant bit) 독출 동작(READ3)을 각각 수행하면서 독출 전압 Vr1 ~ Vr7을 최적화시킬 수 있다.
예로서, 독출 전압 제어부(11)는 LSB(least significant bit) 독출 동작(READ1)을 수행하면서 제1독출 전압(Vr1)과 제5독출 전압(Vr5)을 최적화시키고, CSB(central significant bit) 독출 동작(READ2)을 수행하면서 제2독출 전압(Vr2), 제4독출 전압(Vr4) 및 제6독출 전압(Vr6)을 최적화시키고, MSB(most significant bit) 독출 동작(READ3)을 각각 수행하면서 제3독출 전압(Vr3)과 제7독출 전압(Vr7)을 최적화시킬 수 있다.
그러면, 도 1에 도시된 독출 전압 제어부(11)의 동작을 상세히 설명하기로 한다.
도 11에 도시된 바와 같이, 본 발명의 일실시 예에 따른 독출 전압 제어부(11A)는 최소 에러 비트 검출부(11-1) 및 기준 전압 레벨 결정부(11-2)를 포함할 수 있다.
예로서, 독출 전압 제어부(11)는 메모리 장치(20)의 메모리 셀(MCEL)이 싱글 레벨 셀인 경우에 독출 전압(Vri) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
예로서, 메모리 컨트롤러(10)는 메모리 장치에 대한 데이터 독출 동작 과정에서 에러 정정 실패가 발생되는 경우에, 에러 정정에 실패한 페이지에 포함된 제1에러 정정률이 적용되는 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
다른 예로서, 메모리 컨트롤러(10)는 메모리 장치에 대한 데이터 독출 동작 과정에서 에러 정정 실패가 발생되는 경우에, 에러 정정에 실패한 페이지가 포함된 블록의 다른 페이지에서 제1에러 정정률이 적용되는 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수도 있다.
최소 에러 비트 검출부(11-1)는 독출 전압(Vr) 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 독출 전압(Vr) 레벨을 검출하고, 검출된 독출 전압 레벨을 기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 기준 전압 레벨을 싱글 레벨 셀의 독출 전압(Vri)으로 결정할 수 있다.
다른 예로서, 독출 전압 제어부(11A)는 메모리 장치(20)의 메모리 셀(MCEL)이 멀티 레벨 셀인 경우에, 하나의 물리적 페이지를 구성하는 복수개의 논리적 페이지들에 대하여 논리적 페이지 단위로 데이터를 독출하는데 필요한 복수개의 독출 전압들 정해진 순서에 따라서 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어할 수 있다.
예로서, 메모리 셀(MCEL)이 3 비트로 프로그램되는 3 비트 멀티 레벨 셀인 경우에, 도 10a~ 도 10c에 도시된 바와 같이 LSB(least significant bit) 독출 동작(READ1), CSB(central significant bit) 독출 동작(READ2) 및 MSB(most significant bit) 독출 동작(READ3)을 각각 수행한다.
LSB(least significant bit) 독출 동작(READ1)을 수행하면서 독출 전압을 최적화시키는 동작에 대하여 설명하기로 한다.
우선, LSB(least significant bit) 독출 동작(READ1) 시에 제5독출 전압(Vr5)을 고정시킨 상태에서 제1독출 전압(Vr1) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다. 예로서, 제5독출 전압(Vr5)은 초기 설정된 제5독출 전압(Vr5) 레벨로 고정시킬 수 있다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
최소 에러 비트 검출부(11-1)는 변경되는 제1독출 전압(Vr1) 레벨 및 고정된 제5독출 전압(Vr5)을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 제1독출 전압(Vr1) 레벨을 검출하고, 검출된 제1독출 전압(Vr1) 레벨을 제1기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 제1기준 전압 레벨을 멀티 레벨 셀의 제1독출 전압(Vr1)으로 결정할 수 있다.
다음으로, LSB(least significant bit) 독출 동작(READ1) 시에 제1독출 전압(Vr1)을 고정시킨 상태에서 제5독출 전압(Vr5) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다. 예로서, 제1독출 전압(Vr1)은 제1기준 전압 레벨로 고정시킬 수 있다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
최소 에러 비트 검출부(11-1)는 변경되는 제5독출 전압(Vr5) 레벨 및 고정된 제1독출 전압(Vr1)을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 제5독출 전압(Vr5) 레벨을 검출하고, 검출된 제5독출 전압(Vr5) 레벨을 제5기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 제5기준 전압 레벨을 멀티 레벨 셀의 제5독출 전압(Vr5)으로 결정할 수 있다.
이와 같은 동작에 의하여 LSB(least significant bit) 독출 동작(READ1) 시에 메모리 장치(20)에 인가되는 제1독출 전압(Vr1) 및 제5독출 전압(Vr5)에 대한 제1기준 전압 레벨 및 제5기준 전압 레벨을 결정할 수 있다. 또한, LSB(least significant bit) 독출 동작(READ1) 시에 메모리 장치(20)에 인가되는 제1독출 전압(Vr1) 및 제5독출 전압(Vr5)을 제1기준 전압 레벨 및 제5기준 전압 레벨로 각각 결정할 수도 있다.
다음으로, CSB(central significant bit) 독출 동작(READ2)을 수행하면서 독출 전압을 최적화시키는 동작에 대하여 설명하기로 한다.
우선, CSB(central significant bit) 독출 동작(READ2) 시에 제4독출 전압(Vr4) 및 제6독출 전압(Vr6)을 각각 고정시킨 상태에서 제2독출 전압(Vr2) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다.
예로서, 제4독출 전압(Vr4) 및 제6독출 전압(Vr6)은 각각 초기 설정된 제4독출 전압(Vr4) 레벨 및 제6독출 전압(Vr6) 레벨로 고정시킬 수 있다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
최소 에러 비트 검출부(11-1)는 변경되는 제2독출 전압(Vr2) 레벨 및 고정된 제4독출 전압(Vr4) 및 제6독출 전압(Vr6)을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 제2독출 전압(Vr2) 레벨을 검출하고, 검출된 제2독출 전압(Vr2) 레벨을 제2기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 제2기준 전압 레벨을 멀티 레벨 셀의 제2독출 전압(Vr2)으로 결정할 수 있다.
다음으로, CSB(central significant bit) 독출 동작(READ2) 시에 제2독출 전압(Vr2) 및 제6독출 전압(Vr6)을 각각 고정시킨 상태에서 제4독출 전압(Vr4) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다. 예로서, 제2독출 전압(Vr2)은 제2기준 전압 레벨로 고정시킬 수 있다. 그리고, 제6독출 전압(Vr6)은 초기 설정된 제6독출 전압(Vr6) 레벨로 고정시킬 수 있다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
최소 에러 비트 검출부(11-1)는 변경되는 제4독출 전압(Vr4) 레벨 및 고정된 제2독출 전압(Vr2) 및 제6독출 전압(Vr6)을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 제4독출 전압(Vr4) 레벨을 검출하고, 검출된 제4독출 전압(Vr4) 레벨을 제4기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 제4기준 전압 레벨을 멀티 레벨 셀의 제4독출 전압(Vr4)으로 결정할 수 있다.
다음으로, CSB(central significant bit) 독출 동작(READ2) 시에 제2독출 전압(Vr2) 및 제4독출 전압(Vr4)을 각각 고정시킨 상태에서 제6독출 전압(Vr6) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다. 예로서, 제2독출 전압(Vr1) 및 제4독출 전압(Vr4)은 각각 제2기준 전압 레벨 및 제4기준 전압 레벨로 고정시킬 수 있다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
최소 에러 비트 검출부(11-1)는 변경되는 제6독출 전압(Vr6) 레벨 및 고정된 제2독출 전압(Vr2) 및 제4독출 전압(Vr4)을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 제6독출 전압(Vr6) 레벨을 검출하고, 검출된 제6독출 전압(Vr6) 레벨을 제6기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 제6기준 전압 레벨을 멀티 레벨 셀의 제6독출 전압(Vr6)으로 결정할 수 있다.
이와 같은 동작에 의하여 CSB(central significant bit) 독출 동작(READ2) 시에 메모리 장치(20)에 인가되는 제2독출 전압(Vr2), 제4독출 전압(Vr4) 및 제6독출 전압(Vr6)에 대한 제2기준 전압 레벨, 제4기준 전압 레벨 및 제6기준 전압 레벨을 각각 결정할 수 있다. 또한, CSB(central significant bit) 독출 동작(READ2) 시에 메모리 장치(20)에 인가되는 제2독출 전압(Vr2), 제4독출 전압(Vr4) 및 제6독출 전압(Vr6)을 제2기준 전압 레벨, 제4기준 전압 레벨 및 제6기준 전압 레벨로 각각 결정할 수도 있다.
MSB(most significant bit) 독출 동작(READ3)을 수행하면서 독출 전압을 최적화시키는 동작에 대하여 설명하기로 한다.
우선, MSB(most significant bit) 독출 동작(READ3) 시에 제7독출 전압(Vr7)을 고정시킨 상태에서 제3독출 전압(Vr3) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다. 예로서, 제7독출 전압(Vr7)은 초기 설정된 제7독출 전압(Vr7) 레벨로 고정시킬 수 있다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
최소 에러 비트 검출부(11-1)는 변경되는 제3독출 전압(Vr3) 레벨 및 고정된 제7독출 전압(Vr7)을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 제3독출 전압(Vr3) 레벨을 검출하고, 검출된 제3독출 전압(Vr3) 레벨을 제3기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 제3기준 전압 레벨을 멀티 레벨 셀의 제3독출 전압(Vr3)으로 결정할 수 있다.
다음으로, MSB(most significant bit) 독출 동작(READ3) 시에 제3독출 전압(Vr3)을 고정시킨 상태에서 제7독출 전압(Vr7) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어한다. 예로서, 제3독출 전압(Vr3)은 제3기준 전압 레벨로 고정시킬 수 있다.
메모리 컨트롤러(10)는 이와 같이 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있으며, 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행할 수 있다.
최소 에러 비트 검출부(11-1)는 변경되는 제7독출 전압(Vr7) 레벨 및 고정된 제3독출 전압(Vr3)을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅하여, 최소 에러 비트 개수를 검출한다.
기준 전압 레벨 결정부(11-2)는 최소 에러 비트 개수가 검출된 데이터를 독출할 때 메모리 장치(20)에 인가된 제7독출 전압(Vr7) 레벨을 검출하고, 검출된 제7독출 전압(Vr7) 레벨을 제7기준 전압 레벨로 결정한다. 예로서, 이와 같이 결정된 제7기준 전압 레벨을 멀티 레벨 셀의 제7독출 전압(Vr7)으로 결정할 수 있다.
이와 같은 동작에 의하여 MSB(most significant bit) 독출 동작(READ3) 시에 메모리 장치(20)에 인가되는 제3독출 전압(Vr3) 및 제7독출 전압(Vr7)에 대한 제3기준 전압 레벨 및 제7기준 전압 레벨을 각각 결정할 수 있다. 또한, MSB(most significant bit) 독출 동작(READ3) 시에 메모리 장치(20)에 인가되는 제3독출 전압(Vr3) 및 제7독출 전압(Vr7)을 제3기준 전압 레벨 및 제7기준 전압 레벨로 각각 결정할 수도 있다.
이와 같은 동작에 의하여 기준 전압 레벨 결정부(11-2)는 멀티 레벨 셀의 복수의 독출 전압(Vri)들을 각각 결정할 수 있다.
위에서 언급한 LSB(least significant bit) 독출 동작(READ1), CSB(central significant bit) 독출 동작(READ2) 및 MSB(most significant bit) 독출 동작(READ3) 과정에서의 독출 전압을 최적화시키는 동작에서 고정되는 독출 전압과 변경되는 독출 전압의 순서는 다르게 설정할 수도 있다.
그리고, 메모리 셀(MCEL)이 싱글 레벨 셀 또는 3비트 멀티 레벨 셀인 예에서 독출 전압을 최적화시키는 동작에 대하여 설명하였으나, 본 발명은 2비트 멀티 레벨 셀 또는 4비트 이상의 멀티 레벨 셀에 대해서도 동등한 방법으로 독출 전압을 최적화시킬 수 있다.
도 12에 도시된 바와 같이, 본 발명의 다른 실시 예에 따른 독출 전압 제어부(11A')는 최소 에러 비트 검출부(11-1), 기준 전압 레벨 결정부(11-2) 및 독출 전압 결정부(11-3)를 포함할 수 있다.
도 12에 도시된 독출 전압 제어부(11A')에 포함된 구성 요소들 중 최소 에러 비트 검출부(11-1) 및 기준 전압 레벨 결정부(11-2)는 도 11의 독출 전압 제어부(11A)에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 번호로 표시되며, 도 11의 독출 전압 제어부(11A)와 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 이에 따라서, 최소 에러 비트 검출부(11-1) 및 기준 전압 레벨 결정부(11-2)에 대한 중복 설명은 피하기로 한다.
독출 전압 결정부(11-3)는 기준 전압 레벨 결정부(11-2)에서 결정된 기준 전압 레벨에 기초하여 메모리 장치의 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압(Vri)을 결정한다.
예로서, 기준 전압 레벨을 독출 전압으로 적용하여 메모리 장치(20)의 제2에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출하고, 독출된 데이터에 대한 ECC 디코딩 처리를 수행하여 에러 정정에 성공한 경우에 기준 전압 레벨을 독출 전압으로 결정할 수 있다. 멀티 레벨 셀을 포함하는 메모리 장치(20)에서는 하나의 물리적 페이지를 구성하는 복수개의 논리적 페이지들에 대하여 논리적 페이지 단위로 데이터를 독출하는데 필요한 복수개의 독출 전압들에 대한 기준 전압들을 적용하여 독출 전압들을 각각 결정할 수 있다.
다른 예로서, 독출 전압 결정부(11-3)는 기준 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 메모리 셀의 두 인접한 상태들의 산포들 사이의 골(valley)을 검색하고, 검색된 골에 대응되는 전압 레벨을 독출 전압(Vri)으로 결정할 수도 있다. 세부적으로, 독출 전압 결정부(11-3)는 기준 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 인접한 두 전압 레벨들에 의해 구분되는 구획들 각각에 존재하는 메모리 셀들의 개수를 산출하고, 구획들 각각에 존재하는 메모리 셀들의 개수가 감소하다가 증가하는 지점을 골로 결정하는 할 수 있다.
도 13은 도 1의 메모리 시스템에 포함된 독출 전압 제어부(11)의 또 다른 실시 예에 따른 세부 구성도이다.
도 13에 도시된 바와 같이, 본 발명의 또 다른 실시 예에 따른 독출 전압 제어부(11B)는 카운팅부(11-10), 비교부(11-11) 및 기준 전압 레벨 결정부(11-12)를 포함할 수 있다.
카운팅부(11-10)는 최적의 독출 전압을 결정하기 위하여 독출 전압 레벨을 변경시킬 때마다 각각의 독출 전압 레벨에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅한다.
예로서, 독출 전압 최적화 모드에서 독출 전압을 순차적으로 변경시키면서 각각의 독출 전압 레벨에 대하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)의 에러 검출 과정에서 검출된 에러 비트 개수를 카운팅부(11-10)에서 카운팅하여 에러 비트 개수를 산출할 수 있다. 독출 전압 최적화 모드는 메모리 장치(20)의 제2부류의 저장 영역에서 독출된 데이터를 디코딩하는 과정에서 에러 정정에 실패한 조건에서 수행될 수 있다. 그리고, 카운팅 구간은 메모리 장치(20)의 제1부류의 저장 영역에 저장된 일부 메타 데이터를 독출하여 제1ECC 처리부(12-1)에서 에러 검출 및 정정 처리를 수행하는 구간으로 결정할 수 있다.
비교부(11-11)는 카운팅부(11-10)에서 독출 전압 레벨 별로 카운팅된 에러 비트 개수를 비교하는 동작을 수행한다. 예로서, 현재 독출 전압 레벨과 이전 독출 전압 레벨에서 각각 카운팅된 에러 비트 개수를 비교하고, 비교 결과에 대한 정보를 기준 전압 레벨 결정부(11-12)로 출력한다. 예로서, 비교부(11-11)는 현재 독출 전압 레벨에서 카운팅된 에러 비트 개수가 이전 독출 전압 레벨에서 카운팅된 에러 비트 개수보다 작거나 같은 경우에는 제1신호를 출력할 수 있다. 그리고, 현재 독출 전압 레벨에서 카운팅된 에러 비트 개수가 이전 독출 전압 레벨에서 카운팅된 에러 비트 개수보다 큰 경우에는 제2신호를 출력할 수 있다. 현재 독출 전압 레벨이 최초의 독출 전압 레벨인 경우에는 제3신호를 출력할 수 있다.
기준 전압 레벨 결정부(11-12)는 비교부(11-11)로부터 제2신호가 입력될 때 현재 독출 전압 레벨 바로 이전에 적용된 독출 전압 레벨을 최소 에러 비트 개수가 발생된 기준 전압 레벨로 결정한다.
예로서, 독출 전압 레벨을 Vi-1, Vi, Vi+1, ... 순으로 변경하면서 각각의 독출 전압 레벨 별로 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 카운팅된 에러 비트 개수가 도 15에 도시된 바와 같이, 독출 전압 레벨(Vi-1)에서 카운팅된 에러 비트 개수가 8이고, 독출 전압 레벨(Vi)에서 카운팅된 에러 비트 개수가 4이고, 독출 전압 레벨(Vi-1)에서 에러 비트 개수가 7이라고 가정하자. 그러면, 비교부(11-11)는 독출 전압 레벨(Vi+1)에서 제3신호를 발생시키고, 독출 전압 레벨(Vi)에서 제1신호를 발생시키고, 독출 전압 레벨(Vi+1)에서 제2신호를 발생시킨다. 이에 따라서, 제2신호가 발생된 현재 독출 전압 레벨(Vi+1) 바로 이전에 적용된 독출 전압 레벨(Vi)을 최소 에러 비트가 발생된 독출 전압(Vri) 레벨로 검출하고, 검출된 독출 전압 레벨을 기준 전압 레벨로 결정할 수 있다.
도 14는 도 1의 메모리 시스템에 포함된 독출 전압 제어부(11)의 또 다른 실시 예에 따른 세부 구성도이다.
도 14에 도시된 바와 같이, 본 발명의 또 다른 실시 예에 따른 독출 전압 제어부(11B')는 카운팅부(11-10), 비교부(11-11), 기준 전압 레벨 결정부(11-12) 및 독출 전압 결정부(11-3)를 포함할 수 있다.
도 14에 도시된 독출 전압 제어부(11B')에 포함된 구성 요소들 중 카운팅부(11-10), 비교부(11-11) 및 기준 전압 레벨 결정부(11-2)는 도 13의 독출 전압 제어부(11B)에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 번호로 표시되며, 도 13의 독출 전압 제어부(11B)와 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 또한, 도 14에 도시된 독출 전압 결정부(11-3)는 도 12의 독출 전압 제어부(11A')에 포함된 독출 전압 결정부(11-3)와 실질적으로 동일하므로 중복 설명은 하지 않는다.
도 16은 본 발명의 다른 실시예에 따른 메모리 시스템(100')을 개략적으로 나타내는 블록도이다.
도 16을 참조하면, 메모리 시스템(100')은 메모리 컨트롤러(10') 및 메모리 장치(20')를 포함할 수 있다. 본 실시예에 따른 메모리 시스템(100')에 포함된 구성 요소들 중 일부는 도 1의 메모리 시스템(100)에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 번호로 표시되며, 도 1의 메모리 시스템(100)과 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 이하에서는, 도 1의 메모리 시스템(100)과 본 실시예에 따른 메모리 시스템(100')의 차이점을 중심으로 상술하기로 한다.
메모리 장치(20')는 메모리 셀 어레이(21) 및 독출 전압 제어부(26)를 포함할 수 있다. 메모리 셀 어레이(21)는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 독출 전압 제어부(26)는 메모리 셀 어레이(21)에 포함된 메모리 셀들에 저장된 데이터를 독출하기 위한 독출 전압의 전압 레벨을 제어할 수 있다. 독출 전압 제어부(26)는 도 1에 도시된 메모리 컨트롤러(10)에 포함된 독출 전압 제어부(11)와 실질적으로 동일한 구성 요소에 해당된다.
메모리 컨트롤러(10')는 ECC 처리 블록(12)을 포함할 수 있는데, ECC 처리 블록(12)은 메모리 장치(20)로부터 독출된 데이터에 에러(즉, 독출 에러)가 존재하는지 체크하고 정정할 수 있다. ECC 처리 블록(12)은 제1ECC 처리부(12-1) 및 제2ECC 처리부(12-2)를 포함할 수 있다. ECC 처리 블록(12)은 도 1에서 이미 설명하였으므로 중복된 설명은 피하기로 한다.
도 16을 참조하면, 메모리 시스템(100')에서 메모리 컨트롤러(10')는 독출 전압을 최적화시키는 모드에서 ECC 처리 블록(12)에서 검출된 에러 비트에 대한 정보를 메모리 장치(20')의 독출 전압 제어부(26)로 전달한다.
이에 따라서, 메모리 장치(20')에 포함된 독출 전압 제어부(26)는 독출 전압을 최적화시키는 모드에서 각각의 독출 전압 레벨에 대하여 제1에러 정정률이 적용되는 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 검출되는 에러 비트 개수를 산출하고, 복수의 독출 전압 레벨들 중에서 산출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 기준 전압 레벨로 결정할 수 있다. 또한, 기준 전압 레벨에 기초하여 최적의 독출 전압을 결정할 수 있다.
도 17은 도 16의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 17을 참조하면, 메모리 장치(20')는 메모리 셀 어레이(21), 제어 로직(22'), 전압 발생기(23), 로우 디코더(24), 페이지 버퍼(25) 및 독출 전압 제어부(26)를 포함할 수 있다. 본 실시예에 따른 메모리 장치(20')에 포함된 구성 요소들 중 일부는 도 2의 메모리 장치(20)에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 번호로 표시되며, 도 2의 메모리 장치(20)와 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 이하에서는, 도 2의 메모리 장치(20)와 본 실시예에 따른 메모리 장치(20')의 차이점을 중심으로 상술하기로 한다.
제어 로직(22')은 메모리 컨트롤러(10)로부터 수신한 커맨드(CMD), 어드레스(ADDR), 제어 신호(CTRL) 및 독출 전압 제어부(26)로부터 수신한 독출 전압(Vr)을 기초로 하여 메모리 셀 어레이(21)에 데이터를 기입하거나 메모리 셀 어레이(21)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이때, 제어 로직(22')에서 출력된 제어 신호는 전압 발생기(23) 로우 디코더(24) 및 페이지 버퍼(25)에 전달될 수 있다.
독출 전압 제어부(26)는 메모리 셀 어레이(21)에 배치된 메모리 셀들에 저장된 데이터를 독출하기 위한 독출 전압(Vr)의 전압 레벨을 제어할 수 있다. 이때, 독출 전압 제어부(26)의 출력, 예를 들어, 제어된 독출 전압 또는 독출 전압의 변화량은 제어 로직(22')에 제공될 수 있다. 이와 같이, 메모리 장치(20')는 독출 전압 제어부(26)를 포함함으로써, 외부 자극 및/또는 마모 등에 의해 메모리 셀들의 문턱 전압이 변경되더라도 변경된 문턱 전압을 기초로 하여 독출 전압(Vr)의 전압 레벨을 제어할 수 있고, 이에 따라, RBER를 개선시킬 수 있다
도 18은 본 발명의 다른 실시 예에 따른 메모리 시스템(1000)을 나타내는 블록 구성도이다.
도 18을 참조하면, 메모리 시스템(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) 및 버스(1170)를 포함한다.
버스(1170)는 메모리 컨트롤러(1100)의 구성 수단들 간의 데이터를 전송하는 전송로를 의미한다.
CPU(1120)는 메모리 시스템(1000)의 전반적인 동작을 제어한다. 예로서, 호스트로부터 수신되는 커맨드를 해독하고, 해독된 결과에 따른 동작을 수행하도록 메모리 시스템(1000)을 제어한다.
CPU(1120)는 독출 동작 시에는 독출 커맨드 및 어드레스를 메모리 장치(122)에 제공하고, 라이트 동작 시에는 라이트 커맨드, 어드레스, 그리고 데이터를 제공한다. 그리고, CPU(1120)는 논리적 어드레스를 물리적 어드레스로 변환시키는 처리를 수행한다.
CPU(1120)는 본 발명에서 제안하는 메모리 장치의 독출 전압 제어 방법을 실행시키기 위한 동작을 수행하도록 메모리 시스템(1000)을 제어한다. 예로서, CPU(1120)는 도 19 ~ 도 25에 도시된 흐름도에 따라 메모리 장치의 독출 전압 제어 방법 및 데이터 독출 방법을 메모리 시스템(1000)에서 수행하도록 메모리 시스템(1000)을 제어할 수 있다.
RAM(1110)에는 호스트로부터 전송된 데이터가 임시로 저장되거나 메모리 장치(1200)에서 독출된 데이터가 임시로 저장된다. 또한, RAM(1110)에는 메모리 장치(1200)로부터 독출된 메타 데이터도 저장된다. RAM(1110)은 DRAM, SRAM 등으로 구현될 수 있다.
메타 데이터(meta data)는 메모리 시스템(1000)을 관리하기 위한 정보가 포함될 수 있다. 관리 정보인 메타 데이터에는 논리적 어드레스(Logical Address)를 메모리 장치(1200)의 물리적 어드레스(Physical Address)로 변환시키는데 이용되는 매핑(mapping) 정보가 포함될 수 있다. 그리고, 메타 데이터에는 메모리 장치(1200)의 영역별 열화 정도를 판단하는데 이용될 수 있는 정보들도 포함될 수 있다. 또한, 메타 데이터에는 메모리 장치(1200)의 저장 공간을 관리하기 위한 정보들도 포함할 수 있다.
호스트 인터페이스(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)와 실질적으로 동일한 구성 및 동작을 수행하는 구성 요소이므로 중복된 설명은 피하기로 한다. 또한, ECC 처리 블록(1140)은 도 1에 도시된 ECC 처리 블록(12)과 실질적으로 동일한 구성 및 동작을 수행하는 구성 요소이므로 중복된 설명은 피하기로 한다.
도 18에 도시된 메모리 시스템(1000)에서는 독출 전압 제어부(1130)를 메모리 컨트롤러(1000)에 배치하였으나, 메모리 시스템(1000)의 또 다른 실시 예에서는 독출 전압 제어부(1130)를 메모리 장치(1200)에 배치할 수도 있다.
CPU(1120)의 제어 동작에 따라서 메모리 시스템(1000)에서 수행되는 메모리 장치의 독출 전압 제어 방법 및 데이터 독출 방법에 대해서는 아래의 도 19 ~ 도 25에서 상세히 설명되어질 것이다.
그러면, 도 19의 흐름도를 참조하여 메모리 시스템(1000)에서 수행되는 본 발명의 실시 예에 따른 메모리 장치의 독출 전압 제어 방법을 설명하기로 한다.
CPU(1120)는 메모리 장치(1200)에서 제1에러 정정률이 적용되는 저장 영역에서의 데이터 독출 동작에 따른 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하도록 메모리 시스템(1000)을 제어한다(S110). 제1에러 정정률이 적용되는 저장 영역은 메타 데이터가 저장되는 저장 영역이 포함될 수 있다. 예로서, 독출 전압 레벨을 순차적으로 변경시키면서 각각의 독출 전압 레벨을 메모리 장치(1200)에 적용하여 제1에러 정정률이 적용되는 저장 영역으로부터 독출된 데이터에 대하여 제1ECC 처리부(12-1)에서 검출되는 에러 비트 개수를 산출하고, 복수의 독출 전압 레벨들 중에서 산출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출할 수 있다.
예로서, CPU(1120)는 메모리 장치(1200)에 대한 데이터 독출 동작 과정에서 에러 정정 실패가 발생되는 경우에, 에러 정정에 실패한 페이지에 포함된 제1에러 정정률이 적용되는 저장 영역에서의 에러 정정 처리에 따른 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하도록 메모리 시스템(1000)을 제어할 수 있다.
예로서, CPU(1120)는 메모리 장치(1200)에 대한 데이터 독출 동작 과정에서 에러 정정 실패가 발생되는 경우에, 에러 정정에 실패한 페이지가 포함된 블록의 다른 페이지의 제1에러 정정률이 적용되는 저장 영역에서의 에러 정정 처리에 따른 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하도록 메모리 시스템(1000)을 제어할 수 있다.
CPU(1120)는 단계110(S110)에서 검출된 독출 전압 레벨에 기초하여 제2에러 정정률이 적용되는 저장 영역에 대한 독출 전압을 결정하도록 메모리 시스템(1000)을 제어한다(S120).
예로서, CPU(1120)는 기준 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 메모리 셀의 두 인접한 상태들의 산포들 사이의 골(valley)을 검색하는 프로세스를 실행하고, 검색된 골에 대응되는 전압 레벨을 독출 전압으로 결정할 수 있다.
다른 예로서, 단계110(S110)에서 검출된 독출 전압 레벨을 제2에러 정정률이 적용되는 저장 영역에 대한 독출 전압으로 결정할 수도 있다.
또 다른 예로서, 단계110(S110)에서 검출된 기준 전압 레벨을 독출 전압으로 적용하여 메모리 장치(1200)의 제2에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출하고, 독출된 데이터에 대한 ECC 디코딩 처리를 수행하여 에러 정정에 성공한 경우에 기준 전압 레벨을 독출 전압으로 결정할 수 있다.
예로서, CPU(1120)는 메모리 장치(1200)를 구성하는 메모리 셀(MCEL)이 싱글 레벨 셀인 경우에는 하나의 독출 전압에 대하여 위에서 언급한 방식으로 최적화시킬 수 있다.
다른 예로서, CPU(1120)는 메모리 장치(1200)를 구성하는 메모리 셀(MCEL)이 멀티 레벨 셀인 경우에는 하나의 물리적 페이지를 구성하는 복수개의 논리적 페이지들에 대하여 논리적 페이지 단위로 데이터를 독출하는데 필요한 복수개의 독출 전압들을 위에서 언급한 방식으로 각각 순차적으로 최적화시킬 수 있다.
도 20은 도 19에 도시된 흐름도의 단계110(S110)에서 수행되는 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하는 프로세스에 대한 본 발명의 실시 예에 따른 상세 흐름도이다.
CPU(1120)는 독출 전압 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨에 대하여 제1에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출하도록 메모리 시스템(1000)을 제어한다(S110-1). 예로서, 최적화시키고자 하는 독출 전압에 대한 전압 레벨을 순차적으로 변경하여 메모리 장치(1200)에 인가하고, 각각의 독출 전압 레벨을 적용하여 메모리 장치(1200)의 제1에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출할 수 있다.
다른 예로서, CPU(1120)는 메모리 장치(1200)의 제1에러 정정률이 적용되는 저장 영역에 저장된 일부 데이터를 독출하도록 메모리 시스템(1000)을 제어할 수 있다. 또 다른 예로서, CPU(1120)는 에러 정정에 실패한 페이지에 포함된 제1에러 정정률이 적용되는 저장 영역에 저장된 일부 데이터만을 독출하도록 메모리 시스템(1000)을 제어할 수 있다. 또 다른 예로서, CPU(1120)는 에러 정정에 실패한 페이지에 포함된 제1에러 정정률이 적용되는 저장 영역에 저장된 메타 데이터 전부 또는 일부를 독출하도록 메모리 시스템(1000)을 제어할 수 있다. 또 다른 예로서, CPU(1120)는 에러 정정에 실패한 하나의 페이지에 포함된 제1에러 정정률이 적용되는 저장 영역 및 제2에러 정정률이 적용되는 저장 영역에 저장된 데이터를 모두 독출하여 메모리 장치(1200)의 페이지 버퍼에 저장하도록 메모리 시스템(1000)을 제어할 수 있다.
예로서, CPU(1120)는 메모리 장치(1200)의 메모리 셀(MCEL)이 멀티 레벨 셀인 경우에, 하나의 물리적 페이지를 구성하는 복수개의 논리적 페이지들에 대하여 논리적 페이지 단위로 데이터를 독출하는데 필요한 복수개의 독출 전압들을 정해진 순서에 따라서 순차적으로 변경시킬 수 있다. 이에 따라서, 복수개의 독출 전압들 중에서 최적화시키고자 하는 하나의 독출 전압에 대한 각각의 독출 전압 레벨을 적용하여 메모리 장치(1200)의 제1에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출할 수 있다.
예로서, 하나의 논리적 페이지의 데이터를 독출하기 위하여 복수의 독출 전압들이 필요할 경우에, CPU(1120)는 복수의 독출 전압들 중에서 최적화시키고자 하는 하나의 독출 전압을 변경시키고 나머지 독출 전압들은 고정시킬 수 있다. 이에 따라서, 하나의 논리적 페이지의 데이터를 독출하기 위한 복수개의 독출 전압들 중에서 최적화시키고자 하는 하나의 독출 전압에 대한 각각의 독출 전압 레벨을 적용하여 메모리 장치(1200)의 제1에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출할 수 있다.
예로서, 메모리 셀(MCEL)이 3 비트로 프로그램되는 3 비트 멀티 레벨 셀이고, 도 10a~ 도 10c에 도시된 바와 같이 LSB(least significant bit) 독출 동작(READ1), CSB(central significant bit) 독출 동작(READ2) 및 MSB(most significant bit) 독출 동작(READ3)을 각각 수행한다고 가정하자.
이 경우에, CPU(1120)는 LSB(least significant bit) 독출 동작(READ1) 시에 제5독출 전압(Vr5)을 고정시킨 상태에서 최적화시키고자 하는 제1독출 전압(Vr1) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있다.
다음으로, CPU(1120)는 LSB(least significant bit) 독출 동작(READ1) 시에 제1독출 전압(Vr1)을 고정시킨 상태에서 최적화시키고자 하는 제1독출 전압(Vr5) 레벨을 순차적으로 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있다.
이와 같은 방식으로 CSB(central significant bit) 독출 동작(READ2) 및 MSB(most significant bit) 독출 동작(READ3)에서도 복수의 독출 전압들 중에서 최적화시키고자 하는 독출 전압을 변경하여 메모리 장치(20)에 인가하도록 독출 전압 레벨을 제어하면서 메모리 장치(20)의 제1부류의 저장 영역으로부터 데이터를 독출할 수 있다.
다음으로, CPU(1120)는 최적화시키고자 하는 독출 전압에 대한 각각의 독출 전압 레벨들을 적용하여 메모리 장치(20)의 제1부류의 저장 영역으로부터 독출된 데이터에 대하여 ECC 처리 블록(1140)의 제1ECC 처리부(12-1)에서 에러 검출 및 에러 정정 처리를 수행하도록 메모리 시스템(1000)을 제어한다(S110-2).
다음으로, CPU(1120)는 최적화시키고자 하는 독출 전압에 대한 각각의 독출 전압 레벨별로 에러 비트 개수를 산출하도록 메모리 시스템(1000)을 제어한다(S110-3).
다음으로, CPU(1120)는 최적화시키고자 하는 독출 전압에 대한 각각의 독출 전압 레벨별로 산출된 에러 비트 개수들 중에서 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출하도록 메모리 시스템(1000)을 제어한다(S110-4).
도 21은 도 19에 도시된 흐름도의 단계120(S120)에서 수행되는 독출 전압을 결정하는 프로세스에 대한 본 발명의 일실시 예에 따른 상세 흐름도이다.
CPU(1120)는 최적화시키고자 하는 독출 전압에 대하여 단계110(S110)에서 검출된 독출 전압 레벨을 적용하여 메모리 장치(1200)의 제2에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출하도록 메모리 시스템(1000)을 제어한다(S120-1A).
예로서, 메모리 장치(1200)의 메모리 셀(MCEL)이 멀티 레벨 셀인 경우에 논리적 페이지 단위로 데이터를 독출하는데 필요한 복수개의 독출 전압들 각각에 대하여 검출된 독출 전압 레벨들을 메모리 장치(1200)에 적용하여 제2에러 정정률이 적용되는 저장 영역으로부터 데이터를 독출할 수 있다.
예로서, 단계110(S110)에서 검출된 독출 전압 레벨을 적용하여 독출 전압 최적화 동작 이전에 에러 정정에 실패했던 제2에러 정정률이 적용된 논리적 페이지로부터 데이터를 독출할 수 있다.
CPU(1120)는 단계120-1A(S120-1A)에서 독출된 데이터 데이터에 대하여 ECC 처리 블록(1140)의 제2ECC 처리부(12-2)에서 에러 검출 및 에러 정정 처리를 수행하도록 메모리 시스템(1000)을 제어한다(S120-2A).
CPU(1120)는 단계120-2A(S120-2A)에서의 에러 검출 및 에러 정정 처리 결과 에러 정정에 성공하는지를 판단하도록 메모리 시스템(1000)을 제어한다(S120-3A).
CPU(1120)는 단계120-3A(S120-3A)의 판단 결과 에러 정정에 성공한 경우에, 단계110(S110)에서 검출된 독출 전압 레벨을 최적화시키고자 하는 독출 전압으로 결정하도록 메모리 시스템(1000)을 제어한다(S120-4A).
CPU(1120)는 단계120-3A(S120-3A)의 판단 결과 에러 정정에 실패한 경우에, 데이터 독출 실패로 판정하도록 메모리 시스템(1000)을 제어한다(S120-5A).
도 22는 도 19에 도시된 흐름도의 단계120(S120)에서 수행되는 독출 전압을 결정하는 프로세스에 대한 본 발명의 다른 실시 예에 따른 상세 흐름도이다.
CPU(1120)는 최적화시키고자 하는 독출 전압에 대하여 단계110(S110)에서 검출된 독출 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 메모리 셀의 두 인접한 상태들의 산포들 사이의 골을 검색하는 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S120-1B). 예로서, 인접한 두 전압 레벨들에 의해 구분되는 구획들 각각에 존재하는 메모리 셀들의 개수가 최소가 되는 지점을 골로 판정할 수 있다.
CPU(1120)는 단계120-1B(S120-1B)에서 검색된 골에 대응되는 전압 레벨을 최적화시키고자 하는 독출 전압으로 결정하도록 메모리 시스템(1000)을 제어한다(S120-2B).
도 23은 도 22에 도시된 흐름도의 단계120-1B(S120-1B)에서 수행되는 골 검색 프로세스에 대한 본 발명의 실시 예에 따른 상세 흐름도이다.
CPU(1120)는 최적화시키고자 하는 독출 전압에 대하여 단계110(S110)에서 검출된 독출 전압 레벨에 기초하여 구분되는 구획들 각각에 존재하는 메모리 셀들의 개수를 산출하도록 메모리 시스템(1000)을 제어한다(S120-1B1). 예로서, 검출된 독출 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 복수의 전압 레벨들에 의해 구분되는 복수의 구획들 각각에 존재하는 메모리 셀들의 개수를 카운팅할 수 있다.
CPU(1120)는 단계120-1B1(S120-1B1)에서 산출된 각 구획의 메모리 셀들의 개수에 기초하여 산포들 사이의 골을 결정하도록 메모리 시스템(1000)을 제어한다(S120-1B2). 예로서, 복수의 구획들 각각에 존재하는 메모리 셀들의 개수가 감소하다가 증가하는 지점을 골로 결정할 수 있다. 예로서, 복수의 구획들 각각에 존재하는 메모리 셀들의 개수가 감소하다가 증가하는 구획의 중간 지점을 골로 결정할 수 있다.
도 24는 본 발명의 일 실시 예에 따른 데이터 독출 방법의 흐름도이다.
CPU(1120)는 호스트의 요구에 따라서 데이터 독출 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S210). 예로서, 데이터 독출 동작 수행 시에 메타 데이터가 저장되는 제1부류의 저장 영역으로부터 독출된 데이터에 대해서는 제1ECC 처리부(12-1)에서 ECC 디코딩 처리하고, 사용자 데이터가 저장되는 제2부류의 저장 영역으로부터 독출된 데이터에 대해서는 제2ECC 처리부(12-2)에서 ECC 디코딩 처리하도록 메모리 시스템(1000)을 제어할 수 있다. 위에서 언급한 바와 같이, 제1에러 정정률은 제2에러 정정률보다 정정률이 높다.
CPU(1120)는 데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 성공하는지를 판단하도록 메모리 시스템(1000)을 제어한다(S220). CPU(1120)는 데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 성공한 경우에는 단계를 종료한다.
데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 실패한 경우에, CPU(1120)는 메모리 장치(1200)에서 제1에러 정정률이 적용되는 저장 영역에서의 에러 정정 처리에 따른 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하도록 메모리 시스템(1000)을 제어한다(S110'). 예로서, CPU(1120)는 에러 정정에 실패한 페이지에 포함된 제1부류의 저장 영역 및 제2부류의 저장 영역으로부터 데이터를 독출하여 메모리 장치(1200)의 페이지 버퍼에 로딩시키고, 페이지 버퍼에 로딩된 제1부류의 저장 영역에 대한 데이터에서 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하도록 메모리 시스템(1000)을 제어할 수 있다.
CPU(1120)는 단계110'(S110')에서 검출된 독출 전압 레벨에 기초하여 제2에러 정정률이 적용되는 저장 영역에 대한 독출 전압을 결정하도록 메모리 시스템(1000)을 제어한다(S120').
도 24의 데이터 독출 방법의 흐름도에 기재된 단계110'(S110') 및 단계120'(S120')은 각각 도 19의 메모리 장치의 독출 전압 제어 방법의 흐름도에 기재된 단계110(S110) 및 단계120(S120)과 실질적으로 동일한 동작을 수행하므로 중복된 설명은 피하기로 한다.
다음으로, CPU(1120)는 단계120'(S120')에서 결정된 독출 전압을 적용하여 데이터 독출 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S230).
도 25는 본 발명의 다른 실시 예에 따른 데이터 독출 방법의 흐름도이다.
CPU(1120)는 호스트의 요구에 따라서 데이터 독출 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S310). 예로서, 데이터 독출 동작 수행 시에 메타 데이터가 저장되는 제1부류의 저장 영역으로부터 독출된 데이터에 대해서는 제1ECC 처리부(12-1)에서 ECC 디코딩 처리하고, 사용자 데이터가 저장되는 제2부류의 저장 영역으로부터 독출된 데이터에 대해서는 제2ECC 처리부(12-2)에서 ECC 디코딩 처리하도록 메모리 시스템(1000)을 제어할 수 있다. 위에서 언급한 바와 같이, 제1에러 정정률은 제2에러 정정률보다 정정률이 높다.
CPU(1120)는 데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 성공하는지를 판단하도록 메모리 시스템(1000)을 제어한다(S320). CPU(1120)는 데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 성공한 경우에는 단계를 종료한다.
데이터 독출 동작의 ECC 디코딩 처리 수행 과정에서 에러 정정에 실패한 경우에, CPU(1120)는 메모리 장치(1200)에서 제1에러 정정률이 적용되는 제1부류의 저장 영역에서 에러 정정에 성공했는지를 판단한다(S330). 예로서, CPU(1120)는 데이터 독출 요구된 페이지에 포함된 제1부류의 저장 영역으로부터 메타 데이터 독출 동작 과정에서 에러 정정에 성공했는지를 판단한다.
단계330(S330)의 판단 결과 제1부류의 저장 영역에서 에러 정정에 성공한 경우에, CPU(1120)는 메모리 장치(1200)에서 제1에러 정정률이 적용되는 저장 영역에서의 에러 정정 처리에 따른 최소 에러 비트가 발생되는 기준 전압 레벨을 검출하도록 메모리 시스템(1000)을 제어한다(S110").
CPU(1120)는 단계110"(S110")에서 검출된 기준 전압 레벨에 기초하여 제2에러 정정률이 적용되는 저장 영역에 대한 독출 전압을 결정하도록 메모리 시스템(1000)을 제어한다(S120").
도 25의 데이터 독출 방법의 흐름도에 기재된 단계110"(S110") 및 단계120"(S120")은 각각 도 19의 메모리 장치의 독출 전압 제어 방법의 흐름도에 기재된 단계110(S110) 및 단계120(S120)과 실질적으로 동일한 동작을 수행하므로 중복된 설명은 피하기로 한다.
만일 단계330(S330)의 판단 결과 제1부류의 저장 영역에서 에러 정정에 실패한 경우에, CPU(1120)는 메모리 장치(1200)의 테스트 영역에서의 독출 전압 최적화 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S340). 메모리 장치(1200)의 테스트 영역은 도 9에 도시된 Mon 영역이 포함될 수 있다. 테스트 영역에서의 독출 전압 최적화 동작을 수행하는 방법은 셀 시프트 레벨을 검출하는 공지된 기술을 이용하여 수행할 수 있다.
다음으로, CPU(1120)는 단계120"(S120") 또는 단계340(S304)에서 결정된 독출 전압을 적용하여 데이터 독출 동작을 수행하도록 메모리 시스템(1000)을 제어한다(S350).
도 26은 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 26을 참조하면, 메모리 카드 시스템(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 내지 도 18을 참조하여 상술된 독출 전압 제어부를 포함할 수 있다.
메모리 카드(2200)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 27은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 27을 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), RAM(3200), 입출력 장치(3300), 전원 장치(3400) 및 메모리 시스템(1000)을 포함할 수 있다. 한편, 도 38에는 도시되지 않았지만, 컴퓨팅 시스템(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)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 28은 본 발명의 실시 예들에 따른 메모리 시스템을 SSD에 적용한 예를 나타내는 블록도이다.
도 28을 참조하면, 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, 4350)은 도 1 내지 도 18을 참조하여 상술된 독출 전압 제어부를 포함할 수 있다.
도 29는 도 28의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 29를 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(5000)은 네트워크(5200)를 통해 연결되는 서버 시스템(5100) 및 다수의 단말들(5300, 5400, 5500)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(5100)은 네트워크(5200)에 연결되는 다수의 단말들(5300, 5400, 5500)로부터 수신되는 요청을 처리하는 서버(5110) 및 단말들(5300, 5400, 5500)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD(5120)를 포함할 수 있다. 이때, SSD(5120)는 도 28의 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, 26 : 독출 전압 제어부
12, 1140 : ECC 처리 블록 12-1 : 제1ECC 처리부
12-2 : 제2ECC 처리부 21 : 메모리 셀 어레이
22 : 제어 로직 23 : 전압 발생기
24 : 로우 디코더 25 : 페이지 버퍼
11-1 : 최소 에러 비트 검출부
11-2, 11-12 : 최소 에러 비트 전압 레벨 결정부
11-3, 11-13 : 독출 전압 결정부 11-10 : 카운팅부
11-11 : 비교부

Claims (10)

  1. 제1에러 정정률이 적용되는 제1부류의 저장 영역에 대한 데이터 독출 동작 과정에서 최소 에러 비트가 발생되는 메모리 장치의 독출 전압 레벨을 검출하는 단계; 및
    상기 검출된 독출 전압 레벨에 기초하여 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계를 포함하고, 상기 제1에러 정정률은 상기 제2에러 정정률보다 높은 정정률로 설정되는 것을 특징으로 하는 메모리 장치의 독출 전압 제어 방법.
  2. 제1항에 있어서, 상기 결정된 제2부류의 저장 영역에 대한 독출 전압을 적용하여 상기 제1부류 및 제2부류의 저장 영역에 대한 데이터 독출 동작을 수행하는 것을 특징으로 하는 메모리 장치의 독출 전압 제어 방법.
  3. 제1항에 있어서, 상기 메모리 장치가 멀티 레벨 셀들로 구성되는 경우에 데이터 독출 동작에 필요한 복수개의 독출 전압들 각각에 대하여 상기 최소 에러 비트가 발생되는 메모리 장치의 독출 전압 레벨을 검출하고, 검출된 독출 전압 레벨에 기초하여 각각의 독출 전압을 결정하는 것을 특징으로 하는 독출 전압 제어 방법.
  4. 제1항에 있어서, 상기 제1부류의 저장 영역은 메타 데이터가 저장되는 영역을 포함함을 특징으로 하는 메모리 장치의 독출 전압 제어 방법.
  5. 제1항에 있어서, 상기 제2부류의 저장 영역은 사용자 데이터가 저장되는 영역을 포함함을 특징으로 하는 메모리 장치의 독출 전압 제어 방법.
  6. 제1항에 있어서, 상기 독출 전압 레벨을 검출하는 단계는
    독출 전압 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨을 적용하여 상기 제1부류의 저장 영역으로부터 데이터를 독출하는 단계;
    상기 독출 전압 레벨 별로 독출된 데이터에서 검출되는 에러 비트 개수를 산출하는 단계; 및
    상기 산출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출하는 단계를 포함함을 특징으로 하는 메모리 장치의 독출 전압 제어 방법.
  7. 제1항에 있어서, 상기 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계는
    상기 검출된 독출 전압 레벨을 적용하여 상기 제2부류의 저장 영역으로부터 데이터를 독출하는 단계;
    상기 독출된 데이터에 대한 디코딩 처리를 수행하는 단계; 및
    상기 디코딩 처리 단계에서 에러 정정에 성공한 경우에 상기 검출된 독출 전압 레벨을 상기 제2부류의 저장 영역에 대한 독출 전압으로 결정하는 단계를 포함함을 특징으로 하는 메모리 장치의 독출 전압 제어 방법.
  8. 제1항에 있어서, 상기 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계는
    상기 검출된 독출 전압 레벨을 기준으로 초기 설정된 전압 범위 내에서 메모리 셀의 두 인접한 상태들의 산포들 사이의 골(valley)을 검색하는 단계; 및
    상기 검색된 골에 대응되는 전압 레벨을 상기 제2부류의 저장 영역에 대한 독출 전압으로 결정하는 단계를 포함함을 특징으로 하는 메모리 장치의 독출 전압 제어 방법.
  9. 메모리 장치에 대한 데이터 독출 동작 과정에서 에러 정정 실패가 발생되는지를 판단하는 단계;
    상기 판단 결과 에러 정정 실패가 발생되는 경우에, 메모리 장치의 제1에러 정정률이 적용되는 제1부류의 저장 영역에서의 데이터 독출 동작에 따른 최소 에러 비트가 발생되는 독출 전압 레벨을 검출하는 단계;
    상기 검출된 독출 전압 레벨에 기초하여 상기 제2에러 정정률이 적용되는 제2부류의 저장 영역에 대한 독출 전압을 결정하는 단계; 및
    상기 결정된 제2부류의 저장 영역에 대한 독출 전압을 적용하여 상기 메모리 장치의 제1부류 및 제2부류의 저장 영역에 대한 데이터 독출 동작을 수행하는 단계를 포함하고, 상기 제1에러 정정률은 상기 제2에러 정정률보다 높은 정정률로 설정하는 것을 특징으로 하는 데이터 독출 방법.
  10. 제9항에 있어서, 상기 독출 전압 레벨을 검출하는 단계는
    독출 전압 레벨을 순차적으로 변경하면서 각각의 독출 전압 레벨에 대하여 상기 제1부류의 저장 영역으로부터 데이터를 독출하는 단계;
    상기 독출 전압 레벨 별로 독출된 데이터에 대한 디코딩 처리 과정에서 검출되는 에러 비트 개수를 산출하는 단계; 및
    상기 산출된 에러 비트 개수가 최소가 되는 독출 전압 레벨을 검출하는 단계를 포함함을 특징으로 하는 데이터 독출 방법.
KR1020120086393A 2012-08-07 2012-08-07 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 KR101979734B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120086393A KR101979734B1 (ko) 2012-08-07 2012-08-07 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
US13/948,431 US9190160B2 (en) 2012-08-07 2013-07-23 Memory device having variable read voltage and related methods of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120086393A KR101979734B1 (ko) 2012-08-07 2012-08-07 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법

Publications (2)

Publication Number Publication Date
KR20140020041A true KR20140020041A (ko) 2014-02-18
KR101979734B1 KR101979734B1 (ko) 2019-05-17

Family

ID=50066089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120086393A KR101979734B1 (ko) 2012-08-07 2012-08-07 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법

Country Status (2)

Country Link
US (1) US9190160B2 (ko)
KR (1) KR101979734B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160101540A (ko) * 2015-02-17 2016-08-25 삼성전자주식회사 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법
KR20190108423A (ko) * 2018-03-14 2019-09-24 삼성전자주식회사 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US10990327B2 (en) 2018-11-19 2021-04-27 Samsung Electronics Co., Ltd. Storage device and method of operating the same

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530515B2 (en) 2013-03-13 2016-12-27 Sandisk Technologies Llc Determining read voltages for reading memory
WO2015106162A1 (en) 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
US20150279472A1 (en) * 2014-03-26 2015-10-01 Intel Corporation Temperature compensation via modulation of bit line voltage during sensing
KR102219293B1 (ko) * 2014-07-28 2021-02-23 삼성전자 주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
WO2016039767A1 (en) * 2014-09-12 2016-03-17 Hewlett Packard Enterprise Development Lp Assign error rate to memory
US9778863B2 (en) * 2014-09-30 2017-10-03 Sandisk Technologies Llc System and method for folding partial blocks into multi-level cell memory blocks
KR20160073834A (ko) * 2014-12-17 2016-06-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템 동작 방법
US10691536B2 (en) * 2017-09-22 2020-06-23 SK Hynix Inc. Method to select flash memory blocks for refresh after read operations
US10366763B2 (en) 2017-10-31 2019-07-30 Micron Technology, Inc. Block read count voltage adjustment
KR102392056B1 (ko) 2017-12-27 2022-04-28 삼성전자주식회사 메모리 장치의 데이터 독출 방법, 메모리 컨트롤러의 제어 방법 및 이들을 포함하는 저장 장치
JP2019169211A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 メモリシステム
KR102648618B1 (ko) * 2018-03-28 2024-03-19 에스케이하이닉스 주식회사 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템
US10629288B2 (en) 2018-06-25 2020-04-21 Micron Technology, Inc. Adjustable voltage drop detection threshold in a memory device
US11099781B2 (en) 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device
KR20200028255A (ko) * 2018-09-06 2020-03-16 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
JP7158965B2 (ja) * 2018-09-14 2022-10-24 キオクシア株式会社 メモリシステム
KR20200069892A (ko) * 2018-12-07 2020-06-17 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US11003383B2 (en) * 2019-07-17 2021-05-11 Micron Technology, Inc. Estimation of read level thresholds using a data structure
US10957407B1 (en) * 2019-10-30 2021-03-23 International Business Machines Corporation Calculating corrective read voltage offsets in non-volatile random access memory
KR20220103227A (ko) 2021-01-14 2022-07-22 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법
US20230393777A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Dynamic read level trim selection for scan operations of memory devices
CN118116442A (zh) * 2022-11-29 2024-05-31 长江存储科技有限责任公司 一种存储系统的操作方法、存储系统及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080064299A (ko) * 2007-01-04 2008-07-09 삼성전자주식회사 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템
KR20090000463A (ko) * 2007-06-28 2009-01-07 삼성전자주식회사 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
KR20100010746A (ko) * 2008-07-23 2010-02-02 삼성전자주식회사 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법
JP2011100519A (ja) * 2009-11-06 2011-05-19 Toshiba Corp メモリシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3975245B2 (ja) 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US7747903B2 (en) 2007-07-09 2010-06-29 Micron Technology, Inc. Error correction for memory
US20090070655A1 (en) 2007-09-11 2009-03-12 Silicon Motion, Inc. Method for Generating an ECC Code for a Memory Device
KR101398200B1 (ko) 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
KR100949471B1 (ko) 2008-04-03 2010-03-29 주식회사 코아로직 소프트웨어(s/w) 에러정정코드(ecc)를 이용한낸드 플래시에서의 데이터 입출력 방법 및 그 방법을이용한 임베디드 시스템
JP2010092574A (ja) 2008-10-12 2010-04-22 Kyoto Software Research Inc フラッシュファイルシステムの誤り訂正機能
US8072805B2 (en) * 2009-08-18 2011-12-06 Skymedi Corporation Method and system of finding a read voltage for a flash memory
JP2011197957A (ja) 2010-03-18 2011-10-06 Toshiba Corp 誤り訂正符号復号装置及び誤り訂正符号復号方法
JP2011198272A (ja) 2010-03-23 2011-10-06 Toshiba Corp 半導体記憶装置および半導体記憶装置の制御方法
JP4772909B1 (ja) 2010-03-30 2011-09-14 株式会社東芝 情報処理装置および情報処理方法
US8640005B2 (en) 2010-05-21 2014-01-28 Intel Corporation Method and apparatus for using cache memory in a system that supports a low power state
JP2012022422A (ja) 2010-07-13 2012-02-02 Panasonic Corp 半導体記録再生装置
KR101703279B1 (ko) * 2010-08-05 2017-02-06 삼성전자 주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 독출 방법
KR101401379B1 (ko) 2010-10-13 2014-05-30 한국전자통신연구원 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080064299A (ko) * 2007-01-04 2008-07-09 삼성전자주식회사 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템
KR20090000463A (ko) * 2007-06-28 2009-01-07 삼성전자주식회사 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
KR20100010746A (ko) * 2008-07-23 2010-02-02 삼성전자주식회사 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법
JP2011100519A (ja) * 2009-11-06 2011-05-19 Toshiba Corp メモリシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160101540A (ko) * 2015-02-17 2016-08-25 삼성전자주식회사 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법
KR20190108423A (ko) * 2018-03-14 2019-09-24 삼성전자주식회사 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US10990327B2 (en) 2018-11-19 2021-04-27 Samsung Electronics Co., Ltd. Storage device and method of operating the same

Also Published As

Publication number Publication date
US9190160B2 (en) 2015-11-17
KR101979734B1 (ko) 2019-05-17
US20140043903A1 (en) 2014-02-13

Similar Documents

Publication Publication Date Title
KR101979734B1 (ko) 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR101934892B1 (ko) 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
KR102081415B1 (ko) 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법
US9672942B2 (en) Data decoding method of non-volatile memory device and apparatus for performing the method
US9324420B2 (en) Method of estimating deterioration state of memory device and related method of wear leveling
US9606864B2 (en) Non-volatile memory device having adjustable read voltage, memory system comprising same, and method of operating same
JP6238613B2 (ja) メモリ装置、メモリシステム及び該メモリ装置の読み取り電圧の制御方法
KR20110092091A (ko) 플래시 메모리 장치 및 그것의 읽기 방법
KR20120030816A (ko) 플래시 메모리 및 그것의 셀프 인터리빙 방법
US10985780B2 (en) Error correction circuit, and memory controller having the error correction circuit and memory system having the memory controller
US11145357B2 (en) Memory system, memory controller and method for operating memory system
JP7353889B2 (ja) メモリシステムおよび方法
KR20210020689A (ko) 추론에 기초하여 요청을 처리하는 메모리 시스템 및 이의 동작 방법
KR20140121159A (ko) 멀티 레벨 셀 메모리 시스템
KR20140008098A (ko) 메모리 장치 및 상기 메모리 장치의 독출 방법
KR20140118555A (ko) 메모리 시스템 및 그것의 액세스 성능 조절 방법
KR20240012787A (ko) 비휘발성 메모리 장치에 데이터를 프로그램하는 장치 및 방법
US11061615B2 (en) Memory system, memory controller and operating method thereof
US10930356B2 (en) Memory controller and method of operating the same
US20240079073A1 (en) Storage controller generating read voltages for soft decision decoding based on read information and decoding information, storage device including the same, and operating method thereof
US20240193040A1 (en) Storage device determining quickly whether error correction decoding has failed and method of operating the storage device
US20220310168A1 (en) Operating method of storage controller using count value of direct memory access, storage device including storage controller, and operating method of storage device
KR20230090598A (ko) 히스토리 데이터를 사용하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법
KR20230036351A (ko) 비휘발성 메모리 장치에 데이터를 프로그램하는 장치 및 방법
KR20230075645A (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