KR20140045168A - 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법 - Google Patents

불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법 Download PDF

Info

Publication number
KR20140045168A
KR20140045168A KR1020120111380A KR20120111380A KR20140045168A KR 20140045168 A KR20140045168 A KR 20140045168A KR 1020120111380 A KR1020120111380 A KR 1020120111380A KR 20120111380 A KR20120111380 A KR 20120111380A KR 20140045168 A KR20140045168 A KR 20140045168A
Authority
KR
South Korea
Prior art keywords
read
data
ecc
read voltage
level
Prior art date
Application number
KR1020120111380A
Other languages
English (en)
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 KR1020120111380A priority Critical patent/KR20140045168A/ko
Priority to US13/947,219 priority patent/US9606864B2/en
Publication of KR20140045168A publication Critical patent/KR20140045168A/ko

Links

Images

Classifications

    • 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/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법이 개시된다. 본 발명의 일 실시예에 따른 불휘발성 메모리 장치는, 하나 이상의 페이지를 포함하며, 각각의 페이지는 독출 데이터의 에러 정정 단위로서 다수의 ECC 단위들을 포함하는 메모리 셀 어레이 및 상기 메모리 셀 어레이의 데이터를 독출하기 위한 독출 전압을 생성하는 전압 생성부를 구비하고, 초기 구동시, 상기 ECC 단위 별 데이터 검출 결과에 기반하여 각각의 ECC 단위에 대응하는 독출 전압 레벨이 설정되고, 독출 재시도 구간시, 상기 다수의 ECC 단위들 중 독출 에러가 발생된 ECC 단위에 대해, ECC 단위 별로 설정된 독출 전압 레벨에 따라 상기 독출 에러가 발생된 ECC 단위에 대한 재독출 동작이 수행되는 것을 특징으로 한다.

Description

불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법{NON-VOLATILE MEMORY DEVICE, MEMORY SYSTEM AND OPERATING METHOD THEREOF}
본 발명은 메모리 장치에 관한 것으로서, 상세하게는 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되며, 예를 들어, 플래쉬 메모리 등의 불휘발성 메모리 장치는 휴대폰, 디지털 카메라, 휴대용 정보 단말기(PDA), 이동식 컴퓨터 장치, 고정식 컴퓨터 장치 및 기타 장치에서 사용되고 있다.
메모리 장치의 공정이 미세화됨에 따라 메모리 장치의 수명이 감소할 수 있으며, 또한 메모리 동작시 에러 발생 가능성이 증가할 수 있다. 에러 비트의 정정을 위하여 ECC(Error Correction Code) 회로가 이용되고 있으나, 에러 정정 회로에 의해 정정될 수 있는 에러 비트의 수는 한계가 있다. 이에 따라, 데이터의 신뢰성의 향상을 위한 방법이 요구된다.
본 발명의 목적은 독출 데이터의 에러 복구 가능성을 향상함으로써 데이터의 신뢰성을 높일 수 있는 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 불휘발성 메모리 장치는, 하나 이상의 페이지를 포함하며, 각각의 페이지는 독출 데이터의 에러 정정 단위로서 다수의 ECC 단위들을 포함하는 메모리 셀 어레이 및 상기 메모리 셀 어레이의 데이터를 독출하기 위한 독출 전압을 생성하는 전압 생성부를 구비하고, 초기 구동시, 상기 ECC 단위 별 데이터 검출 결과에 기반하여 각각의 ECC 단위에 대응하는 독출 전압 레벨이 설정되고, 독출 재시도 구간시, 상기 다수의 ECC 단위들 중 독출 에러가 발생된 ECC 단위에 대해, ECC 단위 별로 설정된 독출 전압 레벨에 따라 상기 독출 에러가 발생된 ECC 단위에 대한 재독출 동작이 수행되는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 불휘발성 메모리 장치의 동작방법은, 에러 정정 단위로서 다수의 ECC 단위들에 대해, ECC 단위 별 데이터 검출 결과에 기반하여 각각의 ECC 단위에 대응하는 독출 전압 레벨을 설정하는 단계와, 노멀 독출 전압을 이용하여 동일한 워드라인에 연결되는 제1 내지 제n ECC 단위들로부터 독출된 데이터에 대한 에러 검출을 수행하는 단계(단, n은 2 이상의 정수)와, 상기 에러 검출 결과에 따라, 독출 에러가 발생된 하나 이상의 ECC 단위들에 대해 각각의 ECC 단위에 대응하는 독출 전압을 선정하는 단계 및 각각의 ECC 단위에 대해 선정된 독출 전압을 이용하여 ECC 단위별로 데이터를 재독출하는 단계를 구비하고, 상기 다수의 ECC 단위들 각각에 대응하여 설정된 독출 전압 레벨에 관련된 정보는 상기 불휘발성 메모리 장치 내에 저장되는 것을 특징으로 한다.
본 발명의 실시예에 따르면, 하나의 페이지에 포함된 다수의 영역들마다 독출 전압 레벨을 설정하고, 독출 재시도시 영역 단위로 독출 전압 레벨을 선정하여 재독출 동작을 수행함으로써 데이터의 신뢰성을 향상할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따르면, 에러 검출/정정에 관련된 단위마다 독출 전압 레벨을 선정하여 데이터를 독출하므로, 독출 데이터에 대한 에러 정정률을 향상할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템의 일 구현예를 나타내는 블록도이다.
도 3은 도 2의 불휘발성 메모리 장치에 포함된 메모리 셀 어레이의 일 예를 나타낸다.
도 4는 도 3의 메모리 셀 어레이에 포함된 메모리 블록의 일 예를 나타내는 회로도이다.
도 5는 도 4의 메모리 블록에 포함된 메모리 셀의 일 예를 나타내는 단면도이다.
도 6a,b,c,d는 메모리 셀의 타입에 따른 문턱전압 산포 및 문턱전압 산포의 변동 예를 나타내는 그래프이다.
도 7은 본 발명의 일실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
도 8은 도 7의 독출 전압 설정 동작의 다양한 구현 예를 나타내는 도면이다.
도 9는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
도 10 내지 도 14는 독출 재시도 동작의 다양한 예를 나타내는 도면이다.
도 15는 본 발명의 또 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
도 16은 불휘발성 메모리 셀이 복수의 비트의 데이터를 저장하는 경우 독출 재시도를 위한 독출 전압의 레벨을 설정하는 예를 나타내는 도면이다.
도 17a,b는 본 발명의 다른 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 18은 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 19는 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 20은 본 발명의 실시 예들에 따른 메모리 시스템을 SSD에 적용한 예를 나타내는 블록도이다.
도 21은 도 20의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 일치하는 의미를 가지는 것으로 해석될 수 있으며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템(100)을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 콘트롤러(1000) 및 메모리 장치(2000)를 포함할 수 있다. 메모리 콘트롤러(1000)는 메모리 장치(2000)에 대한 제어 동작을 수행하며, 일예로서 메모리 콘트롤러(1000)는 메모리 장치(2000)에 어드레스(ADDR), 커맨드(CMD) 및 제어신호(CTRL)를 제공함으로써, 메모리 장치(2000)에 대한 프로그램(또는 기록), 독출 및 소거 동작을 제어할 수 있다.
메모리 장치(2000)는 메모리 셀 어레이(2100)를 포함할 수 있으며, 메모리 셀 어레이(2100)는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(2100)는 데이터를 불휘발성하게 저장하는 불휘발성 메모리 셀들을 포함할 수 있으며, 불휘발성 메모리 셀들로서, 메모리 셀 어레이(2100)는 낸드(NAND) 플래시 메모리 셀 어레이 또는 노아(NOR) 플래시 메모리 셀 어레이 등의 플래시 메모리 셀들을 포함할 수 있다. 이하에서는, 메모리 셀 어레이(2100)가 플래시 메모리 셀 어레이를 포함하고, 이에 따라 메모리 장치(2000)가 불휘발성 메모리 장치임을 가정하여 본 발명의 실시예들을 상술하기로 한다. 그러나, 본 발명의 실시예는 이에 한정될 필요는 없으며, 메모리 셀 어레이(2100)가 다른 타입의 메모리 셀, 예컨대 RRAM(resistive RAM), PRAM(phase chage RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들을 포함할 수 있다.
메모리 콘트롤러(1000)는 전압 제어부(1100) 및 ECC(Error Correction Code) 회로(1200)를 포함할 수 있다. 전압 제어부(1100)는 불휘발성 메모리 장치(2000) 내에서 이용되는 적어도 하나의 전압 레벨을 제어하기 위한 동작을 수행하며, 메모리 컨트롤러(1000)에서 불휘발성 메모리 장치(2000)로 제공하는 제어신호(CTRL)는 전압의 레벨을 조절하기 위한 전압 제어신호를 포함할 수 있다. 일예로서, 전압 제어부(1100)는 메모리 셀 어레이(2100)로부터 데이터를 독출하기 위한 독출 전압의 레벨을 제어할 수 있다. 설명의 편의상 상기 제어신호(CTRL)는 독출 전압 제어신호인 것으로 가정한다.
ECC 회로(1200)는 에러 정정에 관련된 동작을 수행하며, 예컨대 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 ECC 인코딩 처리 및 ECC 디코딩 처리를 수행할 수 있다. ECC 인코딩 처리는 프로그램할 데이터에 근거하여 패리티 비트를 생성하는 동작을 포함하며, ECC 디코딩 처리는 메모리 셀 어레이(2100)로부터 독출된 데이터로부터 에러 비트를 검출하고, 검출된 에러 비트를 정정하는 동작을 포함한다. 일예로서, ECC 회로(1200)는 데이터를 프로그램할 때에 생성되어 저장된 패리티(parity)와 데이터를 독출할 때 생성된 패리티 비트를 서로 비교하여 에러 비트를 검출하고, 검출된 에러 비트에 대한 소정의 논리 연산(예컨대, 배타적 논리합(XOR))을 수행함으로써 에러 비트를 정정할 수 있다.
ECC 회로(1200)는 소정의 에러 정정률을 갖도록 설정될 수 있으며, 에러 정정률이 높아질수록 동일 사이즈의 데이터 당 생성되는 패리티 비트 수는 증가할 수 있다. 예컨대, 에러 정정률이 높아질수록 소정의 데이터 사이즈(또는 ECC 단위) 당 더 많은 비트의 에러를 정정할 수 있다.
전압 제어부(1100)는 불휘발성 메모리 장치(2000)로부터 수신한 데이터(DATA)를 기초로 하여, 메모리 셀 어레이(2100)에 저장된 데이터를 독출하기 위한 독출 전압의 레벨을 제어할 수 있다. 메모리 셀 어레이(2100)가 포함하는 메모리 셀이 싱글 레벨 셀(Single Level Cell, SLC)인 경우에는, 하나의 독출 전압에 대한 전압 레벨의 제어 동작이 수행될 수 있으며, 메모리 셀 어레이(2100)가 포함하는 메모리 셀이 하나의 셀 당 2 비트의 데이터를 저장하는 멀티레벨 셀(Multi Level Cell, MLC)이나 3 비트의 데이터를 저장하는 트리플 레벨 셀(Tripple Level Cell, TLC), 또는 더 많은 비트의 데이터를 저장하는 셀인 경우에는 두 개 이상의 독출 전압에 대한 레벨의 제어 동작이 수행될 수 있다. 즉, 독출 전압을 조절하기 위한 독출 전압 제어신호(CTRL)가 불휘발성 메모리 장치(2000)로 제공됨에 따라, 외부 자극 및/또는 마모(wearing) 등에 의해 메모리 셀들의 문턱 전압이 변경되더라도 변경된 문턱 전압을 기초로 하여 독출 전압의 전압 레벨을 제어할 수 있으며, 이에 따라, RBER(raw bit error rate)를 개선시킬 수 있다.
불휘발성 메모리 장치(2000)의 공정이 미세화됨에 따라 데이터 독출시 독출 에러의 발생 가능성이 증가하게 된다. 독출 에러가 발생하게 되면, 메모리 콘트롤러(1000)는 불휘발성 메모리 장치(2000)를 제어하여 독출 재시도(Read Retry) 구간이 수행되도록 제어한다. 독출 재시도 구간에서, 레벨이 조절된 독출 전압이 메모리 셀 어레이(2100)로 제공됨에 따라 데이터에 대한 재독출 동작이 수행되며, 재독출된 데이터에 대해 에러 검출 및 정정 동작이 수행된다. 적절한 독출 전압 레벨에 의해 데이터가 독출되도록 함으로써 에러 발생이 감소될 수 있다.
도 1의 메모리 시스템의 구체적인 구성 및 동작의 일예를 설명하면 다음과 같다. 도 2는 도 1의 메모리 시스템의 일 구현예를 나타내는 블록도이다.
도 2에 도시된 바와 같이, 메모리 시스템(100)은 메모리 콘트롤러(1000) 및 불휘발성 메모리 장치(2000)를 포함하며, 메모리 콘트롤러(1000)는 호스트 인터페이스(1300), 제어 로직 및 메모리 데이터 버퍼(1600)를 포함할 수 있다. 또한, 제어 로직은 불휘발성 메모리 장치(2000)의 메모리 동작을 제어하기 위한 각종 구성들을 포함할 수 있으며, 예컨대 상기 제어 로직은 펌웨어부(1400), ECC 회로(1200), 데이터 판별부(1500) 및 전압 제어부(1100)를 포함할 수 있다. 또한, 불휘발성 메모리 장치(2000)는, 다수의 메모리 셀이 배치된 메모리 셀 어레이(2100), 로우 디코더(2200), 페이지 버퍼(2300), 칼럼 디코더(2400), 입출력 버퍼(2500), 제어 유닛(2600) 및 독출 전압 생성부(2700)를 포함할 수 있다.
메모리 콘트롤러(1000)는 호스트(HOST)로부터의 요청에 응답하여 불휘발성 메모리 장치(2000)에 대한 프로그램, 독출 및 소거 동작 등을 제어하기 위한 각종 신호들을 생성한다. 예컨대, 메모리 동작을 위하여 커맨드(CMD) 및 어드레스(ADDR)를 불휘발성 메모리 장치(2000)로 제공하며, 또한 프로그램 동작시 데이터(DATA)를 불휘발성 메모리 장치(2000)로 제공하거나 독출 동작시 불휘발성 메모리 장치(2000)로부터 독출된 데이터(DATA)를 수신할 수 있다.
호스트 인터페이스(1300)는 호스트와 인터페이스하여 호스트로부터 메모리 동작의 요청을 수신한다. 예컨대, 호스트 인터페이스(1300)는 호스트로부터 데이터의 프로그램, 독출, 소거, 이동 및 복구 등의 각종 요청을 수신하고, 이에 응답하여 불휘발성 메모리 장치(2000)에 대한 메모리 동작을 위한 각종 내부 신호들을 발생한다. 펌웨어부(1400)는 플래시 변환 계층(FTL)을 포함하는 소프트웨어를 포함하는 개념으로서, 도 2에 도시된 펌웨어부(1400)는 플래시 변환 계층(FTL)을 저장하는 램(RAM)이나 롬(ROM) 형태의 메모리로 구현될 수 있다. 펌웨어부(1400)는 호스트 인터페이스(1300)로부터의 각종 내부 신호에 응답하여 메모리 콘트롤러(1000)의 전체적인 동작을 제어한다.
한편, 펌웨어부(1400)의 제어하에서 메모리 동작에 관련된 각종 기능들이 수행될 수 있다. 예컨대, ECC 회로(1200)는 전술한 ECC 인코딩 및 ECC 디코딩 처리를 수행할 수 있으며, 메모리 셀 어레이(2100)로부터 독출된 데이터에 대해 에러 검출 결과를 발생하고, 또한 독출된 데이터에 대해 에러 정정 동작을 수행할 수 있다. 데이터 판별부(1500)는 메모리 셀 어레이(2100)로부터 독출된 데이터에 대한 판별 동작을 수행할 수 있으며, 예컨대 독출된 데이터의 값을 판별하거나 독출된 데이터 값에 대한 처리 동작(예컨대 연산 동작 등)을 통해 데이터의 에러 여부 등을 판별할 수 있다. 전압 제어부(1100)는 전술한 바와 같이 불휘발성 메모리 장치(2000)의 데이터 독출을 위한 독출 전압의 레벨을 제어하기 위한 동작을 수행할 수 있다. 전술한 전압 제어부(1100)와 데이터 판별부(1500)가 서로 다른 기능블록인 것으로 도시되었으나, 데이터 판별 결과에 따라 불휘발성 메모리 장치(2000)의 독출 전압의 레벨을 제어하는 관점에서 상기 전압 제어부(1100)와 데이터 판별부(1500)는 서로 동일한 기능 블록으로 도시되어도 무방하다.
한편, 메모리 셀 어레이(2100)는 하나 이상의 메모리 블록을 포함할 수 있으며, 상기 메모리 블록은 불휘발성 메모리 장치(2000)의 데이터 소거 단위로서 정의될 수 있다. 또한, 각각의 메모리 블록은 다수 개의 페이지들을 포함할 수 있으며, 각각의 페이지는 동일한 워드라인에 연결되는 다수의 메모리 셀들을 포함한다. 또한, 각각의 페이지는 다수의 영역들로 구분될 수 있으며, 예컨대 에러 정정 단위로서 ECC 단위가 상기 영역으로서 정의될 수 있다. 즉, 하나의 페이지는 동일한 워드라인에 연결된 다수 개의 ECC 단위들을 포함할 수 있다.
불휘발성 메모리 장치(2000)는 메모리 콘트롤러(1000)로부터의 각종 커맨드(CMD), 어드레스(ADDR) 및 데이터(DATA)에 응답하여 메모리 동작을 수행하며, 제어 유닛(2600)에 의하여 불휘발성 메모리 장치(2000) 내의 각종 동작이 전반적으로 제어된다. 로우 디코더(2200)는 워드라인을 통해 메모리 셀 어레이(2100)에 연결되고, 로우 어드레스에 응답하여 선택된 워드라인 및 비 선택된 워드라인들을 각각에 대응하는 워드라인 전압으로 구동한다. 데이터 독출 동작시, 상기 워드라인 전압은 독출 전압에 해당할 수 있으며, 또는 선택된 워드라인으로 제공되는 워드라인 전압이 독출 전압에 해당할 수 있다.
칼럼 디코더(2400)는 칼럼 어드레스에 응답하여 동작하며, 페이지 버퍼(2300)에 래치된 데이터를 선택하여 입출력 버퍼(2500)로 전달하거나, 입출력 버퍼(2500)에 저장된 데이터를 페이지 버퍼(2300)로 제공한다. 입출력 버퍼(2500)는 메모리 콘트롤러(1000)로부터 제공된 데이터(DATA)를 저장하거나, 메모리 셀 어레이(2100)에서 독출된 데이터(DATA)를 메모리 콘트롤러(1000)로 전달한다. 한편, 워드라인 전압 생성부(2700)는 프로그램, 독출 및 소거 등의 각종 메모리 동작을 위한 워드라인 전압을 발생하고 이를 로우 디코더(2200)로 제공한다.
본 발명의 일 실시예에 따르면, 데이터 독출시 에러가 발생하여 독출 재시도 동작을 수행함에 있어서, 전술한 영역 단위로 독출 재시도 동작이 이루어진다. 예컨대, 제1 독출 전압을 이용하여 어느 하나의 페이지가 독출되고, 독출된 데이터에 대한 에러 검출 및 정정 동작이 수행된다. 독출된 데이터에 에러가 발생하는 경우(또는, 정정 불가능한 에러가 발생하는 경우), 제1 독출 전압과 서로 다른 레벨을 갖는 적어도 하나의 독출 전압을 이용하여 상기 페이지를 다시 독출함에 의하여 데이터가 재독출된다. 제1 독출 전압은 다수의 문턱전압 산포들 중 어느 두 개의 문턱전압 산포를 구분하기 위한 전압일 수 있으며, 예컨대 메모리 셀 당 2 비트의 데이터를 저장하는 멀티레벨 셀의 경우, 제1 내지 제3 독출 전압이 데이터를 판독하기 위해 이용될 수 있다.
이와 같은 제1 독출 전압을 이용하는 데이터 독출 동작을 노멀 독출 동작으로 지칭할 수 있으며, 노멀 독출 동작에서 에러가 발생된 경우 독출 재시도 구간에서 수행되는 데이터 독출 동작을 재독출 동작으로 지칭할 수 있다. 또한 재독출 동작에서, 영역별로 독출하는 과정을 영역별 재독출 동작을 지칭할 수 있다.
재독출 동작시 이용되는 독출 전압은 하나 이상의 전압 레벨을 가질 수 있다. 예컨대, 상기 페이지에 포함되는 다수의 영역들 각각에 대하여 적절한 독출 전압을 추출할 수 있으며, 다수의 영역들에 설정되는 독출 전압은 서로 그 레벨이 상이할 수 있다. 독출 전압 레벨 추출 과정후에, 각각의 영역에 대해 에러 발생을 최소로 하는 독출 전압의 레벨이 각각의 영역에 대응하여 설정되고, 추출된 레벨의 독출 전압이 각 영역에 인가되어 이에 따른 데이터의 독출 및 에러 검출 동작이 수행된다. 이에 따라, 하나의 페이지에 포함되는 영역들 중 하나 이상의 영역에서 에러가 발생하더라도, 각각의 영역에 대응하여 설정되는 독출 전압을 이용하여 영역별 재독출 동작이 수행되므로 각각의 영역에서 발생하는 독출 에러를 감소 또는 방지할 수 있다.
문턱 전압 산포에서 두 개의 문턱 전압 산포 사이의 골을 찾기 위한 최소 에러 독출 방법은, 기본 전압 레벨에서 음이나 양의 값으로 변경된 레벨을 이용하여 셀들의 데이터를 독출하고, 각각의 데이터를 갖는 셀의 개수를 세는 것(예컨대, 0의 데이터를 갖는 셀의 수와 1의 데이터를 갖는 셀의 수를 세는 것)에 의해 수행될 수 있다. 한 번의 독출 동작을 통해 다수의 영역들이 독출되는 경우 각 영역별로 셀의 수가 카운팅될 수 있으며, 이를 산포 사이의 골 주위에서 반복 수행함으로써 각 영역별 최소 에러 독출 레벨의 추출이 가능하다.
페이지에 대한 노멀 독출 동작을 통해 독출된 데이터에 에러가 발생함에 따라, 에러를 복구하기 위한 알고리즘이 메모리 콘트롤러(1000)에서 수행된다. 메모리 콘트롤러(1000)는 독출 전압을 변경하기 위한 독출 전압 제어신호(CTRL)를 불휘발성 메모리 장치(2000)로 제공하며, 이에 따라 페이지의 각 영역별로 에러 발생을 감소하기 위한 전압 레벨이 선정되고, 선정된 독출 전압을 이용한 데이터의 재독출 동작이 수행된다. 일예로서, 상기 영역이 ECC 단위로 정의되는 경우, ECC 단위로 독출 전압의 레벨을 선정할 수 있다. 선정된 레벨의 독출 전압에 의해 독출된 ECC 단위의 데이터는 메모리 콘트롤러(1000)의 ECC 회로(1200)로 제공되며, 적절한 레벨의 독출 전압이 선정된 경우 에러가 발생하지 않은(또는, 에러 정정 가능한) 데이터를 얻을 수 있다.
도 2를 참조하면, 다수의 페이지들 각각에 대해 영역별로 독출 전압 레벨이 설정되고, 설정된 정보는 메모리 콘트롤러(1000) 내에 저장될 수 있다. 예컨대, 영역별로 독출 전압 레벨이 설정되고 나면 불휘발성 메모리 장치(2000) 내에 해당 정보를 불휘발성하게 저장하고, 시스템 구동시마다 해당 정보가 메모리 콘트롤러(1000)로 제공될 수 있다. 불휘발성 메모리 장치(2000)로부터 제공된 정보는 불휘발성 메모리 장치(2000) 내, 예컨대 펌웨어부(1400) 내의 독출 전압 테이블(1410)에 저장될 수 있다. 또는, 독출 전압 테이블(1410)은 펌웨어부(1400) 외부에 배치되어 펌웨어부(1400)에 의해 관리될 수 있다.
또는, 메모리 시스템(100)의 구동시 메모리 콘트롤러(1000)의 제어에 기반하여 메모리 셀 어레이(2100)의 영역별로 독출 전압 레벨이 설정되고, 설정된 독출 전압 레벨에 관련된 정보가 메모리 콘트롤러(1000) 내에 테이블화되어 저장될 수 있다. 독출 전압 레벨 설정시, 영역별로 독출 전압 레벨을 변경하면서 데이터를 독출하고, 독출된 데이터에 가장 적은 개수의 에러를 갖는 독출 전압 레벨이 설정될 수 있다. 데이터 판별부(1500)는 독출 전압 레벨을 변경하면서 독출된 데이터에 대해 판별 동작을 수행할 수 있으며, 예컨대 데이터 판별부(1500)는 독출된 데이터로부터 데이터 0 또는 데이터 1을 판별하고, 데이터들에 대한 처리 동작에 기반하여 에러 발생 여부를 판별할 수 있으며, 상기 판별 결과를 참조함에 의하여 영역별로 최적의 독출 전압의 레벨이 검출될 수 있다.
상기 판별 동작은 하나의 페이지에 포함되는 영역들 단위로 수행될 수 있으며, 이에 따라 영역들마다 서로 다른 레벨을 갖는 독출 전압이 선정될 수 있다.
도 3은 도 2의 불휘발성 메모리 장치(2000)에 포함된 메모리 셀 어레이(2100)의 일 예를 나타낸다.
도 3을 참조하면, 메모리 셀 어레이(2100)는 플래시 메모리 셀 어레이일 수 있다. 이때, 메모리 셀 어레이(2100)는 a(a는 2 이상의 정수)개의 블록들(BLK0 ~ BLKa-1)을 포함하고, 각 블록들(BLK0 ~ BLKa-1)은 b(b는 2 이상의 정수)개의 페이지들(PAG0 ~ PAGb-1)을 포함하며, 각 페이지들(PAG0 ~ PAGb-1)은 c(c는 2 이상의 정수)개의 ECC 단위들(ECC0 ~ ECCc-1)을 포함할 수 있다. 도 3에서는 도시의 편의를 위해, 블록 BLK0에 대하여만 페이지들(PAG0 ~ PAGb-1) 및 ECC 단위들(ECC0 ~ ECCc-1)을 도시하였으나, 다른 블록들(BLK1 ~ BLKa-1)도 블록 BLK0와 동일한 구조를 가질 수 있다.
도 4는 도 3의 메모리 셀 어레이(2100)에 포함된 메모리 블록(BLK0)의 일 예를 나타내는 회로도이다.
도 4를 참조하면, 메모리 셀 어레이(2100)는 낸드 플래시 메모리의 메모리 셀 어레이일 수 있다. 이때, 도 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)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이(2100)의 블록들(BLK0 ~ BLKa-1)은 도 4에 도시되는 메모리 셀(MCEL) 및 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다. 또한, 도 1 및 도 2의 불휘발성 메모리 장치(2000)는 이상에서 설명된 메모리 셀 어레이(2100)와 동일한 구조로 동일한 동작을 수행하는 복수의 메모리 셀 어레이들을 포함할 수도 있다.
도 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,b,c,d는 메모리 셀의 타입에 따른 문턱전압 산포 및 문턱전압 산포의 변동 예를 나타내는 그래프이다. 일예로서, 도 6a,b,c,d에 도시된 문턱전압 산포는 하나의 영역(예컨대, ECC 단위)에 포함되는 메모리 셀들의 문턱전압 산포를 나타낸다.
도 6a는 도 5의 메모리 셀(MCEL)이 싱글 레벨 셀인 경우, 불휘발성 메모리 장치(2000)의 문턱전압에 따른 분포를 나타내는 그래프이다. 도 6a를 참조하면, 가로축은 문턱전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 도 6a에 도시된 문턱전압 분포에 대응하는 메모리 셀들은 ECC 단위에 속하는 메모리 셀의 개수일 수 있다.
메모리 셀이 1 비트로 프로그램되는 싱글 레벨 셀인 경우, 메모리 셀은 소거 상태(E) 및 프로그램 상태(P) 중 하나를 가질 수 있다. 이때, 독출 전압(VR)은 소거 상태(E)를 가지는 메모리 셀의 분포와 프로그램 상태(P)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다.
예를 들어, 독출 전압(VR)이 메모리 셀의 컨트롤 게이트(CG)에 인가되면, 소거 상태(E)의 메모리 셀은 턴온되는 반면, 프로그램 상태(P)의 메모리 셀은 턴오프된다. 메모리 셀이 턴온되면 메모리 셀을 통해 전류가 흐르고, 메모리 셀이 턴오프되면 메모리 셀을 통해 전류가 흐르지 않는다. 따라서, 메모리 셀의 턴온 여부에 따라 메모리 셀에 저장된 데이터가 구별될 수 있다.
일 실시예에서, 독출 전압(VR)을 인가하여 메모리 셀이 턴온되면 제1 값(예컨대, 데이터 1)의 데이터가 저장되고, 메모리 셀이 턴오프되면 제2 값(예컨대, 데이터 0)의 데이터가 저장된 것으로 구별될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 다른 실시예에서, 독출 전압(VR)을 인가하여 메모리 셀이 턴온되면 데이터 0이 저장되고, 메모리 셀이 턴오프되면 데이터 1이 저장된 것으로 구별할 수도 있다. 이와 같이, 데이터의 논리 레벨의 할당은 실시예에 따라 변경될 수 있다.
도 6b는 도 6a의 그래프에서 메모리 셀의 문턱전압이 변경된 경우를 나타내는 그래프이다.
도 6b를 참조하면, 소거 상태(E) 또는 프로그램 상태(P)로 각각 프로그램된 메모리 셀들은 외부 자극 및/또는 마모 등에 의해 도 6b에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 6b에서, 빗금 친 부분에 속하는 메모리 셀들은 독출 에러가 발생할 수 있고, 이에 따라, 불휘발성 메모리 장치(2000)의 신뢰성이 저하될 수 있다.
예를 들어, 독출 전압(VR)을 이용하여 불휘발성 메모리 장치(2000)에 대한 독출 동작을 수행할 경우, 빗금 친 부분에 속하는 메모리 셀들은 프로그램 상태(P)로 프로그램 되었음에도 불구하고, 문턱전압(Vth)의 감소에 의해 소거 상태(E)로 판단될 수 있다. 이에 따라, 독출 동작에 에러가 발생되어 불휘발성 메모리 장치(2000)의 신뢰성이 저하될 수 있다.
또한, 도 6b에 도시된 바와 같은 메모리 셀의 문턱 전압은 각 영역 별로 서로 다르게 변동될 수 있다. 예컨대, 도 6b의 문턱전압 분포의 변경이 제1 영역에 해당하는 것으로 가정할 때, 제1 영역에 대한 독출 전압의 레벨을 설정하는 경우 도 6b의 문턱전압 분포에서 에러 발생이 최소화되는 레벨로 설정될 수 있다. 반면에, 제2 영역에서는 도 6b의 문턱전압 분포와는 다른 형태로 변경이 될 수 있으며, 이에 따르면 제2 영역에 대해 설정되는 독출 전압의 레벨은 제1 영역에 설정되는 독출 전압의 레벨과 서로 그 값이 다를 수 있다.
도 6c는 메모리 셀이 2 비트 멀티 레벨 셀인 경우에서의 메모리 셀들의 문턱전압 분포의 변동 예를 나타내는 그래프이다.
도 6c를 참조하면, 가로축은 문턱전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 메모리 셀이 2 비트로 프로그램되는 2 비트 멀티 레벨 셀인 경우에, 메모리 셀은 소거 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3) 중 하나를 가질 수 있다. 싱글 레벨 셀에 비하여 멀티 레벨 셀의 경우, 문턱전압(Vth) 분포들 사이의 간격이 좁으므로, 멀티 레벨 셀에서는 문턱 전압(Vth)의 작은 변화에 의해 데이터의 에러 가능성이 증가할 수 있다.
제1 독출 전압(VRA)은 소거 상태(E)를 가지는 메모리 셀의 산포와 제1 프로그램 상태(P1)를 가지는 메모리 셀의 산포 사이의 전압 레벨을 가진다. 제2 독출 전압(VRB)은 제1 프로그램 상태(P1)를 가지는 메모리 셀의 산포와 제2 프로그램 상태(P2)를 가지는 메모리 셀의 산포 사이의 전압 레벨을 가진다. 제3 독출 전압(VRC)은 제2 프로그램 상태(P2)를 가지는 메모리 셀의 산포와 제3 프로그램 상태(P3)를 가지는 메모리 셀의 산포 사이의 전압 레벨을 가진다.
소거 상태(E), 제1 내지 제3 프로그램 상태(P1, P2, P3)로 각각 프로그램된 메모리 셀들은 외부 자극 및/또는 마모 등에 의해 도 6c에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 6c에서, 빗금 친 부분에 속하는 메모리 셀들은 독출 에러가 발생할 수 있고, 이에 따라, 불휘발성 메모리 장치(2000)의 신뢰성이 저하될 수 있다.
도 6d는 메모리 셀이 트리플 레벨 셀인 경우, 메모리 셀들의 문턱전압 분포의 변동 예를 나타내는 그래프이다. 도 6d를 참조하면, 가로축은 문턱전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 메모리 셀이 3 비트로 프로그램되는 경우에, 메모리 셀은 소거 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제3 프로그램 상태(P3), 제4 프로그램 상태(P4), 제5 프로그램 상태(P5), 제6 프로그램 상태(P6) 및 제7 프로그램 상태(P7) 중 하나를 가질 수 있다. 싱글 레벨 셀에 비하여 트리플 레벨 셀의 경우, 문턱전압(Vth) 분포들 사이의 간격이 좁으므로, 트리플 레벨 셀에서는 문턱전압(Vth)의 작은 변화에 의해 데이터의 에러 가능성이 증가할 수 있다.
제1 독출 전압(VRA)은 소거 상태(E)를 가지는 메모리 셀의 분포와 제1 프로그램 상태(P1)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다. 제2 독출 전압(VRB)은 제1 프로그램 상태(P1)를 가지는 메모리 셀의 분포와 제2 프로그램 상태(P2)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다. 제3 독출 전압(VRC)은 제2 프로그램 상태(P2)를 가지는 메모리 셀의 분포와 제3 프로그램 상태(P3)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다. 제4 독출 전압(VRD)은 제3 프로그램 상태(P3)를 가지는 메모리 셀의 분포와 제4 프로그램 상태(P4)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다. 제5 독출 전압(VRE)은 제4 프로그램 상태(P4)를 가지는 메모리 셀의 분포와 제5 프로그램 상태(P5)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다. 제6 독출 전압(VRF)은 제5 프로그램 상태(P5)를 가지는 메모리 셀의 분포와 제6 프로그램 상태(P6)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다. 제7 독출 전압(VRG)은 제6 프로그램 상태(P6)를 가지는 메모리 셀의 분포와 제7 프로그램 상태(P7)를 가지는 메모리 셀의 분포 사이의 전압 레벨을 가진다.
소거 상태(E), 제1 내지 제7 프로그램 상태(P1 내지 P7)로 각각 프로그램된 메모리 셀들은 외부 자극 및/또는 마모 등에 의해 도 6d에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 6d에서, 빗금 친 부분에 속하는 메모리 셀들은 독출 에러가 발생할 수 있고, 이에 따라, 불휘발성 메모리 장치(2000)의 신뢰성이 저하될 수 있다.
불휘발성 메모리 장치(2000)로부터 데이터를 독출하는 경우 에러 발생률은 독출 전압의 전압 레벨에 따라 달라질 수 있으며, 독출 전압의 최적 전압 레벨은 메모리 셀들의 분포 모양에 따라 결정될 수 있다. 또한, 독출된 데이터에 대한 에러 검출 및 정정 단위는 ECC 단위로 정의될 수 있으며, ECC 단위마다 메모리 셀들의 문턱전압 분포가 달리 결정될 수 있다. 독출된 데이터의 정상적인 이용을 위해서는 독출된 데이터에 발생된 에러가 정정 가능할 필요가 있으며, ECC 단위마다 최적의 독출 전압 레벨을 설정하고 이를 이용하여 독출 재시도 동작을 수행함으로써 에러 정정 확률이 향상되도록 한다.
이상에서는 도 6a,b,c,d를 참조하여, 메모리 셀이 싱글 레벨 셀, 멀티 레벨 셀 또는 트리플 레벨 셀인 경우를 설명하였다. 그러나, 본 발명은 이에 한정되는 것은 아니고, 도 5의 메모리 셀은 4 비트 이상으로 프로그램되는 셀일 수 있다. 또한, 도 1 및 도 2의 불휘발성 메모리 장치(2000)는 서로 다른 개수의 비트로 프로그램 되는 메모리 셀들을 포함할 수도 있다.
도 7은 본 발명의 일실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다. 도 7에서는 메모리 셀 어레이의 영역별로 독출 전압 레벨이 설정되는 예가 도시되며, 상기 영역은 에러 검출 및 정정을 위한 ECC 단위에 해당하는 것으로 가정한다.
메모리 시스템에 전원이 인가됨에 따라 불휘발성 메모리 장치 및 메모리 콘트롤러가 구동된다(S11). 메모리 콘트롤러는 불휘발성 메모리 장치에 구비되는 메모리 셀 어레이에 대한 독출 동작을 수행하며(S12), 독출 동작은 메모리 셀 어레이의 독출 단위(예컨대, 페이지 단위) 별로 수행된다. 페이지 단위로 독출된 데이터는 불휘발성 메모리 장치 내의 소정의 버퍼, 예컨대 페이지 버퍼에 저장될 수 있다. 또한, 상기 페이지는 다수의 레벨의 전압들을 독출 전압으로 이용하여 데이터가 독출될 수 있다.
이후, 독출된 데이터에 대한 검출 동작을 수행하며, 예컨대 ECC 단위별로 데이터에 대한 검출 동작을 수행한다(S13). 데이터 검출 동작은 다양한 형태로 수행될 수 있으며, 예컨대 독출된 데이터로부터 데이터 1 또는 데이터 0의 값을 판별할할 수 있다. 또한, 데이터 검출 동작은 ECC 단위별로 수행될 수 있으므로, 이에 따라 각 ECC 단위별로 데이터 1 또는 데이터 0의 값을 판별할 수 있다. 또한, 데이터 검출 동작은 데이터에 대한 처리 동작에 기반하여 에러 발생 여부를 판별하는 동작을 포함할 수 있다. 또한, n 개의 레벨의 독출 전압(예컨대, 제1 내지 제n 레벨의 독출 전압)을 이용하여 페이지의 데이터가 독출된 경우, 각각의 경우에서 ECC 단위별 데이터 검출 동작이 수행될 수 있다.
상기 검출 결과에 따라 각 ECC 단위마다 발생하는 에러의 개수가 서로 다를 수 있다. 예컨대, 제1 레벨의 독출 전압을 이용하여 독출 동작을 수행한 경우, 제1 ECC 단위에서는 에러가 발생하지 않거나 또는 정정 가능한 에러만이 발생할 수 있는 반면에, 제2 ECC 단위에서는 에러(또는 정정 불가능한 에러)가 발생할 수 있다. 이 경우, 제1 ECC 단위에서는 제1 레벨의 독출 전압이 최적의 독출 전압으로 설정될 수 있는 반면에, 제2 ECC 단위에서는 다른 독출 전압(예컨대, 제2 레벨의 독출 전압)으로 독출 동작이 수행될 필요가 있다.
다수의 레벨의 독출 전압을 이용한 데이터 독출 및 검출 동작이 반복되며, 이에 따라 각각의 ECC 단위에 대해 최적의 독출 전압 레벨이 검출될 수 있다. 하나의 페이지에 a 개의 ECC 단위들이 포함되는 경우, a 개의 ECC 단위들 각각에 대해 최적의 독출 전압 레벨이 검출될 수 있다. 바람직하게는, a 개의 ECC 단위들 각각에 대해 대응하는 레벨의 독출 전압으로 데이터가 독출되는 경우, 독출된 데이터에 대해서는 에러가 발생하지 않거나 정정 가능한 에러만이 발생하게 된다.
상기와 같은 동작에 의해, 어느 하나의 페이지에 속하는 다수의 ECC 단위들에 대해 ECC 단위별로 독출 전압의 레벨이 설정된다(S15). 즉, 하나의 페이지에 대하여 서로 다른 레벨을 갖는 적어도 두 개의 독출 전압이 설정될 수 있다. 하나의 페이지에 대한 독출 전압 레벨 설정이 완료되면 다음의 페이지에 대한 독출 전압 레벨 설정이 수행되며, 상기와 같은 설정 동작은 메모리 셀 어레이에 포함되는 다수의 페이지들 모두에 수행될 수 있다. 상기와 같이 설정된 독출 전압 레벨 정보가 메모리 시스템 내에 테이블화되어 저장될 수 있으며, 예컨대 메모리 콘트롤러에 구비되는 소정의 저장 수단에 저장될 수 있다(S16).
한편, 메모리 셀 어레이에 포함되는 불휘발성 메모리 셀은 셀당 2 비트의 데이터를 저장하는 멀티레벨 셀, 3 비트의 데이터를 저장하는 트리플 레벨 셀 또는 그 이상의 비트의 데이터를 저장하는 셀일 수 있다. 이 경우, 복수의 비트의 데이터를 독출하기 위하여, 하나의 페이지에 대해 다수의 독출 전압이 이용될 수 있다. 예컨대, 멀티레벨 셀의 경우 프로그램 상태에 따라 4 개의 문턱전압들 중 어느 하나의 문턱전압으로 프로그램되며, 상기 멀티레벨 셀을 독출하기 위해서는 3 개의 독출 전압을 이용한 제1 내지 제3 독출 동작이 필요하다. 즉, 소거 상태와 제1 프로그램 상태를 구분하기 위한 제1 독출 전압을 이용한 제1 독출 동작, 제1 프로그램 상태와 제2 프로그램 상태를 구분하기 위한 제2 독출 전압을 이용한 제2 독출 동작, 제2 프로그램 상태와 제3 프로그램 상태를 구분하기 위한 제3 독출 전압을 이용한 제3 독출 동작이 필요하다.
전술한 독출 전압 레벨을 설정하는 동작은, 다수의 프로그램 상태들을 구분하기 위한 레벨들에 대해 각각 수행될 수 있다. 예컨대, 제1 독출 전압을 이용한 제1 독출 동작에서 하나 이상의 ECC 단위에 에러가 발생한 경우, 이에 대한 독출 재시도 구간에서 이용될 다수의 레벨의 독출 전압이 설정될 수 있으며, 또한 제2 독출 전압을 이용한 제2 독출 동작에서 하나 이상의 ECC 단위에 에러가 발생한 경우, 이에 대한 독출 재시도 구간에서 이용될 다수의 레벨의 독출 전압이 설정될 수 있다. 이와 유사하게, 제3 독출 전압을 이용한 제3 독출 동작에서 하나 이상의 ECC 단위에 에러가 발생한 경우, 이에 대한 독출 재시도 구간에서 이용될 다수의 레벨의 독출 전압이 설정될 수 있다.
또한, 전술한 독출 전압 레벨 설정 및 정보 저장 동작은 사용자의 요청에 따른 메모리 동작(예컨대, 노멀 메모리 동작)이 수행되기 전, 메모리 시스템 구동시 초기 동작 동안 수행될 수 있다. 예컨대, 메모리 시스템에 전원이 인가됨과 함께 전술한 동작들이 수행될 수 있으며, 이에 따른 독출 전압 레벨 정보는 메모리 시스템 내에 휘발성 또는 불휘발성하게 저장될 수 있다.
도 8은 도 7의 독출 전압 설정 동작의 다양한 구현 예를 나타내는 도면이다. 도 8의 (a)에 도시된 바와 같이, 하나의 페이지는 다수의 ECC 단위로 구분될 수 있으며, 예컨대 하나의 페이지가 16k Byte의 크기를 가지며 ECC 단위는 1k Byte의 크기를 갖는 경우 하나의 페이지는 16 개의 ECC 단위들을 포함할 수 있다. 반면에, 도 8의 (b)에 도시된 바와 같이 ECC 단위가 2k Byte의 크기를 갖는 경우, 하나의 페이지는 8 개의 ECC 단위들을 포함할 수 있다. 한편, 도 8의 (c)는 독출 전압의 레벨이 섹터 단위로 설정되는 예를 나타내며, 하나의 페이지가 16k Byte의 크기를 가지며 섹터 단위는 512 Byte의 크기를 갖는 경우 하나의 페이지는 32개의 섹터 단위들을 포함할 수 있다.
도 7에 도시된 실시예에 따라 ECC 단위별(또는 섹터 단위별)로 독출 전압의 레벨이 설정되며, 도 8의 (a)에서는 제1 및 제16 ECC 단위(ECC1, ECC16)에 대해 제1 레벨의 독출 전압(VR1)이 설정되고, 제2 ECC 단위(ECC2)에 대해 제2 레벨의 독출 전압(VR2)이 설정되는 예가 도시된다. 도시되지는 않았으나, 다른 ECC 단위들에 대해서도 제1 레벨의 독출 전압(VR1), 제2 레벨의 독출 전압(VR2) 또는 다른 레벨의 독출 전압이 설정될 수 있다.
한편, 도 8의 (b)에서는 제1 및 제8 ECC 단위(ECC1, ECC8)에 대해 제1 레벨의 독출 전압(VR1)이 설정되고, 제2 ECC 단위(ECC2)에 대해 제2 레벨의 독출 전압(VR2)이 설정되는 예가 도시된다. 도 8의 (b)에서 다른 ECC 단위들에 대해서도 제1 레벨의 독출 전압(VR1), 제2 레벨의 독출 전압(VR2) 또는 다른 레벨의 독출 전압이 설정될 수 있다.
한편, 도 8의 (c)에서는 섹터 단위별로 독출 전압이 설정되는 예가 도시되며, 섹터 단위의 경우 외부 호스트에서 인식하는 데이터의 독출/프로그램 단위일 수 있다. 즉, 독출 데이터에 대해 에러 검출/정정 동작을 수행함에 있어서 두 개 이상의 섹터의 데이터마다 에러 검출/정정 동작을 수행할 수 있다. 에러가 검출되는 경우 섹터 단위로 재독출 동작이 수행될 수 있으며, 에러 발생 가능성을 감소하기 위하여 섹터 단위로 서로 다른 레벨의 독출 전압이 설정될 수 있다.
도 8의 (c)에서는 제1, 제2 및 제32 ECC 단위(SEC1, SEC2, SEC32)에 대해 제1 레벨의 독출 전압(VR1)이 설정되고, 제2 ECC 단위(SEC2)에 대해 제2 레벨의 독출 전압(VR2)이 설정되는 예가 도시된다. 도 8의 (c)에서 다른 SEC 단위들에 대해서도 제1 레벨의 독출 전압(VR1), 제2 레벨의 독출 전압(VR2) 또는 다른 레벨의 독출 전압이 설정될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다. 도 9에서는 서로 다른 레벨의 독출 전압을 이용하여 영역별로 재독출 동작을 수행하는 예가 도시되며, 상기 영역은 에러 검출 및 정정을 위한 ECC 단위에 해당하는 것으로 가정한다. 메모리 셀 어레이는 다수 개의 페이지들을 포함할 수 있으며, 설명의 편의상 이들 중 제1 페이지에 대한 독출 재시도 동작을 설명한다.
제1 페이지에 대한 독출 동작이 수행되며(S21), 독출된 데이터에 대한 에러 검출 동작이 수행되며, 제1 페이지에 저장된 데이터의 적어도 일부가 문턱 전압 변동 등의 이유로 그 값이 변동된 경우 독출 에러가 발생한다(S22). 독출 에러가 발생함에 따라 이를 복구하기 위한 알고리즘이 수행되며, 일예로서 독출 재시도 동작이 수행될 수 있다.
독출 전압 레벨 정보가 메모리 시스템 내에 저장되며, 저장된 정보를 참조하여 ECC 단위별로 독출 전압이 선정된다(S23). 또한, 선정된 레벨의 독출 전압에 따라 제1 페이지에 저장된 데이터를 재독출하며(S24), 재독출된 데이터에 대해 ECC 단위별로 에러 검출 및 정정 동작을 수행한다(S25). 예컨대, 제1 ECC 단위에서 에러가 발생하여 제1 레벨의 독출 전압이 선정되고, 제1 레벨의 독출 전압에 의해 재독출된 제1 ECC 단위의 데이터에 대해 에러 검출 및 정정 동작을 수행한다.
모든 ECC 단위들에 대해 에러 정정이 성공하였는지가 판단된다(S26). 제1 페이지에 포함된 ECC 단위들 중 적어도 하나에 에러가 존재하는 경우 ECC 단위별 독출 전압 선정 내지 ECC 단위별 에러 검출/정정 동작이 반복된다. 예컨대, 제2 ECC 단위에 에러가 존재하는 경우, 제2 ECC 단위에 대응하는 제2 레벨의 독출 전압이 선정되어 제2 ECC 단위의 데이터를 재독출하고, 이에 따라 제2 ECC 단위에서는 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다. 상기와 같은 동작이 에러가 발생한 ECC 단위들에 대해 모두 수행됨에 따라 에러가 정정된다.
제1 페이지에 포함된 모든 ECC 단위들에 대해 에러 정정이 성공한 경우, 제1 페이지에 대한 데이터 독출 동작을 완료하고 제2 페이지에 대한 데이터 독출 동작을 수행할 수 있다. 만약, 제2 페이지의 데이터에서 에러가 검출된 경우, ECC 단위별 독출 전압을 선정하는 동작 및 재독출된 데이터에 대한 에러 검출/정정 등의 일련의 동작들이 반복하여 수행될 수 있다.
전술한 실시예에 따라, 독출 재시도 동작 시에도 독출 에러가 발생함에 따라 재독출 동작이 다수 회 반복되는 것을 방지할 수 있다. 특히, ECC 단위들마다 에러가 최소로 될 수 있는 독출 전압 레벨이 설정되므로, 독출 재시도 구간에서 각각의 ECC 단위들에 대해 1회의 재독출 동작만이 수행될 수 있다. 또는, 노멀 독출 동작에서 독출 에러가 다수 개의 ECC 단위들에 발생하더라도, 만약 두 개 이상의 ECC 단위들에 동일한 레벨의 독출 전압이 설정된 경우라면, 동일한 독출 전압을 이용한 1 회의 재독출 동작을 통해 두 개 이상의 ECC 단위들의 데이터를 독출할 수 있으므로, 재독출 동작의 회수를 감소할 수 있다.
도 9에 도시되지는 않았으나, 독출 재시도 동작을 통해서도 에러가 정정되지 않는 경우가 발생될 수 있으며, 상기 독출 재시도 동작의 사이클의 횟수에 대해 임계값이 설정될 수 있다. 임계값에 해당하는 사이클 만큼 독출 재시도 동작을 수행한 후, 에러가 정정되지 않은 데이터에 대해서는 다른 ECC 처리 방식에 의해 정정이 시도될 수 있으며, 또는 에러를 갖는 데이터가 출력될 수 있다.
도 10 내지 도 14는 독출 재시도 동작의 다양한 예를 나타내는 도면이다. 상기 실시예에서는 하나의 페이지만이 도시되며, 하나의 페이지가 16 개의 ECC 단위를 포함하는 것으로 가정한다. 전술한 바와 같이, ECC 단위 대신에 섹터 단위가 적용되어도 무방하다.
도 10에 도시된 바와 같이, 제1 독출 전압(VRA)을 이용하여 페이지에 대한 노멀 독출 동작이 수행된다. 독출된 페이지의 데이터에 대해 에러 검출/정정 동작이 수행되며, 예컨대 제2 ECC 단위(ECC2) 및 제4 ECC 단위(ECC4)의 데이터에서 에러가 발생되거나 또는 정정 불가능한 에러가 발생한 예가 도시된다.
하나 이상의 ECC 단위에 에러가 발생되었으므로 독출 재시도 구간이 수행될 수 있다. 독출 재시도 구간에서, 에러가 발생된 제2 및 제4 ECC 단위(ECC2, ECC4)에 대해 데이터가 재독출되고, 재독출된 데이터에 대해 에러 검출/정정 동작이 수행된다. 이를 위하여, 먼저 제2 ECC 단위(ECC2)에 대응하는 독출 전압으로서 제2 레벨의 독출 전압(VR2)이 선정되며, 제2 레벨의 독출 전압(VR2)을 이용하여 제2 ECC 단위(ECC2)의 데이터가 재독출된다. 재독출된 제2 ECC 단위(ECC2)의 데이터는 에러가 발생되지 않거나 또는 에러가 정정 가능할 것이다.
이와 유사하게, 제4 ECC 단위(ECC4)에 대응하는 독출 전압으로서 제4 레벨의 독출 전압(VR4)이 선정되며, 제4 레벨의 독출 전압(VR4)을 이용하여 제4 ECC 단위(ECC4)의 데이터가 재독출된다. 재독출된 제4 ECC 단위(ECC4)의 데이터 또한 에러가 발생되지 않거나 또는 에러가 정정 가능할 것이다.
전술한 실시예에서, 어느 하나의 레벨의 독출 전압을 인가할 때, 동일한 워드라인에 연결된 모든 ECC 단위들의 데이터가 동시에 독출될 것이다. 그러나, 독출된 데이터는 페이지 버퍼에 저장될 것이며, 페이지 버퍼에 저장된 데이터들 중 제2 ECC 단위 또는 제4 ECC 단위의 데이터만을 출력함으로써 전술한 에러 검출/정정 동작이 수행될 수 있을 것이다.
도 11 내지 도 14는 독출 재시도 구간에서 수행될 수 있는 재독출 동작의 다양한 예를 나타낸다. 설명의 편의상 하나의 페이지가 16 개의 ECC 단위들을 포함하고, 상기 16 개의 ECC 단위들이 모두 재독출 대상인 것으로 가정한다.
도 11에 도시된 바와 같이, 독출 재시도 동작의 경우 ECC 단위별로 독출 전압의 레벨이 선정되어 독출 동작이 수행된다. 메모리 시스템 내에 저장된 독출 전압 레벨 정보를 참조하여 제1 ECC 단위(ECC1)의 독출을 위한 제1 레벨의 독출 전압(VR1)이 선정되고, 제1 레벨의 독출 전압(VR1)에 의해 페이지의 데이터가 독출됨에 따라 복수의 ECC 단위들(ECC1~ECC16)의 데이터가 페이지 버퍼에 저장된다. 에러가 발생하지 않거나 최소한의 에러를 갖도록 하는 독출 전압의 레벨이 기 설정되어 있으므로, 제1 ECC 단위(ECC1)로부터의 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다.
한편, 제2 ECC 단위(ECC2)의 데이터의 독출을 위하여 제2 레벨의 독출 전압(VR2)이 선정되고, 제2 레벨의 독출 전압(VR2)에 의해 페이지의 데이터가 독출됨에 따라 ECC 단위들(ECC1~ECC16)의 데이터가 페이지 버퍼에 저장된다. 이들 중 제2 ECC 단위(ECC2)로부터의 데이터에 대해 에러 검출/정정 동작이 수행될 것이며, 제2 ECC 단위(ECC2)로부터의 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다.
상기와 같은 동작에 따라 페이지에 포함된 복수의 ECC 단위들(ECC1~ECC16) 전체에 대해 독출 재시도 동작이 수행된다. 예컨대, 제4 ECC 단위(ECC4)의 데이터의 독출을 위하여 제3 레벨의 독출 전압(VR3)이 선정되고, 이를 이용한 페이지 독출 동작이 수행된다. 도 11에서는 ECC 단위의 에러 검출/정정 동작이 제1 ECC 단위(ECC1)부터 제16 ECC 단위(ECC16)로 순차적으로 수행되는 예가 도시되었으나, 본 발명의 실시예는 이에 국한될 필요는 없으며, 다른 순서에 따라 또는 무작위로 수행되어도 무방하다.
도 12는 독출 재시도 동작의 다른 예를 나타내며, 일예로서 독출 재시도 동작시 하나의 독출 전압을 인가하여 에러 검출/정정을 동작을 수행하는 동작을 하나의 사이클인 것으로 가정할 때, 하나의 사이클에서 적어도 두 개의 ECC 단위의 데이터에 대한 에러 검출/정정 동작을 수행하는 예를 나타낸다.
메모리 시스템 내에 저장된 독출 전압 레벨 정보를 참조하면, 제1 레벨의 독출 전압(VR1)이 선정된 ECC 단위들의 정보를 알 수 있으며, 예컨대, 도 12에 도시된 바와 같이 적어도 제1, 제3 및 제16 ECC 단위들(ECC1, ECC3, ECC16)에 대해 제1 레벨의 독출 전압(VR1)이 선정된다. 제1 레벨의 독출 전압(VR1)에 의해 페이지의 데이터가 독출됨에 따라 복수의 ECC 단위들(ECC1~ECC16)의 데이터가 페이지 버퍼에 저장된다.
제1 레벨의 독출 전압(VR1)이 선정된 ECC 단위들에 대한 에러 검출/정정 동작이 수행된다. 예컨대, 제1, 제3 및 제16 ECC 단위들(ECC1, ECC3, ECC16)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다.
제1 레벨의 독출 전압(VR1)을 이용한 독출 재시도 동작이 완료되면, 제2 레벨의 독출 전압(VR2)을 이용하여 독출 재시도 동작을 수행한다. 제2 ECC 단위(ECC2)를 포함하여 다른 ECC 단위들에 대해 제2 레벨의 독출 전압(VR2)이 선정될 수 있으며, 제2 레벨의 독출 전압(VR2)에 대응하는 ECC 단위들에 대해 에러 검출/정정을 동작을 수행한다. 예컨대, 제2 ECC 단위(ECC2)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다.
제2 레벨의 독출 전압(VR2)을 이용한 독출 재시도 동작이 완료되면, 제3 레벨의 독출 전압(VR3)을 이용하여 독출 재시도 동작을 수행한다. 제4 ECC 단위(ECC4)를 포함하여 다른 ECC 단위들에 대해 제3 레벨의 독출 전압(VR3)이 선정될 수 있으며, 제3 레벨의 독출 전압(VR3)에 대응하는 ECC 단위들에 대해 에러 검출/정정을 동작을 수행한다. 예컨대, 제4 ECC 단위(ECC4)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다.
전술한 실시예에 따르면, 동일할 레벨을 갖는 독출 전압을 이용한 재독출 동작이 중복 수행되는 것을 방지할 수 있으며, 이에 따라 독출 재시도 동작에 소요되는 전체 시간을 감소할 수 있다.
도 13은 독출 재시도 동작의 또 다른 예를 나타내며, 일예로서 독출 재시도 동작시 동일한 레벨의 독출 전압이 설정된 둘 이상의 연속적으로 위치한 ECC 단위들에 대해 하나의 사이클에서 에러 검출/정정 동작을 수행하는 예를 나타낸다. 문턱전압 분포의 경우, 인접한 ECC 단위들의 문턱전압 분포가 유사하게 변동될 수 있으며, 이에 따라 인접한 ECC 단위들의 경우 동일한 레벨을 갖는 독출 전압이 설정될 수 있다. 본 실시예의 경우, 독출 전압이 동일한 레벨로 설정된 인접한 ECC 단위들을 하나의 사이클에서 재독출하므로, 본 실시예에 따라 독출 재시도 동작에 소요되는 사이클의 수를 감소시킬 수 있다.
제1 및 제2 ECC 단위(ECC1, ECC2)에 대해 제1 레벨의 독출 전압(VR1)이 선정됨에 따라, 제1 레벨의 독출 전압(VR1)에 의해 페이지의 데이터가 독출되며, 제1 및 제2 ECC 단위(ECC1, ECC2)로부터의 데이터에 대한 에러 검출/정정 동작이 수행된다. 제1 및 제2 ECC 단위(ECC1, ECC2)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다.
다음의 제3 ECC 단위(ECC3)에 대하여 제2 레벨의 독출 전압(VR2)이 선정되고, 제1 레벨의 독출 전압(VR1)에 의해 독출된 제3 ECC 단위(ECC3)로부터의 데이터에 대한 에러 검출/정정 동작이 수행된다. 제3 ECC 단위(ECC3)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다. 이와 유사한 방식에 따라 제4 ECC 단위(ECC4)에 대하여 제1 레벨의 독출 전압(VR1)이 선정되고, 제1 레벨의 독출 전압(VR1)에 의해 독출된 제4 ECC 단위(ECC4)로부터의 데이터에 대한 에러 검출/정정 동작이 수행된다. 각 ECC 단위에 대해 소정의 레벨의 독출 전압이 선정되고, 하나의 페이지에 포함된 전체 ECC 단위들에 대해 에러 검출/정정 동작이 수행된다. 연속적으로 위치하는 두 개 이상의 ECC 단위들에 대해 동일한 레벨의 독출 전압이 설정된 경우, 하나의 독출 동작에 의해 두 개 이상의 ECC 단위들에 대해 에러 검출/정정 동작이 수행될 수 있다.
도 14는 독출 재시도 동작의 또 다른 예를 나타내며, 일예로서 하나의 사이클에서 에러 검출/정정 대상의 모든 ECC 단위들에 대해 에러 검출/정정 동작을 수행하는 예가 도시된다. 예컨대, 제1 레벨의 독출 전압과 제2 레벨의 독출 전압의 레벨 차이가 크지 않은 경우, 제2 ECC 단위에 대해 제2 레벨의 독출 전압이 설정되었더라도, 제1 레벨의 독출 전압을 이용하여 제2 ECC 단위의 데이터를 독출하더라도, 제2 ECC 단위로부터 독출된 데이터에 에러가 발생하지 않거나 또는 에러가 정정 가능할 수 있다.
도 14를 참조하면, 제1 레벨의 독출 전압(VR1)에 의해 페이지의 데이터가 독출되며, 페이지에 포함된 제1 내지 제16 ECC 단위(ECC1~ECC16)로부터의 데이터에 대한 에러 검출/정정 동작이 수행된다. 제1 레벨의 독출 전압(VR1)이 설정된 하나 이상의 ECC 단위들, 예컨대 제1, 제3, 제16 ECC 단위들(ECC1, ECC3, ECC16)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다. 다른 레벨의 독출 전압이 설정된 ECC 단위에 대해서도 에러가 발생하지 않을 수 있으나, 본 실시예를 설명함에 있어서 각각 대응하는 독출 전압에 의해 데이터가 독출된 경우에만 에러가 발생하지 않는 것으로 가정한다.
에러가 발생한 ECC 단위들(또는, 정정 불가능한 에러가 발생한 ECC 단위들)에 대해 다른 레벨의 독출 전압을 이용하여 독출된 데이터의 에러 검출/정정 동작이 수행된다. 예컨대, 제2 레벨의 독출 전압(VR2)에 의해 페이지의 데이터가 독출되며, 에러가 발생하였던 ECC 단위들에 대해 에러 검출/정정 동작이 수행될 수 있다. 이에 따라, 제2 ECC 단위(ECC2)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다.
상기와 같은 동작이 반복하여 수행되며, 제3 레벨의 독출 전압(VR3)에 의해 페이지의 데이터가 독출되는 경우 제4 ECC 단위(ECC4)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있으며, 제4 레벨의 독출 전압(VR4)에 의해 페이지의 데이터가 독출되는 경우 제5 ECC 단위(ECC5)로부터의 데이터의 경우 데이터에 대해서 에러가 발생하지 않거나 정정 가능한 에러만이 발생할 수 있다. 상기 페이지의 모든 ECC 들에 대해 에러 검출/정정 동작이 완료됨에 따라, 다음의 페이지의 ECC 들에 대해 에러 검출/정정 동작이 수행된다.
도 15는 본 발명의 또 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다. 도 15에서는 도 14에 도시된 실시예에 따라 메모리 시스템이 동작하는 일예를 나타낸다.
소정의 독출 전압(예컨대, 제1 독출 전압)에 의해 제1 페이지의 데이터가 독출되며(S31), 상기 제1 독출 전압에 의한 독출 동작은 독출 재시도 동작 전 노멀 독출 동작일 수 있다. 제1 페이지에 포함된 다수의 ECC 단위들에 대해 ECC 단위별로 에러 검출 및 정정 동작이 수행된다(S32). 에러 검출 및 정정 동작 결과에 기반하여, 노멀 독출 동작에 의해 독출된 데이터의 에러 검출 결과에 기반하여, 제1 페이지의 ECC 단위들 중 에러가 발생하거나 또는 에러 정정이 실패한 ECC 단위가 존재하는지를 판단한다(S33). 판단 결과, 에러 정정이 실패한 ECC 단위가 존재하지 않는 경우에는 다음의 제2 페이지의 데이터를 독출하는 단계가 수행된다(S36).
적어도 하나의 ECC 단위에 정정 불가능한 에러가 발생한 경우, 해당 ECC 단위의 데이터를 다시 독출하기 위한 독출 재시도 동작이 수행되며, 이에 따라 독출 전압의 레벨을 변경한다(S34). 독출 전압의 레벨을 변경하는 동작은, 메모리 시스템 내에 ECC 단위별로 최적의 독출 전압의 레벨이 설정되며, 정정 불가능한 에러가 발생된 ECC 단위에 대응하는 독출 전압의 레벨을 선정하는 동작을 포함할 수 있다. 레벨 변경된 독출 전압에 의해 제1 페이지의 데이터가 재독출되며(S35), 재독출된 데이터에 대한 에러 검출/정정 및 에러 정정 실패한 ECC 단위가 존재하는지가 판단된다. 상기와 같은 동작의 반복에 의하여, 제1 페이지에 포함된 전체 ECC 단위들에 대해 에러가 발생하지 않거나 에러 정정이 성공한 경우 다음의 제2 페이지의 데이터를 독출하는 단계가 수행된다(S36).
도 16은 불휘발성 메모리 셀이 복수의 비트의 데이터를 저장하는 경우 독출 재시도를 위한 독출 전압의 레벨을 설정하는 예를 나타내는 도면이다. 일예로서, 하나의 셀 당 3 비트의 데이터를 저장하는 트리플 레벨 셀의 경우가 도시되며, 프로그램된 상태에 따라 불휘발성 셀들은 8 개의 문턱전압 분포들을 갖는다. 또한, 독출 동작시 8 개의 문턱전압 산포들을 구분하기 위하여 제1 내지 제7 독출 전압(VRA~VRG)이 이용된다.
제1 내지 제7 독출 전압(VRA~VRG) 각각에 대하여 ECC 단위별로 독출 전압의 레벨이 설정될 수 있다. 예컨대, 판독하려는 데이터에 따라 제1 내지 제7 독출 전압(VRA~VRG) 중 어느 하나의 독출 전압을 이용한 독출 동작이 수행되며, 독출된 데이터에 대해 에러 검출/정정 동작이 수행되고, 에러가 발생된 경우 ECC 단위별로 설정된 독출 전압을 이용하여 독출 재시도 동작이 수행된다.
제1 독출 전압(VRA)을 이용하여 독출 동작을 수행함에 따라 소거 상태(E)와 제1 프로그램 상태(P1)가 판별된다. 제1 독출 전압(VRA)을 이용하여 독출된 데이터에 대해 에러 검출/정정 동작이 수행되고, 에러가 발생한 경우 독출 재시도 동작을 위한 알고리즘이 수행되며, ECC 단위별로 설정된 레벨의 독출 전압을 이용하여 독출 재시도 동작을 수행한다. ECC 단위별로 문턱전압 분포가 다르게 변동될 수 있으며, 이에 따라 ECC 단위별로 서로 다른 레벨의 독출 전압을 이용할 때 에러 발생을 최소화할 수 있다. 어느 하나의 페이지에 포함된 ECC 단위들에 대해, 독출 재시도 동작시 소거 상태(E)와 제1 프로그램 상태(P1)의 판별을 위한 다양한 레벨의 독출 전압들(VR11, VR12, VR13,...)이 설정된다.
ECC 단위들에 대한 독출 전압의 레벨 설정은 다른 프로그램 상태의 판별을 위해 설정될 수 있다. 예컨대, 제1 프로그램 상태(P1)와 제2 프로그램 상태(P2)를 판별하기 위한 다양한 레벨의 독출 전압들(VR21, VR22, VR23,...)이 ECC 단위별로 설정된다. 제2 독출 전압(VRB)을 이용하여 독출된 데이터에 대해 에러 검출/정정 동작이 수행되고, 에러가 발생한 경우 ECC 단위별로 설정된 레벨의 독출 전압을 이용하여 독출 재시도 동작을 수행한다. 이와 유사하게, 제2 프로그램 상태(P2)와 제3 프로그램 상태(P3)를 판별하기 위한 다양한 레벨의 독출 전압들(VR31, VR32, VR33,...)이 ECC 단위별로 설정될 수 있으며, 제6 프로그램 상태(P6)와 제7 프로그램 상태(P7)를 판별하기 위한 다양한 레벨의 독출 전압들(VR71, VR72, VR73,...)이 ECC 단위별로 설정될 수 있다.
도 17a,b는 본 발명의 다른 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 17a를 참조하면, 메모리 시스템(200)은 메모리 콘트롤러(3000) 및 메모리 장치(4000)를 포함할 수 있다. 본 실시예에 따른 메모리 시스템(200)에 포함된 구성 요소들 중 일부는 도 1의 메모리 시스템(100)에 포함된 구성 요소들과 실질적으로 동일할 수 있다. 메모리 콘트롤러(3000)는 메모리 장치(4000)로부터 수신된 데이터(DATA)에 대해 에러 검출/정정 동작을 수행하는 ECC 회로(3100)와, ECC 단위별로 설정된 독출 전압의 레벨 정보를 저장하는 독출 전압 테이블(3200)을 포함할 수 있다. 또한 메모리 장치(4000)는, 불휘발성 메모리 셀을 포함하는 메모리 셀 어레이(4100)와 메모리 동작에 이용되는 전압 신호의 생성을 제어하는 전압 제어부(4200)를 포함할 수 있다. 메모리 장치(4000)에 구비되는 전압 제어부(4200)는 도 1에 도시된 메모리 콘트롤러 내의 전압 제어부와 실질적으로 동일한 기능을 수행할 수 있다.
ECC 회로(3100)는 메모리 장치(4000)로부터 독출된 데이터에 대해 에러 검출/정정을 수행하고, 메모리 콘트롤러(3000)는 ECC 회로(3100)의 에러 검출/정정 결과에 따라 ECC 단위별로 변경될 독출 전압의 레벨에 관련된 레벨 정보(INF_LEV)를 출력한다. 예컨대, 메모리 콘트롤러(3000)는 독출된 데이터에 대해 에러가 발생하지 않은 경우에는 다음 페이지에 대한 독출 명령 및 어드레스를 출력한다. 반면에, 독출된 데이터에 대해 에러가 발생하지 않은 경우, 독출 재시도 동작을 수행하기 위한 알고리즘을 수행하며 이에 따른 신호를 메모리 장치(4000)로 제공한다. 레벨 정보(INF_LEV)는 독출 전압 테이블(3200)에 저장된 정보를 참조하여 생성될 수 있다.
소정의 페이지에 포함된 ECC 단위들 중 적어도 일부에 에러가 발생한 경우, 메모리 콘트롤러(3000)는 상기 ECC 단위들에 대해 독출 재시도 동작을 위한 커맨드(CMD) 및 어드레스(ADDR)를 출력함과 함께, 상기 ECC 단위들에 설정된 독출 전압의 레벨 정보(INF_LEV)를 출력한다. 전압 제어부(4200)는 레벨 정보(INF_LEV)에 근거하여 독출 전압의 레벨을 변동하기 위한 제어 신호를 생성한다. 메모리 장치(4000) 내에 구비되는 별도의 전압 발생 수단(미도시)은 전압 제어부(4200)로부터의 제어 신호에 근거하여 그 레벨이 변동된 독출 전압을 생성한다. 레벨 변동된 독출 전압에 의해 독출된 데이터는 메모리 콘트롤러(3000)로 제공되며, 이에 대한 에러 검출/정정 동작 및 이에 따른 레벨 정보(INF_LEV) 출력 동작이 반복적으로 수행된다.
한편, 본 발명의 다른 구현예로서, 도 16b에 도시된 바와 같이 메모리 장치(4000)는 불휘발성 메모리 셀을 포함하는 메모리 셀 어레이(4100), 메모리 동작에 이용되는 전압 신호의 생성을 제어하는 전압 제어부(4200) 및 메모리 셀 어레이(4100)로부터 독출된 데이터의 값을 판별하는 데이터 판별부(4300)를 포함할 수 있다. 전술한 구성과 유사하게, 메모리 콘트롤러(3000)는 데이터(DATA)에 대해 에러 검출/정정 동작을 수행하는 ECC 회로(3100)와, ECC 단위별로 설정된 독출 전압의 레벨 정보를 저장하는 독출 전압 테이블(3200)을 포함할 수 있다.
메모리 셀 어레이(4100)로부터 독출된 데이터의 값을 판별하는 동작은 메모리 장치(4000) 내의 데이터 판별부(4300)에서 수행될 수 있다. 예컨대, ECC 단위 별로 독출 전압의 레벨을 설정하기 위하여, 데이터 판별부(4300)는 각 ECC 단위로부터 독출된 데이터로부터 0 또는 1의 값을 판별하고 그 판별 결과를 메모리 콘트롤러(3000)로 제공하며, 메모리 콘트롤러(3000)는 현재 이용된 독출 전압의 레벨이 해당 ECC 단위에 최적화된 레벨인가를 판단한다. 판단 결과, 해당 ECC 단위에서 에러가 발생하지 않은 경우 현재 이용된 독출 전압의 레벨을 상기 ECC 단위의 독출 전압 레벨로서 설정하며, 반면에 ECC 단위에서 에러가 발생한 경우에는 다른 레벨을 갖는 독출 전압에 의해 해당 ECC 단위의 데이터가 독출되도록 제어한다. 각각의 ECC 단위에 대해 설정되는 독출 전압 레벨 정보는 독출 전압 테이블(3200)에 저장될 수 있다.
도 18은 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 18을 참조하면, 메모리 카드 시스템(5000)은 호스트(5100) 및 메모리 카드(5200)를 포함할 수 있다. 호스트(5100)는 호스트 컨트롤러(5110) 및 호스트 접속부(5120)를 포함할 수 있다. 메모리 카드(5200)는 카드 접속부(5210), 카드 컨트롤러(5220) 및 메모리 장치(5230)를 포함할 수 있다.
호스트(5100)는 메모리 카드(5200)에 데이터를 기입하거나, 메모리 카드(5200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(5110)는 커맨드(CMD), 호스트(5100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(5120)를 통해 메모리 카드(5200)로 전송할 수 있다.
카드 컨트롤러(5220)는 카드 접속부(5210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(5220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(5230)에 저장할 수 있다. 메모리 장치(5230)는 호스트(5100)로부터 전송된 데이터를 저장할 수 있다. 이때, 카드 컨트롤러(5220) 또는 메모리 장치(5230)는 전술한 실시예에서 설명된 독출 전압의 레벨을 제어하기 위한 전압 제어부를 포함할 수 있다.
메모리 카드(5200)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 19는 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 19를 참조하면, 컴퓨팅 시스템(6000)은 메모리 시스템(6100), 프로세서(6200), RAM(6300), 입출력 장치(6400), 및 전원 장치(6500) 포함할 수 있다. 한편, 도 19에는 도시되지 않았지만, 컴퓨팅 시스템(6000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(6000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(6200)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(6200)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(6200)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(6600)를 통하여 RAM(6300), 입출력 장치(6400) 및 메모리 시스템(6100)과 통신을 수행할 수 있다. 실시예에 따라, 프로세서(6200)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(6300)는 컴퓨팅 시스템(6000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, RAM(6300)은 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(6400)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(6500)는 컴퓨팅 시스템(6000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 20은 본 발명의 실시 예들에 따른 메모리 시스템을 SSD에 적용한 예를 나타내는 블록도이다.
도 20을 참조하면, SSD 시스템(7000)은 호스트(7100) 및 SSD(7200)를 포함할 수 있다. SSD(7200)는 신호 커넥터(signal connector, 7211)를 통해 호스트(7100)와 신호를 주고 받으며, 전원 커넥터(power connector, 7221)를 통해 전원을 입력 받는다. SSD(7200)는 SSD 컨트롤러(7210), 보조 전원 장치(7220) 및 복수의 메모리 장치들(7230, 7240, 7250)을 포함할 수 있다. 이때, SSD 컨트롤러(7210) 또는 복수의 메모리 장치들(7230, 7240, 7350)은 전술한 실시예에 따른 독출 전압의 레벨을 제어하기 위한 전압 제어부를 포함할 수 있다.
도 21은 도 20의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 21을 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(8000)은 네트워크(8200)를 통해 연결되는 서버 시스템(8100) 및 다수의 단말들(8300, 8400, 8500)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(8100)은 네트워크(8200)에 연결되는 다수의 단말들(8300, 8400, 8500)로부터 수신되는 요청을 처리하는 서버(8110) 및 단말들(8300, 8400, 8500)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD(8120)를 포함할 수 있다. 이때, SSD(8120)는 도 20의 SSD(8000)일 수 있다.
한편, 상기에서 설명된 본 발명에 따른 플래시 메모리 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템은 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 하나 이상의 페이지를 포함하며, 각각의 페이지는 독출 데이터의 에러 정정 단위로서 다수의 ECC 단위들을 포함하는 메모리 셀 어레이; 및
    상기 메모리 셀 어레이의 데이터를 독출하기 위한 독출 전압을 생성하는 전압 생성부를 구비하고,
    초기 구동시, 상기 ECC 단위 별 데이터 검출 결과에 기반하여 각각의 ECC 단위에 대응하는 독출 전압 레벨이 설정되고,
    독출 재시도 구간시, 상기 다수의 ECC 단위들 중 독출 에러가 발생된 ECC 단위에 대해, ECC 단위 별로 설정된 독출 전압 레벨에 따라 상기 독출 에러가 발생된 ECC 단위에 대한 재독출 동작이 수행되는 것을 특징으로 하는 불휘발성 메모리 장치.
  2. 제1항에 있어서,
    상기 초기 구동시, 상기 메모리 셀 어레이의 ECC 단위들 각각의 문턱전압 분포에 기반하여, 상기 ECC 단위들 각각에 대응하는 독출 전압의 레벨이 설정되는 것을 특징으로 하는 불휘발성 메모리 장치.
  3. 제1항에 있어서,
    상기 ECC 단위들 각각에 대응하는 독출 전압의 레벨에 관련된 정보를 저장하고, 상기 독출 재시도 구간에서 상기 ECC 단위들 각각에 대해 설정된 독출 전압 레벨에 따라 데이터가 독출되도록 제어하는 콘트롤러를 더 구비하는 것을 특징으로 하는 불휘발성 메모리 장치.
  4. 제3항에 있어서,
    상기 콘트롤러는 상기 ECC 단위의 데이터에 대해 에러 검출/정정을 수행하는 에러 정정 회로; 및
    상기 에러 검출/정정 결과 및 상기 독출 전압의 레벨에 관련된 정보를 참조하여 상기 독출 전압의 레벨을 제어하기 위한 제어신호를 발생하는 전압 제어부를 더 구비하는 것을 특징으로 하는 불휘발성 메모리 장치.
  5. 제1항에 있어서,
    상기 독출 재시도 구간은, 상기 페이지의 적어도 하나의 ECC 단위로부터 독출된 데이터에 대해 정정 불가능한 에러가 발생한 경우에 수행되는 것을 특징으로 하는 불휘발성 메모리 장치.
  6. 제1항에 있어서,
    상기 메모리 셀 어레이는 NAND 플래시 메모리 셀들을 포함하는 것을 특징으로 하는 불휘발성 메모리 장치.
  7. 제1항에 있어서,
    상기 독출 재시도 구간시, 독출 에러가 발생된 ECC 단위들에 대해 상기 설정된 독출 전압 레벨을 이용한 1회의 재독출 동작만이 수행되는 것을 특징으로 하는 불휘발성 메모리 장치.
  8. 제1항에 있어서,
    독출 동작시 노멀 독출 전압을 이용하여 상기 페이지에 대한 독출 동작이 수행되고, 독출 에러가 발생된 제1 및 제2 ECC 단위는 서로 다른 레벨을 갖도록 설정된 독출 전압 레벨에 따라 각각 재독출되는 것을 특징으로 하는 불휘발성 메모리 장치.
  9. 불휘발성 메모리 장치의 동작방법에 있어서,
    에러 정정 단위로서 다수의 ECC 단위들에 대해, ECC 단위 별 데이터 검출 결과에 기반하여 각각의 ECC 단위에 대응하는 독출 전압 레벨을 설정하는 단계;
    노멀 독출 전압을 이용하여 동일한 워드라인에 연결되는 제1 내지 제n ECC 단위들로부터 독출된 데이터에 대한 에러 검출을 수행하는 단계(단, n은 2 이상의 정수);
    상기 에러 검출 결과에 따라, 독출 에러가 발생된 하나 이상의 ECC 단위들에 대해 각각의 ECC 단위에 대응하는 독출 전압을 선정하는 단계; 및
    각각의 ECC 단위에 대해 선정된 독출 전압을 이용하여 ECC 단위별로 데이터를 재독출하는 단계를 구비하고,
    상기 다수의 ECC 단위들 각각에 대응하여 설정된 독출 전압 레벨에 관련된 정보는 상기 불휘발성 메모리 장치 내에 저장되는 것을 특징으로 하는 불휘발성 메모리 장치의 동작방법.
  10. 제9항에 있어서,
    상기 독출 전압 레벨에 관련된 정보는 상기 불휘발성 메모리 장치 내에 테이블화되어 저장되며,
    하나 이상의 ECC 단위들에 독출 에러가 발생된 경우, 상기 노멀 독출 전압과는 무관하게 상기 테이블화되어 저장된 정보를 이용하여 각각의 ECC 단위에 대응하는 독출 전압 레벨이 선정되는 것을 특징으로 하는 불휘발성 메모리 장치의 동작방법.
KR1020120111380A 2012-10-08 2012-10-08 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법 KR20140045168A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120111380A KR20140045168A (ko) 2012-10-08 2012-10-08 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법
US13/947,219 US9606864B2 (en) 2012-10-08 2013-07-22 Non-volatile memory device having adjustable read voltage, memory system comprising same, and method of operating same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120111380A KR20140045168A (ko) 2012-10-08 2012-10-08 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법

Publications (1)

Publication Number Publication Date
KR20140045168A true KR20140045168A (ko) 2014-04-16

Family

ID=50433747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120111380A KR20140045168A (ko) 2012-10-08 2012-10-08 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법

Country Status (2)

Country Link
US (1) US9606864B2 (ko)
KR (1) KR20140045168A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160013764A (ko) * 2014-07-28 2016-02-05 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
KR20160014473A (ko) * 2014-07-29 2016-02-11 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
KR20180000594A (ko) * 2016-06-23 2018-01-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
CN109416654A (zh) * 2016-06-29 2019-03-01 美光科技公司 错误校正码事件检测
KR20200066911A (ko) * 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20200076487A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
KR20200077168A (ko) * 2018-12-20 2020-06-30 삼성전자주식회사 스토리지 장치 및 스토리지 시스템
KR20210012177A (ko) * 2019-07-24 2021-02-03 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954821B2 (en) * 2009-12-29 2015-02-10 Microntechnology, Inc. Memory device having address and command selectable capabilities
KR102050475B1 (ko) * 2013-01-14 2020-01-08 삼성전자주식회사 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법
US20140359202A1 (en) * 2013-05-31 2014-12-04 Western Digital Technologies, Inc. Reading voltage calculation in solid-state storage devices
US9805813B2 (en) * 2013-08-30 2017-10-31 Empire Technology Development Llc Reduction of power consumption in flash memory
US20150085571A1 (en) * 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
KR102114234B1 (ko) * 2013-10-22 2020-05-25 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
KR102174030B1 (ko) * 2014-05-13 2020-11-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법
WO2016039767A1 (en) * 2014-09-12 2016-03-17 Hewlett Packard Enterprise Development Lp Assign error rate to memory
US10078546B2 (en) 2014-10-24 2018-09-18 Micron Technology, Inc. Temperature related error management
KR102290974B1 (ko) 2014-11-07 2021-08-19 삼성전자주식회사 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법
US9852799B2 (en) 2014-11-19 2017-12-26 Sandisk Technologies Llc Configuration parameter management for non-volatile data storage
US9905302B2 (en) 2014-11-20 2018-02-27 Western Digital Technologies, Inc. Read level grouping algorithms for increased flash performance
US9576671B2 (en) 2014-11-20 2017-02-21 Western Digital Technologies, Inc. Calibrating optimal read levels
US9720754B2 (en) 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
CN106158038B (zh) 2015-04-14 2021-03-09 恩智浦美国有限公司 从非易失性存储器读取数据的方法
US9563505B2 (en) 2015-05-26 2017-02-07 Winbond Electronics Corp. Methods and systems for nonvolatile memory data management
US9836349B2 (en) 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
KR102381218B1 (ko) * 2015-09-25 2022-04-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN106653087A (zh) * 2015-10-28 2017-05-10 光宝电子(广州)有限公司 固态存储装置及其相关读取控制方法
CN105529050B (zh) * 2015-12-31 2019-09-03 记忆科技(深圳)有限公司 一种降低对uwl进行读取发生时间超时错误的方法
CN107025940B (zh) * 2016-01-19 2020-11-20 威盛电子股份有限公司 非易失性存储器装置及其实时自适应读取电压调整方法
KR102609130B1 (ko) 2016-02-17 2023-12-05 삼성전자주식회사 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치
US9679661B1 (en) * 2016-06-28 2017-06-13 Sandisk Technologies Llc Non-volatile storage system with self-test for read performance enhancement feature setup
KR102684983B1 (ko) * 2016-08-02 2024-07-16 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US9672940B1 (en) 2016-08-18 2017-06-06 Sandisk Technologies Llc Non-volatile memory with fast read process
KR102687216B1 (ko) * 2016-10-12 2024-07-22 삼성전자주식회사 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치
US10381085B2 (en) 2016-10-27 2019-08-13 Micron Technogy, Inc. Erasing memory cells
KR20180051272A (ko) * 2016-11-08 2018-05-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20180064088A (ko) * 2016-12-05 2018-06-14 에스케이하이닉스 주식회사 메모리 제어 장치 및 방법
US10468117B2 (en) * 2017-01-12 2019-11-05 Sandisk Technologies Llc Read threshold adjustment with feedback information from error recovery
US10572344B2 (en) * 2017-04-27 2020-02-25 Texas Instruments Incorporated Accessing error statistics from DRAM memories having integrated error correction
CN107247636B (zh) * 2017-06-06 2020-05-26 苏州浪潮智能科技有限公司 一种固态硬盘中数据重建优化的方法及装置
US10236067B2 (en) * 2017-08-02 2019-03-19 International Business Machines Corporation State-dependent read voltage threshold adaptation for nonvolatile memory
US10199111B1 (en) * 2017-08-04 2019-02-05 Micron Technology, Inc. Memory devices with read level calibration
KR102353363B1 (ko) * 2017-08-14 2022-01-20 에스케이하이닉스 주식회사 메모리 시스템의 동작 방법
CN109840047A (zh) 2017-11-27 2019-06-04 华为技术有限公司 一种降低读延时的方法及装置
CN110246533B (zh) * 2018-03-09 2020-11-13 建兴储存科技(广州)有限公司 固态储存装置的失败模式检测方法及错误更正方法
CN110364197B (zh) * 2018-04-11 2021-08-27 深圳大心电子科技有限公司 解码方法以及存储控制器
KR20190122422A (ko) * 2018-04-20 2019-10-30 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
US10529433B1 (en) 2018-08-13 2020-01-07 Micron Technology, Inc. Offset memory component automatic calibration (AUTOCAL) error recovery for a memory sub-system
JP2020047353A (ja) * 2018-09-20 2020-03-26 キオクシア株式会社 メモリシステム
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US11256778B2 (en) 2019-02-14 2022-02-22 Micron Technology, Inc. Methods and apparatus for checking the results of characterized memory searches
US11327551B2 (en) * 2019-02-14 2022-05-10 Micron Technology, Inc. Methods and apparatus for characterizing memory devices
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US10942655B2 (en) * 2019-07-09 2021-03-09 Seagate Technology Llc Mitigating data errors in a storage device
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
JP2022020957A (ja) 2020-07-21 2022-02-02 キオクシア株式会社 メモリシステム及び半導体記憶装置
KR20220140052A (ko) 2021-04-08 2022-10-18 삼성전자주식회사 히스토리 테이블을 사용하는 스토리지 컨트롤러의 동작 방법, 및 스토리지 컨트롤러를 포함하는 스토리지 장치
US11735286B2 (en) * 2021-09-30 2023-08-22 Innogrit Technologies Co., Ltd. Selecting read reference voltage using historical decoding information
US20230393777A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Dynamic read level trim selection for scan operations of memory devices
US11960358B1 (en) 2022-09-30 2024-04-16 Nxp B.V. More secure data reading with error correction codes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6992932B2 (en) 2002-10-29 2006-01-31 Saifun Semiconductors Ltd Method circuit and system for read error detection in a non-volatile memory array
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7499319B2 (en) 2006-03-03 2009-03-03 Sandisk Corporation Read operation for non-volatile storage with compensation for coupling
US7450425B2 (en) 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
KR100865830B1 (ko) * 2007-02-22 2008-10-28 주식회사 하이닉스반도체 메모리 소자의 독출 방법
KR100907218B1 (ko) 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법
KR20090014036A (ko) 2007-08-03 2009-02-06 삼성전자주식회사 읽기 디스터번스로 인한 에러를 방지하는 메모리 시스템 및그 방법
KR100996009B1 (ko) * 2009-02-02 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
KR101586046B1 (ko) * 2009-05-26 2016-01-18 삼성전자주식회사 저장 장치 및 그것의 읽기 방법
US8072805B2 (en) * 2009-08-18 2011-12-06 Skymedi Corporation Method and system of finding a read voltage for a flash memory
US8504884B2 (en) 2009-10-29 2013-08-06 Freescale Semiconductor, Inc. Threshold voltage techniques for detecting an imminent read failure in a memory array
WO2011094454A2 (en) * 2010-01-27 2011-08-04 Fusion-Io, Inc. Apparatus, system, and method for determining a read voltage threshold for solid-state storage media
US8631288B2 (en) * 2011-03-14 2014-01-14 Micron Technology, Inc. Methods, devices, and systems for data sensing in a memory system
US9047210B2 (en) * 2011-09-15 2015-06-02 Sandisk Technologies Inc. Data storage device and method to correct bit values using multiple read voltages

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160013764A (ko) * 2014-07-28 2016-02-05 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
KR20160014473A (ko) * 2014-07-29 2016-02-11 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
KR20180000594A (ko) * 2016-06-23 2018-01-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
CN109416654A (zh) * 2016-06-29 2019-03-01 美光科技公司 错误校正码事件检测
CN109416654B (zh) * 2016-06-29 2022-08-12 美光科技公司 电子存储器设备及其操作方法
KR20200066911A (ko) * 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20200076487A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
KR20200077168A (ko) * 2018-12-20 2020-06-30 삼성전자주식회사 스토리지 장치 및 스토리지 시스템
US11080186B2 (en) 2018-12-20 2021-08-03 Samsung Electronics Co., Ltd. Storage device and storage system
US11586538B2 (en) 2018-12-20 2023-02-21 Samsung Electronics Co., Ltd. Storage device and storage system
KR20210012177A (ko) * 2019-07-24 2021-02-03 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
US20140101519A1 (en) 2014-04-10
US9606864B2 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
KR20140045168A (ko) 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법
KR101979734B1 (ko) 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR102065665B1 (ko) 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
KR101736792B1 (ko) 플래시 메모리 및 그것의 셀프 인터리빙 방법
US9412471B2 (en) Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
TWI622988B (zh) 使用於非揮發性記憶體元件之對數槪似比率(llr)最佳化和修正非揮發性記憶體元件之錯誤的方法
KR102585221B1 (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
CN107133122B (zh) 存储器控制方法
US8644066B2 (en) Multi-level non-volatile memory device, system and method with state-converted data
US10985780B2 (en) Error correction circuit, and memory controller having the error correction circuit and memory system having the memory controller
KR20110092091A (ko) 플래시 메모리 장치 및 그것의 읽기 방법
US10522234B2 (en) Bit tagging method, memory control circuit unit and memory storage device
KR20130027138A (ko) 에러 정정 방법 및 이를 이용하는 메모리 장치
JP7353889B2 (ja) メモリシステムおよび方法
US10685711B1 (en) Decoding method, memory controlling circuit unit and memory storage device
KR20100088898A (ko) 플래시 메모리 장치, 및 이의 프로그램 및 독출 방법
TWI681396B (zh) 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
TWI691962B (zh) 解碼方法、記憶體控制電路單元與記憶體儲存裝置
US11190217B2 (en) Data writing method, memory controlling circuit unit and memory storage device
CN111290876B (zh) 存储器系统及其操作方法
KR20140104829A (ko) 멀티 레벨 셀 비휘발성 메모리 시스템
TWI681393B (zh) 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
US12050533B2 (en) Memory system and operating method of memory system
CN111435604B (zh) 解码方法、存储器控制电路单元以及存储器存储装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid