KR102284658B1 - 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법 - Google Patents

비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법 Download PDF

Info

Publication number
KR102284658B1
KR102284658B1 KR1020150038419A KR20150038419A KR102284658B1 KR 102284658 B1 KR102284658 B1 KR 102284658B1 KR 1020150038419 A KR1020150038419 A KR 1020150038419A KR 20150038419 A KR20150038419 A KR 20150038419A KR 102284658 B1 KR102284658 B1 KR 102284658B1
Authority
KR
South Korea
Prior art keywords
memory cells
read voltage
voltage
threshold voltage
memory
Prior art date
Application number
KR1020150038419A
Other languages
English (en)
Other versions
KR20160112534A (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 KR1020150038419A priority Critical patent/KR102284658B1/ko
Priority to US15/072,383 priority patent/US9514830B2/en
Publication of KR20160112534A publication Critical patent/KR20160112534A/ko
Application granted granted Critical
Publication of KR102284658B1 publication Critical patent/KR102284658B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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
    • 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
    • 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
    • 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/08Address circuits; Decoders; Word-line control 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • 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/30Power supply 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/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
    • 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
    • G11C2013/0054Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Abstract

비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법이 개시된다. 본 발명의 비휘발성 메모리 장치의 동작 방법은, 시작 읽기 전압과 종료 읽기 전압에 의해 정의되는 검색 영역을 설정하는 단계, 상기 검색 영역이 기준 영역에 속하는지를 판단하는 단계, 상기 판단 결과, 상기 검색 영역이 기준 영역에 속하지 않으면, 상기 검색 영역을 변경하는 단계, 및 상기 판단 결과, 상기 검색 영역이 기준 영역에 속하면, 상기 검색 영역에 기초하여 새로운 읽기 전압을 찾는 단계를 포함한다.

Description

비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법{Non-volatile memory device, Memory system including the same, and Method of operating the same}
본 발명의 개념에 따른 실시 예는 반도체 메모리 장치 및 이를 포함하는 메모리 시스템에 관한 것으로, 특히, 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 비휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다.
비휘발성 메모리 장치는 컴퓨터, 휴대폰, 디지털카메라, 캠코더, 보이스 리코더, MP3 플레이어, 개인용 휴대 단말기(PDA), 게임기 등과 같은 전자기기들의 데이터 저장 매체로서 널리 사용되고 있다.
한편, 비휘발성 메모리 장치(예컨대, 플래시 메모리 장치)의 공정이 더욱 미세화됨에 따라, 시간에 따른 문턱 전압 산포의 변화(예컨대, Shift)로 인하여 신뢰성 있는 데이터 독출(read)이 더욱 어려워지고 있다.
이에 따라, 데이터 신뢰성(Data Integrity)을 높이기 위한 노력이 더욱 중요해지고 있다.
본 발명이 이루고자 하는 기술적인 과제는 읽기 데이터의 신뢰성을 향상시키는 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템, 및 상기 비휘발성 메모리 장치의 동작 방법을 제공하는 것이다.
본 발명의 실시 예에 따르면, 시작 읽기 전압과 종료 읽기 전압에 의해 정의되는 검색 영역을 설정하는 단계; 상기 검색 영역이 기준 영역에 속하는지를 판단하는 단계; 상기 판단 결과, 상기 검색 영역이 기준 영역에 속하지 않으면, 상기 검색 영역을 변경하는 단계; 및 상기 판단 결과, 상기 검색 영역이 기준 영역에 속하면, 상기 검색 영역에 기초하여 새로운 읽기 전압을 찾는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법이 제공된다.
상기 검색 영역이 기준 영역에 속하는지를 판단하는 단계는 상기 시작 읽기 전압 이하의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트하고, 상기 제1 메모리 셀들의 개수와 제1 기준 메모리 셀들의 개수를 비교하는 제1 비교 단계; 및 상기 종료 읽기 전압 이하의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트하고, 상기 제2 메모리 셀들의 개수와 제2 기준 메모리 셀들의 개수를 비교하는 제2 비교 단계를 포함할 수 있다.
상기 검색 영역을 변경하는 단계는, 상기 제1 비교 결과, 상기 제1 메모리 셀들의 개수가 상기 제1 기준 메모리 셀들의 개수 보다 크지 않으면, 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제1 쉬프트 전압만큼 증가시키는 단계; 및 상기 제2 비교 결과, 상기 제2 메모리 셀들의 개수가 상기 제2 기준 메모리 셀들의 보다 크면 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제2 쉬프트 전압만큼 감소시키는 단계를 포함할 수 있다.
실시예에 따라, 상기 제1 기준 메모리 셀들의 개수는, 제1 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수이고, 상기 제2 기준 메모리 셀들의 개수는, 제2 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수이며, 상기 제1 기준 문턱 전압 및 상기 제2 기준 문턱 전압은 각각 이웃하는 문턱 전압 분포에서 메모리셀 수가 가장 많은 문턱 전압이다.
상기 검색 영역이 기준 영역에 속하는지를 판단하는 단계는 상기 시작 읽기 전압 이상의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트하고, 상기 제1 메모리 셀들의 개수와 제1 기준 메모리 셀들의 개수를 비교하는 제1 비교 단계; 및 상기 종료 읽기 전압 이상의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트하고, 상기 제2 메모리 셀들의 개수와 제2 기준 메모리 셀들의 개수를 비교하는 제2 비교 단계를 포함할 수 있다.
상기 검색 영역을 변경하는 단계는 상기 제1 비교 결과, 상기 제1 메모리 셀들의 개수가 상기 제1 기준 메모리 셀들의 개수 보다 크면, 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제1 쉬프트 전압만큼 증가시키는 단계; 및 상기 제2 비교 결과, 상기 제2 메모리 셀들의 개수가 상기 제2 기준 메모리 셀들의 보다 크지 않으면 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제2 쉬프트 전압만큼 감소시키는 단계를 포함할 수 있다.
실시예에 따라, 상기 제1 기준 메모리 셀들의 개수는, 제1 기준 문턱 전압 이상의 문턱 전압을 가지는 메모리 셀들의 개수이고, 상기 제2 기준 메모리 셀들의 개수는, 제2 기준 문턱 전압 이상의 문턱 전압을 가지는 메모리 셀들의 개수이며, 상기 제1 기준 문턱 전압 및 상기 제2 기준 문턱 전압은 각각 이웃하는 문턱 전압 분포에서 메모리셀 수가 가장 많은 문턱 전압이다.
상기 제1 기준 메모리 셀들의 개수 및 상기 제2 기준 메모리 셀들의 개수는 미리 산출되어 레지스터에 저장될 수 있다.
본 발명의 실시 예에 따르면, 시작 읽기 전압과 제1 기준 문턱 전압을 비교하는 제1 비교 단계; 종료 읽기 전압과 제2 기준 문턱 전압을 비교하는 제2 비교 단계; 상기 제1 및 제2 비교 결과에 기초하여, 상기 시작 읽기 전압과 상기 종료 읽기 전압을 변경하는 단계; 및 상기 변경된 시작 읽기 전압과 종료 읽기 전압에 기초하여 새로운 읽기 전압을 찾는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법이 제공된다.
상기 시작 읽기 전압과 상기 종료 읽기 전압을 변경하는 단계는 상기 제1 비교 결과, 상기 시작 읽기 전압이 상기 제1 기준 문턱 전압 보다 크지 않으면, 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제1 쉬프트 전압만큼 증가시키는 단계; 및 상기 제2 비교 결과, 상기 종료 읽기 전압이 상기 제2 기준 문턱 전압 보다 크면 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제2 쉬프트 전압만큼 감소시키는 단계를 포함할 수 있다.
상기 제1 비교 단계는 상기 시작 읽기 전압 이하의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트하는 단계; 및 상기 제1 메모리 셀들의 개수를 제1 기준 메모리 셀들의 개수와 비교하는 단계를 포함하며, 상기 제1 기준 메모리 셀들의 개수는 상기 제1 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수로서, 실제 카운팅을 거치지 않고 산출된 값일 수 있다.
상기 제2 비교 단계는 상기 제1 종료 읽기 전압 이하의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트하는 단계; 및 상기 제2 메모리 셀들의 개수를 제2 기준 메모리 셀들의 개수와 비교하는 단계를 포함하며, 상기 제2 기준 메모리 셀들의 개수는 상기 제2 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수로서, 실제 카운팅을 거치지 않고 산출된 값일 수 있다.
상기 제1 비교 단계는 상기 제1 시작 읽기 전압 이상의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트하는 단계; 및 상기 제1 메모리 셀들의 개수를 제1 기준 메모리 셀들의 개수와 비교하는 단계를 포함하며, 상기 제1 기준 메모리 셀들의 개수는 상기 제1 기준 문턱 전압 이상의 문턱 전압을 가지는 메모리 셀들의 개수로서, 실제 카운팅을 거치지 않고 산출된 값일 수 있다.
상기 제2 비교 단계는 상기 제2 종료 읽기 전압 이상의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트하는 단계; 및 상기 제2 메모리 셀들의 개수를 제2 기준 메모리 셀들의 개수와 비교하는 단계를 포함하며, 상기 제2 기준 메모리 셀들의 개수는 상기 제2 기준 문턱 전압 이상의 문턱 전압을 가지는 메모리 셀들의 개수로서, 실제 카운팅을 거치지 않고 산출된 값일 수 있다.
상기 제1 쉬프트 전압은 제1 메모리 셀들의 개수와 제1 기준 메모리 셀들의 개수간의 차이에 따라 달라질 수 있다.
상기 새로운 읽기 전압을 찾는 단계는 상기 변경된 시작 읽기 전압과 종료 읽기 전압 사이의 영역을 제1 내지 제3 영역으로 나누고, 상기 제1 내지 제3 영역 각각에 속하는 메모리 셀들의 개수를 카운트하는 단계; 및 상기 제2 영역에 속하는 메모리 셀들의 개수가 상기 제1 영역에 속하는 메모리 셀들의 개수 및 상기 제3 영역에 속하는 메모리 셀들의 개수 보다 작거나 같은지를 비교하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따르면, 읽기 전압 정보를 포함하는 읽기 명령에 응답하여 선택된 메모리 셀들로부터 데이터를 독출하는 비휘발성 메모리 장치; 및 상기 독출된 데이터로부터 시작 읽기 전압과 종료 읽기 전압에 의해 정의되는 검색 영역이 기준 영역에 속하는지를 판단하고, 상기 판단 결과 상기 검색 영역이 상기 기준 영역에 속하지 않으면 상기 검색 영역을 변경하고, 상기 검색 영역이 상기 기준 영역에 속하면 상기 검색 영역을 이용하여 새로운 읽기 전압을 결정하는 메모리 컨트롤러를 포함하는 메모리 시스템이 제공된다.
상기 읽기 전압 정보는 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 포함한다.
본 발명의 실시 예에 따르면, 비휘발성 메모리 장치의 새로운 읽기 전압(예컨대, 최적의 읽기 전압)을 검색하기 전에 최적의 읽기 전압을 찾을 수 있는 검색 영역이 적절하게 설정되어 있는지를 판단하고, 판단 결과에 따라 검색 영역을 재설정함으로써 올바른 읽기 전압을 찾을 수 있도록 한다. 이에 따라, 잘못된 읽기 전압으로 인한 데이터 오류를 줄일 수 있고, 따라서, 읽기 데이터의 신뢰성이 향상될 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 전자 시스템의 개략적인 구성 블록도이다.
도 2는 도 1에 도시된 컨트롤러의 구성의 일 예를 나타내는 블록도이다.
도 3은 도 2에 도시된 읽기 전압 조정 모듈의 일 실시예를 나타내는 구성 블록도이다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 소자를 구체적으로 나타낸 블록도이다.
도 5는 도 4에 도시된 메모리 셀 어레이를 구체적으로 나타낸 일실시예다.
도 6은 도 4에 도시된 메모리 셀 어레이를 구체적으로 나타낸 다른 실시예이다.
도 7은 본 발명의 실시예에 따른 비휘발성 메모리 장치의 초기 소거 상태 및 프로그램 상태의 문턱 전압 산포를 보여주는 도면이다.
도 8a 내지 도 8c는 각각 본 발명의 실시예에 따른 검색 영역 및 기준 영역을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 검색 영역 및 기준 영역을 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 플로우차트이다.
도 11은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 플로우차트이다.
도 12은 도 11에 도시된 메모리 장치의 동작 방법을 설명하기 위한 문턱 전압 산포를 보여주는 도면이다.
도 13은 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 플로우차트이다.
도 14는 도 13에 도시된 메모리 장치의 동작 방법을 설명하기 위한 문턱 전압 산포를 보여주는 도면이다.
도 15a 내지 도 15d는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 설명하기 위한 도면들이다.
도 16a 내지 도 16d는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 설명하기 위한 도면들이다.
도 17은 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 포함하는 전자 시스템의 다른 실시 예를 나타낸다.
도 18은 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 포함하는 전자 시스템의 또 다른 실시 예를 나타낸다.
도 19는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 포함하는 전자 시스템의 또 다른 실시 예를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 전자 시스템의 개략적인 구성 블록도이다. 도 2는 도 1에 도시된 메모리 컨트롤러의 구성 블록도이다.
도 1을 참조하면, 전자 시스템(1)은 호스트(10)와 비휘발성 메모리 시스템(20)을 포함한다. 호스트(10)와 연결되는 비휘발성 메모리 시스템(20)은 메모리 컨트롤러(100) 및 비휘발성 메모리 장치(200)를 포함한다.
본 발명의 실시예에 따른 비휘발성 메모리 시스템(20)은 솔리드 스테이트 드라이브(Solid State Drive, 이하 'SSD'라 함), MMC(Multimedia card), eMMC(embedded Multimedia card) 또는 SD(secure digital) 카드일 수 있으나, 이에 한정되지 않는다. 또한, 비휘발성 메모리 장치(200)는 플래시 메모리 장치일 수 있으나, 이에 한정되지 않으며, PRAM, MRAM, ReRAM, 또는 FeRAM 장치일 수 있다.
비휘발성 메모리 장치(200)가 플래시 메모리 장치인 경우, 플로팅 게이트 방식의 NAND 플래시 메모리 장치 또는 CTF(Charge Trap Flash) 방식의 NAND 플래시 메모리 장치일 수 있다. 비휘발성 메모리 장치(200)의 메모리 셀 트랜지스터들은 2차원적으로 배열된 구조를 가질 수도 있고, 또는 3차원적으로 배열된 구조를 가질 수도 있다. 이에 대해서는 자세히 후술하기로 한다.
컨트롤러(100)는 메모리 시스템(20)의 동작을 전반적으로 제어하며, 또한 호스트(10)와 비휘발성 메모리 장치(200) 간의 제반 데이터 교환을 제어한다. 예컨대, 컨트롤러(100)는 호스트(10)의 요청에 따라 비휘발성 메모리 장치(200)를 제어하여 데이터를 쓰거나 데이터를 독출한다. 또한, 컨트롤러(100)는 비휘발성 메모리 장치(200)의 특성이나 비휘발성 메모리 장치(200)의 효율적인 관리를 위하여 필요한 일련의 내부 동작(예컨대, 성능 조절, 머지, 웨어 레벨링 등)을 제어한다.
비휘발성 메모리 장치(200)는 데이터를 비휘발적으로 저장하기 위한 저장 장소로서, OS(Operating System), 각종 프로그램들, 및 각종 데이터를 저장할 수 있다.
도 2를 참조하여 컨트롤러(100)의 구성을 보다 세부적으로 살펴보면, 컨트롤러(100)는 버퍼 매니저(buffer manager, 110), 버퍼 메모리(buffer memory, 115), CPU(120), SRAM(125), 호스트 인터페이스(130), 메모리 인터페이스(140), ECC 블록(에러 정정 블록, 150), 버스(160) 및 읽기 전압 조정 모듈(Read Level Adjuster, 170)을 포함할 수 있다.
버퍼 매니저(110)를 버퍼 메모리(110)를 관리한다. 버퍼 메모리(110)는 휘발성 메모리, 예컨대 SRAM, DRAM 등을 포함할 수 있다. 버퍼 메모리(110)는 비휘발성 메모리 장치(200)에 저장될 데이터 및 비휘발성 메모리 장치(200)로부터 독출된 데이터를 일시적으로 저장하는 버퍼 역할을 수행한다. 본 실시예에서는, 버퍼 메모리(110)가 컨트롤러(100)의 내부에 구현되나 이에 한정되지 않으며, 컨트롤러(100)의 외부에 구현될 수도 있으며, 내부 및 외부에 구현될 수도 있다.
호스트 인터페이스(130)는 호스트와 통신하기 위하여 인터페이스 프로토콜을 구비한다. 호스트와의 인터페이스 프로토콜은 UHS(UHS-I 또는 UHS-II), PCI-E(peripheral component interconnect - express), ATA(Advanced Technology Attachment), SATA(serial ATA), PATA(parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜일 수 있다. 그러나, 호스트(10)와 메모리 시스템(20)간의 인터페이스 프로토콜들은 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(multi-media card), ESDI(enhanced small disk interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다른 인터페이스 프로토콜들 중 하나일 수 있다.
비휘발성 메모리 인터페이스(140)는 비휘발성 메모리 장치(200)와 메모리 컨트롤러(100) 사이에서 데이터의 교환을 인터페이스할 수 있다.
비휘발성 메모리 인터페이스(140)는 비휘발성 메모리 장치(200)로 명령(또는 명령 세트들(command sets))과 어드레스를 인가하여 비휘발성 메모리 장치(200)가 프로그램 동작, 읽기 동작, 또는 이레이즈 동작을 수행하도록 할 수 있다. 예를 들어, 비휘발성 메모리 인터페이스(140)는 비휘발성 메모리 장치(200)로 읽기 명령(read command)을 인가하여, 비휘발성 메모리 장치(200)로부터 읽기 명령에 응답하여 독출된 데이터를 수신할 수 있다.
읽기 명령은 읽기 전압에 대한 정보를 포함할 수 있다.
CPU(120)는 비휘발성 메모리 장치(200)로/로부터 데이터 기록/독출을 위한 제반 제어 동작을 수행한다. CPU(120)는 버스(160)를 통하여 버퍼 메모리(110), 호스트 인터페이스(130), ECC 블록(150), 및 비휘발성 메모리 인터페이스(140) 사이에서 데이터의 교환을 제어할 수 있다. CPU(120)는 또한, FTL(Flash Translation Layer)(미도시)을 실행할 수 있다.
SRAM(125)은 CPU(120)가 실행하는 프로그램이나 코드를 저장할 수 있다. CPU(120)에 의해 실행되는 FTL 역시 SRAM(125)에 저장될 수 있다. 실시예에 따라, FTL이나 CPU(120)가 실행하는 프로그램은 비휘발성 메모리 장치(200)의 특정 영역에 저장되어 있다가, 비휘발성 메모리 시스템(20)의 초기 구동시 SRAM(125)으로 로드될 수 있다.
ECC(error correction code) 블록(150)은 비휘발성 메모리 장치(200)에 저장될 데이터를 인코딩하고 비휘발성 메모리 장치(200)로부터 읽혀진 데이터를 디코딩함으로써 독출된 데이터에 포함된 에러를 검출하고 정정할 수 있다.
ECC 블록(150)는 비휘발성 메모리 장치(200)로부터 독출한 경판정(hard decision) 데이터를 이용하여 경판정 디코딩을 수행할 수 있다. ECC 디코더(152)는 또한, 비휘발성 메모리 장치(200)로부터 독출한 연판정(soft decision) 데이터를 이용하여 연판정 디코딩을 수행할 수도 있다. 실시예에 따라, ECC 블록(150)은 경판정 디코딩을 수행하는 디코더 엔진과 연판정 디코딩을 수행하는 디코더 엔진을 포함할 수 있다.
읽기 전압 조정 모듈(170)은 최적의 읽기 전압을 찾기 위한 검색 영역을 설정하고, 검색 영역이 기준 영역에 속하는지 판단하여 검색 영역을 재설정할 수 있다. 또한 읽기 전압 조정 모듈(170)은 설정된 검색 영역 바탕으로 최적의 읽기 전압을 찾을 수 있다.
도 3은 도 2에 도시된 읽기 전압 조정 모듈(170)의 일 실시예를 나타내는 구성 블록도이다. 이를 참조하면, 읽기 전압 조정 모듈(170)은 검색 영역 결정부(Search Region Determiner, 171) 및 읽기 전압 결정부(Read Level Determiner, 173)를 포함할 수 있다.
검색 영역 결정부(171)는 시작 읽기 전압(Vsl)과 종료 읽기 전압(Vel)에 의해 정의되는 검색 영역(SR)을 설정하고, 설정된 검색 영역이 기준 영역(RR)에 속하는지를 판단한다. 판단 결과, 설정된 검색 영역(SR)이 기준 영역(RR)에 속하지 않으면, 검색 영역 결정부(171)는 검색 영역(SR)을 변경하고, 판단 결과, 검색 영역(SR)이 기준 영역(RR)에 속하면, 설정된 검색 영역(SR)에 대한 정보를 읽기 전압 결정부(173)로 제공한다. 검색 영역(SR) 및 기준 영역(RR)에 대해서는 도 8을 참조하여 후술한다.
읽기 전압 결정부(173)는 설정된 검색 영역(SR)에 기초하여 새로운 읽기 전압(RLd)을 찾는다.
실시예에 따라, 읽기 전압 조정 모듈(170)은 기준 영역(RR)을 정의하기 위해 필요한 정보들을 미리 저장하는 레지스터(SFR, 175)를 더 포함할 수 있다.
읽기 전압 조정 모듈(170)은 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어의 결합으로 구현될 수 있다.
실시예에 따라, 읽기 전압 조정 모듈(170)이 소프트웨어로 구현되는 경우, 읽기 전압 조정 모듈(170)은 FTL의 기능의 일부로 구현될 수 있고, CPU(120)에 의해 실행될 수 있다.
실시예에 따라, 레지스터(175)는 하드웨어로 구현되고, 검색 영역 결정부(171) 및 읽기 전압 결정부(173)는 소프트웨어로 구현될 수 있다.
실시예에 따라, 레지스터(175)는 메모리(예컨대, 125 또는 140)로 대체될 수 있다.
다시 도 2를 참조하면, 비록 도면에는 도시되지 않았지만, 비휘발성 메모리 시스템(20)은 메모리 시스템(20)의 파워-온(power-on)시 실행되는 코드 데이터를 저장하는 ROM(read only memory), 클럭 신호를 발생하는 클럭 모듈, 타이머 등의 구성요소를 더 구비할 수 있다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 소자를 구체적으로 나타낸 블록도이다. 도 5는 도 4에 도시된 메모리 셀 어레이를 구체적으로 나타낸 일 실시예이고, 도 6은 도 4에 도시된 메모리 셀 어레이를 구체적으로 나타낸 다른 실시예이다.
도 4를 참조하면, 비휘발성 메모리 소자(200-1)는 메모리 셀 어레이(210)와 액세스 회로(212)를 포함한다.
메모리 셀 어레이(210)는 각 비트라인에 접속된 각 NAND 메모리 셀 스트링을 포함하고, 상기 각 NAND 메모리 셀 스트링은 직렬로 접속된 다수의 비휘발성 메모리 셀들을 포함한다. 각 NAND 메모리 셀 스트링은 도 5에 도시된 바와 같이, 2차원적으로 동일한 평면(또는 레이어(layer))에 배치(또는 구현)될 수 있다.
실시예에 따라, 도 6에 도시된 바와 같이, 메모리 셀 어레이(210)는 3차원 메모리 셀 어레이를 포함할 수 있다. 3차원 메모리 셀 어레이(210)는 실리콘 기판 위(on or above)에 배치된 액티브 영역을 갖는 메모리 셀들의 어레이의 하나 또는 그 이상의 물리적인 레벨들 내에서 모노리식하게(monolithically) 형성되고, 상기 메모리 셀들의 작동에 관련된 회로를 포함할 수 있다. 상기 회로는 상기 기판의 내부 또는 위(on or above)에 형성될 수 있다.
모노리식(monolithic) 이라는 용어는 어레이의 각 레벨의 레이어들(layers)이 상기 어레이의 각 하부 레벨(each underlying level)의 레이어들에 직접 증착 (directly deposited )되는 것을 의미한다.
3차원 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직으로 배향되는(vertically oriented) 수직 NAND 스트링을 포함할 수 있다. 상기 적어도 하나의 메모리 셀은 전하 트랩 레이어(charge trap layer)를 포함할 수 있다.
3차원 메모리셀 어레이의 구성 및 동작에 대해서는, 2010년 7월 5일에 출원된 한국특허출원번호 2010-0064415, 2010년 8월 26일에 출원된 한국특허출원번호 2010-0083044에 개시된 내용들을 완전한 형태로서 이 출원의 일부로 포함한다.
3차원 메모리셀 어레이는 제 1 내지 제 3 방향들을 따라 신장된 구조물들로 형성된다. 예컨대, 3차원 메모리셀 어레이는 제2 방향(예를 들어, 기판에 수직인 방향)으로 적층된 메모리셀들을 포함한다. 따라서, 상술한 바와 같이, 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치한다.
예를 들어, 도 6의 실시예에서, 제4 워드라인(WL4)에 연결된 메모리 셀들은 제5 워드라인(WL5)에 연결된 메모리 셀들 위에 위치하고, 제3 워드라인(WL3)에 연결된 메모리 셀들은 제4 워드라인(WL4)에 연결된 메모리 셀들 위에 위치하며, 제2 워드라인(WL2)에 연결된 메모리 셀들은 제3 워드라인(WL3)에 연결된 메모리 셀들 위에 위치한다.
이와 같은 3차원 구조로 인하여, 3차원 메모리셀 어레이의 각 워드라인(WL1~WLn)의 사이즈(예컨대, 높이, 폭 또는 길이 등)가 달라질 수 있다. 또한, 메모리 셀의 사이즈(예컨대, 메모리셀을 형성하는 트랜지스터의 길이나 폭 등) 역시 위치에 따라 달라질 수 있다. 이에 따라, 3차원 메모리셀 어레이의 각 워드라인(WL1~WLn)별로 메모리 셀의 문턱 전압 산포가 달라질 수 있다.
따라서, 3차원 메모리셀 어레이의 각 워드라인(WL1~WLn)별로 최적의 리드 레벨이 달라질 수 있으며, 최적의 리드 레벨을 찾기 위한 검색 영역이나 리드 레벨 기법이 달라질 수 있다.
도 4 내지 도 6을 참조하면, NAND 메모리 셀 스트링은 비트라인에 접속된 스트링 선택 트랜지스터(ST1)와 공통소스라인(Common Source Line; CSL)에 접속된 접지 선택 트랜지스터(ST2) 사이에, 직렬로 접속된 다수의 비휘발성 메모리 셀들을 포함한다.
상기 스트링 선택 트랜지스터(ST1)의 게이트는 스트링 선택 라인(string selection line ; SSL)에 접속되고, 다수의 비휘발성 메모리 셀들 각각의 게이트는 다수의 워드라인들 각각에 접속되고, 상기 접지 선택 트랜지스터(ST2)의 게이트는 접지 선택 라인(ground selection line; GSL)에 접속된다. 상기 NAND 메모리 셀 스트링 각각은 각 페이지 버퍼(도 5의 221-11 내지 221-1m 또는 도 6의 221-1 내지 221-m)에 연결된다. 이때 실시예에 따라 워드라인들의 개수는 다양하게 구현될 수 있다.
각 NAND 메모리 셀 스트링에 포함된 다수의 비휘발성 메모리 셀들 각각은 1 비트 이상을 저장할 수 있는 플래시 EEPROM(Electrically Erasable Programmable Read-Only Memory)으로 구현될 수 있다.
따라서 다수의 비휘발성 메모리 셀들 각각은 1비트 이상을 저장할 수 있는 NAND 플래시 메모리 셀, 예컨대 MLC(Multi-Level Cell)로 구현될 수 있다.
액세스 회로(212)는 외부, 예컨대 메모리 컨트롤러(100)로부터 출력된 명령 (또는 명령 세트들(command sets))과 어드레스에 따라 데이터 액세스 동작, 예컨대 프로그램 동작, 읽기 동작, 또는 이레이즈 동작을 수행하기 위하여 메모리 셀 어레이(210)를 액세스한다. 액세스 회로(212)는 메모리 컨트롤러(100)로부터 출력된 읽기 명령에 응답하여 선택된 메모리 셀들로부터 데이터를 독출하여 메모리 컨트롤러(100)로 제공할 수 있다.
액세스 회로(212)는 전압 발생기(240), 로우 디코더(250), 컨트롤 로직(260), 컬럼 디코더(270), 페이지 버퍼 & 감지 증폭기 블록(220), Y 게이팅 회로(230) 및 입출력 블록(280)을 포함할 수 있다.
전압 발생기(240)는 컨트롤 로직(260)에 의해 생성된 제어 코드(CMD)에 따라 데이터 액세스 동작에 필요한 전압을 생성할 수 있다. 전압 발생기(240)는 프로그램 동작을 수행하기 위해 필요한 프로그램 전압과 프로그램 검증 전압을 생성하고, 읽기 동작을 수행하기 위하여 필요한 읽기 전압들을 생성하고, 이레이즈 동작을 수행하기 위하여 필요한 이레이즈 전압과 이레이즈 검증 전압을 생성하고, 각 동작을 수행하기 위하여 필요한 전압을 로우 디코더(250)로 출력한다.
컨트롤 로직(260)은 메모리 컨트롤러(100)로부터 출력된 제어신호(CMD)에 따라 액세스 회로(212)의 전반적인 동작을 제어한다. 예컨대, 컨트롤 로직(260)은 메모리 읽기 동작 동안 메모리 읽기 상태 정보를 센싱하고, 독출된 데이터(read data)를 메모리 컨트롤러(100)로 출력하도록 제어할 수 있다.
컬럼 디코더(270)는 컨트롤 로직(260)의 제어 하에 컬럼 어드레스(YADD)들을 디코딩하여 다수의 선택신호들을 Y 게이팅 회로(230)로 출력한다.
페이지 버퍼 & 감지 증폭기 블록(220)은 다수의 페이지 버퍼(Page Buffer; PB)들을 포함한다. 다수의 페이지 버퍼들(PB) 각각은 다수의 비트라인들 각각에 접속된다.
다수의 페이지 버퍼들(PB) 각각은 컨트롤 로직(260)의 제어에 따라 읽기 동작 동안에 다수의 비트라인들 각각의 전압 레벨을 감지 증폭할 수 있는 감지 증폭할 수 있는 감지 증폭기로써 동작할 수 있다. 또한 다수의 페이지 버퍼들(PB) 각각은 감지 증폭한 데이터, 즉 메모리 셀 어레이(210)에서 리드(read)된 데이터를 임시로 저장하기 위한 래치로써 동작할 수 있다.
Y 게이팅 회로(230)는 컬럼 디코더(270)로부터 출력된 다수의 선택신호들에 응답하여 페이지 버퍼 & 감지 증폭기 블록(220)과 입출력 블록(280) 사이에서 데이터(DATA)의 전송을 제어할 수 있다.
입출력 블록(280)은 외부로부터 입력된 데이터(DATA)를 Y 게이팅 회로(230)로 전송하거나 또는 Y 게이팅 회로(230)로부터 출력된 데이터(DATA)를 다수의 입출력 핀들(또는 데이터 버스)를 통하여 메모리 컨트롤러(100)로 전송할 수 있다.
도 7은 본 발명의 실시예에 따른 비휘발성 메모리 장치(200)의 초기 소거 상태 및 프로그램 상태의 문턱 전압 산포(E, P1, P2, P3)를 보여주는 도면이다. 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(200)가 2 비트 MLC인 경우, 초기에는 도 7에 도시된 바와 같은 문턱 전압 산포를 가질 수 있다.
비휘발성 메모리 장치(200)의 복수의 메모리 셀들 간의 미세한 전기적 특성의 차이로 인해, 동일한 데이터가 프로그램 된 메모리 셀들이더라도 동일한 문턱 전압을 갖는 것은 아니다. 이에 따라, 도 7에 도시된 바와 같이, 복수의 메모리셀 들의 문턱 전압들 각각은 일정한 범위의 문턱 전압 산포(threshold voltage distribution)를 형성할 수 있다.
도 8a 내지 도 8c는 각각 본 발명의 실시예에 따른 검색 영역 및 기준 영역을 설명하기 위한 도면이다. 도 8a 내지 도 8c는 또한 2비트 멀티 레벨 셀(2bit-MLC) 비휘발성 메모리가 프로그램 후, 시간이 경과하고 프로그램 및 소거를 반복한 경우, 초기 상태에서 변화된 소거 상태 및 프로그램 상태의 문턱 전압 산포를 예시적으로 도시한다.
도 8a 내지 도 8c를 도 7과 비교하면, 메모리 셀들에 대하여 프로그램 및 소거를 반복하게 되면, 문턱 전압의 산포가 변형됨을 알 수 있다. 예컨대, 문턱 전압의 산포가 쉬프트(예컨대, 왼쪽으로 이동 또는 오른쪽으로 이동)되거나, 이웃하는 문턱 전압의 산포와 더욱 중첩될 수 있다.
상술한 바와 같이, 3차원 메모리셀 어레이의 경우, 3차원 구조 및 공정으로 인하여 각 워드라인(WL1~WLn)의 사이즈(예컨대, 높이, 폭 또는 길이 등) 및/또는 메모리 셀의 사이즈(예컨대, 메모리셀을 형성하는 트랜지스터의 길이나 폭 등) 등이 달라질 수 있다. 이에 따라, 메모리 셀의 문턱 전압 산포 역시 각 워드라인(WL1~WLn)별로 달라질 수 있다.
이와 같이 문턱 전압의 산포가 달라짐에 따라, 고정된 읽기 전압 인가 시, 읽기 데이터에는 많은 오류(비트 에러)가 포함될 수 있다. 이에 따라, 독출 데이터의 비트 에러율(bit error ratio)을 줄이는 최적의 읽기 전압(optimal read voltage)을 찾기 위한 리드 레벨 검색(search) 방법이 사용된다. 도 8a 내지 도 8c에 도시된 문턱 전압 분포(E, P1, P2, P3)에서 비트 에러율이 가장 작은 읽기 전압은 이웃하는 문턱 전압 분포 사이의 골(valley)에 해당하는 전압(VOR1, VOR2, VOR3)일 수 있다.
따라서, 문턱 전압 분포 사이의 골(valley)에 해당하거나 골에 근접한 최적의 읽기 전압을 찾기 위해서는, 검색 영역(SR1, SR2, SR3)이 적절하게 설정되어야 한다. 검색 영역(SR1, SR2, SR3)이 적절하게 설정되지 않으면, 리드 레벨 검색시 다른 골(valley)을 찾아 최적의 읽기 전압으로 설정할 수 있으며, 이에 따라 에러 정정 실패(error correction fail)가 발생할 수 있다.
먼저, 도 8a를 참조하면, 제1 검색 영역(SR1)은 제1 시작 읽기 전압(Vsl1) 및 제1 종료 읽기 전압(Vsl1)에 의해 정의될 수 있고, 제2 검색 영역(SR2)은 제2 시작 읽기 전압(Vsl2) 및 제2 종료 읽기 전압(Vsl2)에 의해 정의될 수 있으며, 제3 검색 영역(SR3)은 제3 시작 읽기 전압(Vsl3) 및 제3 종료 읽기 전압(Vsl3)에 의해 정의될 수 있다.
검색 영역(SR)은 제1 내지 제3 검색 영역(SR1) 중 어느 하나를 지칭할 수 있다.
검색 영역(SR)은 초기에 설정될 수도 있고, 미리 정해진 상황(예컨대, 기 설정된 읽기 전압에 의하여 에러가 발생한 경우 등)에 의해 변경 설정될 수 있다.
기준 영역(reference Region, RR)은 미리 설정된 영역일 수 있다.
실시예에 따라, 기준 영역은 이웃하는 문턱 전압 분포에서 메모리셀 수가 최대인 문턱 전압들(V_E & V_P1, V_P1 & V_P2, V_P2 & V_P3)에 의해 정의될 수 있다.
도 8a의 실시예에서, 제1 기준 영역은 소거 상태 문턱 전압 분포(E)와 제1 프로그램 상태 문턱 전압 분포(P1)에서 메모리셀 수가 최대인 문턱 전압(이하, 최대 문턱 전압이라 칭함)(V_E & V_P1)에 의해 정의되고, 제2 기준 영역은 제1 프로그램 상태 문턱 전압 분포(P1)와 제2 프로그램 상태 문턱 전압 분포(P2)에서의 최대 문턱 전압들(V_P1 & V_P2)에 의해 정의되고, 제3 기준 영역은 제2 프로그램 상태 문턱 전압 분포(P2)와 제3 프로그램 상태 문턱 전압 분포(P3)에서의 최대 문턱 전압들(V_P2 & V_P3)에 의해 정의될 수 있다.
실시예에 따라, 기준 영역은 미리 설정된 메모리셀의 개수로 정의될 수 있다.
도 8b의 실시예에서, 제1 기준 영역은 소거 상태 문턱 전압 분포(E)에서의 최대 문턱 전압(V_E) 이하의 문턱 전압을 가지는 메모리셀 들의 수(NE_on)와 제1 프로그램 상태 문턱 전압 분포(P1)에서의 최대 문턱 전압(V_P1) 이하의 문턱 전압을 가지는 메모리 셀들의 수(NP1_on)에 의해 정의될 수 있다.
소거 상태 문턱 전압 분포(E)에서의 최대 문턱 전압(V_E) 이하의 문턱 전압을 가지는 메모리셀 들의 수(NE_on)는, 소거 상태 문턱 전압 분포(E)에서의 최대 문턱 전압(V_E)을 읽기 전압으로 한 경우에, 온셀(On cell)로 센싱될 수 있는 메모리 셀들의 수로서, 소거 기준 온셀 개수(NE_on)라 정의한다.
제1 프로그램 상태 문턱 전압 분포(P1)에서의 최대 문턱 전압(V_P1) 이하의 문턱 전압을 가지는 메모리 셀들의 수(NP1_on)는, 제1 프로그램 상태 문턱 전압 분포(P1)에서의 최대 문턱 전압(V_P1)을 읽기 전압으로 한 경우에, 온셀(On cell)로 센싱될 수 있는 메모리 셀들의 수로서, 제1 프로그램 기준 온셀 개수(NP1_on)라 정의한다.
제1 기준 영역과 유사하게, 제2 기준 영역은, 제1 프로그램 기준 온셀 개수(NP1_on)와 제2 프로그램 상태 문턱 전압 분포(P2)에서의 최대 문턱 전압(V_P2) 이하의 문턱 전압을 가지는 메모리 셀들의 수(이하, 제2 프로그램 기준 온셀 개수)(NP2_on)에 의해 정의될 수 있으며, 제3 기준 영역은, 제2 프로그램 기준 온셀 개수)(NP2_on)와 제3 프로그램 상태 문턱 전압 분포(P3)에서의 최대 문턱 전압(V_P3) 이하의 문턱 전압을 가지는 메모리 셀들의 수(이하, 제3 프로그램 기준 온셀 개수)(NP3_on)에 의해 정의될 수 있다.
도 8c의 실시예에 따르면, 제1 기준 영역은 소거 상태 문턱 전압 분포(E)에서의 최대 문턱 전압(V_E) 이상의 문턱 전압을 가지는 메모리셀 들의 수(NE_off)와 제1 프로그램 상태 문턱 전압 분포(P1)에서의 최대 문턱 전압(V_P1) 이상의 문턱 전압을 가지는 메모리 셀들의 수(NP1_off)에 의해 정의될 수 있다.
소거 상태 문턱 전압 분포(E)에서의 최대 문턱 전압(V_E) 이상의 문턱 전압을 가지는 메모리셀 들의 수(NE_off)는, 소거 상태 문턱 전압 분포(E)에서의 최대 문턱 전압(V_E)을 읽기 전압으로 한 경우에, 오프셀(Off cell)로 센싱될 수 있는 메모리 셀들의 수로서, 소거 기준 오프셀 개수(NE_off)라 정의한다.
제1 프로그램 상태 문턱 전압 분포(P1)에서의 최대 문턱 전압(V_P1) 이상의 문턱 전압을 가지는 메모리 셀들의 수(NP1_off)는, 제1 프로그램 상태 문턱 전압 분포(P1)에서의 최대 문턱 전압(V_P1)을 읽기 전압으로 한 경우에, 오프셀(Off cell)로 센싱될 수 있는 메모리 셀들의 수로서, 제1 프로그램 기준 오프셀 개수(NP1_off)라 정의한다.
제1 기준 영역과 유사하게, 제2 기준 영역은, 제1 프로그램 기준 오프셀 개수(NP1_off)와 제2 프로그램 상태 문턱 전압 분포(P2)에서의 최대 문턱 전압(V_P2) 이상의 문턱 전압을 가지는 메모리 셀들의 수(이하, 제2 프로그램 기준 오프셀 개수)(NP2_off)에 의해 정의될 수 있으며, 제3 기준 영역은, 제2 프로그램 기준 오프셀 개수(NP2_off)와 제3 프로그램 상태 문턱 전압 분포(P3)에서의 최대 문턱 전압(V_P3) 이상의 문턱 전압을 가지는 메모리 셀들의 수(이하, 제3 프로그램 기준 오프셀 개수)(NP3_off)에 의해 정의될 수 있다.
실시예에 따라, 소거 기준 온셀 개수(NE_on), 제1 내지 제3 프로그램 기준 온셀 개수(NP1_on, NP2_on, NP3_on), 소거 기준 오프셀 개수(NE_off), 제1 내지 제3 프로그램 기준 오프셀 개수(NP1_off, NP2_off, NP3_off) 각각은 해당 읽기 전압을 인가하여 온셀 또는 오프셀을 카운트함으로써 산출될 수 있다.
실시예에 따라, 소거 기준 온셀 개수(NE_on), 제1 내지 제3 프로그램 기준 온셀 개수(NP1_on, NP2_on, NP3_on), 소거 기준 오프셀 개수(NE_off), 제1 내지 제3 프로그램 기준 오프셀 개수(NP1_off, NP2_off, NP3_off) 각각은 실제 온셀이나 오프셀을 카운팅하지 않고, 평균 등의 통계적 방법으로 산출될 수 있다.
예를 들어, 비휘발성 메모리 컨트롤러(100)가 랜더마이징(randomizing) 기법을 사용하여 소거 상태, 및 제1 내지 제3 프로그램 상태 각각에 속하는 메모리 셀들의 개수를 균일하게 하는 경우, 소거 기준 온셀 개수(NE_on), 제1 내지 제3 프로그램 기준 온셀 개수(NP1_on, NP2_on, NP3_on), 소거 기준 오프셀 개수(NE_off), 제1 내지 제3 프로그램 기준 오프셀 개수(NP1_off, NP2_off, NP3_off) 각각은 온셀이나 오프셀에 대한 실제 카운팅 동작을 수행하지 않고 미리 결정될 수 있다.
실시예에 따라, 메모리 셀들의 개수가 N이라 가정하면, 소거 기준 온셀 개수(NE_on), 제1 내지 제3 프로그램 기준 온셀 개수(NP1_on, NP2_on, NP3_on) 각각은 N/8, 3*(N/8), 5*(N/8) 및 7*(N/8)로 결정되어, 레지스터(도 3의 175)에 미리 저장될 수 있다.
또는, 메모리 셀들의 개수가 N이라 가정하면, 소거 기준 오프셀 개수(NE_off), 제1 내지 제3 프로그램 기준 오프셀 개수(NP1_off, NP2_off, NP3_off) 각각은 7*(N/8), 5*(N/8), 3*(N/8) 및 N/8로 결정되어, 레지스터(도 3의 175)에 미리 저장될 수 있다.
도 8a 내지 도 8c에 도시된 검색 영역 및 기준 영역은 3차원 메모리셀 어레이의 각 워드라인(WL1~WLn)별로 달라질 수 있다.
상술한 바와 같이, 영역은 3차원 메모리셀 어레이에서는, 각 워드라인(WL1~WLn)별로 문턱 전압의 산포가 달라질 수 있으므로, 이에 따라, 검색 영역 및 기준 영역도 워드라인(WL1~WLn)별로 다르게 설정될 수 있다.
예컨대, 제1 워드라인(WL1)에 대한 제1 검색 영역(SR1)과 제n 워드라인(WLn)에 대한 제1 검색 영역(SR1)이 다르게 설정될 수 있다.
도 9는 본 발명의 실시예에 따른 검색 영역 및 기준 영역을 설명하기 위한 도면이다. 도 9에 도시된 문턱 전압 산포는 도 8a 내지 도 8c에 도시된 문턱 전압 산포에 비하여, 더욱 쉬프트된 상태일 수 있다.
이에 따라, 검색 영역(SR1', SR2', SR3')이 이웃하는 문턱 전압 산포 사이에 있지 않고, 즉, 이웃하는 문턱 전압 분포 사이의 골(valley)에 인접하게 있지 않고, 문턱 전압 산포의 피크(peak)에 인접하게 설정되어 있거나, 다른 골(valley)에 인접하게 설정되어 있을 수 있다.
도 9의 실시예에서, 기준 영역은 도 8a 내지 도 8c를 참조하여 상술한 바와 같이, 설정될 수 있다.
도 7 내지 도 9의 실시예에서는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(200)가 2 비트 MLC인 경우의 문턱 전압 산포, 검색 영역(SR) 및 기준 영역(RR)을 예시적으로 도시하나, 본 발명의 실시예가 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 비휘발성 메모리 장치(200)는 3 비트 이상의 MLC일 수 있다. 본 발명의 일 실시예에 따른 비휘발성 메모리 장치(200)는 3 비트 MLC라면, 문턱 전압 산포는 소거 상태 및 제1 내지 제7 프로그램 상태의 문턱 전압 산포(E, P1, P2, P3, P4, P5, P6, P7)을 가질 수 있고, 이에 따라 검색 영역(SR) 및 기준 영역(RR)도 달라질 것이다.
도 10은 본 발명의 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 플로우차트이다. 도 10에 도시된 본 발명의 실시예에 따른 비휘발성 메모리 장치의 동작 방법은 도 1 내지 도 6에 도시된 비휘발성 메모리 시스템(20)에 의해 수행될 수 있다.
본 발명의 실시예에 따르면, 최적의 읽기 전압(optimal read voltage)을 검색(search)하기 전에, 먼저, 최적의 읽기 전압(optimal read voltage)이 존재하는 검색 영역을 설정하는 과정이 수행된다.
도 1 내지 도 10을 참조하면, 검색 영역(SR)이 설정된다(S100). 검색 영역(SR)은 도 8a 내지 도 8c를 참조하여 상술한 바와 같이, 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)에 의해 정의될 수 있다. 실시예에 따라, 워드라인별로, 검색 영역(SR)이 다르게 설정될 수 있다.
다음으로 검색 영역(SR)이 기준 영역(RR)에 속하는지를 판단한다(S200). 도 8a 내지 도 8c를 참조하여 상술한 바와 같이, 기준 영역(RR)은 미리 설정된 영역일 수 있다.
설정된 검색 영역(SR)이 기준 영역(RR)에 속하는지를 판단한다(S200). 판단 결과, 검색 영역(SR)이 기준 영역(RR)에 속하는지 않는다면 검색 영역을 변경한다(S300). 예를 들어, 검색 영역(SR)을 오른쪽 방향으로 쉬프트(즉, 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)을 증가)하거나, 왼쪽 방향으로 쉬프트(즉, 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)을 감소)함으로써, 검색 영역(SR)을 변경할 수 있다.
변경된 검색 영역(SR)이 기준 영역(RR)에 속하는지를 판단할 수 있다(S200).
만약 변경된 검색 영역(SR)이 기준 영역(RR)에 속하지 않는다면, 다시 검색 영역을 변경하여(S300) 기준 영역에 속하는지를 판단하는 과정(S200)을 반복할 수 있다.
검색 영역(SR)이 기준 영역(RR)에 속한다면(S200에서 YES인 경우), 설정된 검색 영역(SR)을 기초로 최적의 읽기 전압을 검색하는 동작을 수행한다(S400).
상술한 바와 같이, 최적의 읽기 전압을 검색하는 기법 역시 워드라인별로 달라질 수 있다.
도 11은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 플로우차트이다. 도 12은 도 11에 도시된 메모리 장치의 동작 방법을 설명하기 위한 문턱 전압 산포를 보여주는 도면이다.
도 11에 도시된 방법은 이웃하는 제2 및 제3 프로그램 상태 문턱 전압 분포(P2, P3) 간의 최적의 읽기 전압을 검색하기 전에 검색 영역을 선택하는 과정(도 10의 S200 및 S300)에 해당할 수 있다. 즉, 도 11에 도시된 방법은 도 10에 도시된 S200 및 S300 단계의 일 실시예에 해당할 수 있다.
도 11 및 도 12를 참조하면, 검색 영역(SR)이 기준 영역(RR)에 속하는지 판단하기 위하여, 제1 폭(LW1)이 '0' 이하인지를 판단한다.
검색 영역(SR)은 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)에 의해 정의될 수 있다.
제1 폭(LW1)은 시작 읽기 전압(Vsl) 이하의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트한 값(이하, 제1 메모리 셀들의 개수)(Nsl_on)와 제1 기준 메모리 셀들의 개수와의 차이, 즉, 제1 메모리 셀들의 개수(Nsl_on)에서 제1 기준 메모리 셀들의 개수를 뺀 값을 의미한다.
제1 메모리 셀들의 개수(Nsl_on)는 시작 읽기 전압(Vsl)을 읽기 전압으로 한 경우에, 온셀(On cell)로 센싱될 수 있는 메모리 셀들의 수이다.
제1 기준 메모리 셀들의 개수는 제1 기준 문턱 전압(V_P2)(제2 프로그램 상태 문턱 전압 분포(P2)에서의 최대 문턱 전압(V_P2)) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(NP2_on), 즉 제2 프로그램 기준 온셀 개수(NP2_on)일 수 있다. 이 제2 프로그램 기준 온셀 개수(NP2_on)는 실제 카운팅을 거치지 않고 미리 결정된 값일 수 있다.
제2 프로그램 기준 온셀 개수(NP2_on)는 통계적 혹은 확률적 계산 방법으로 산출되거나 예측된 값일 수 있다.
S210 단계에서의 판단결과, 제1 폭(LW1)이 '0' 이하이면(S210에서 YES인 경우), 검색 영역(SR)을 우측으로 쉬프트한다(S310).
구체적으로, 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)을 쉬프트 전압만큼 증가시킴으로써, 검색 영역(SR)을 우측으로 쉬프트할 수 있다(S310).
쉬프트 전압은 미리 설정된 값일 수 있다.
실시예에 따라, 쉬프트 전압은 하나의 고정된 값이 아니라, 제1 메모리 셀들의 개수(Nsl_on)와 제1 기준 메모리 셀들의 개수(NP2_on) 간의 차이에 따라 달라질 수 있다.
예를 들어, 제1 메모리 셀들의 개수(Nsl_on)가 제1 기준 메모리 셀들의 개수(NP2_on) 보다 제1 임계치 이상 작으면 제1 쉬프트 전압이 적용되고, 제1 메모리 셀들의 개수(Nsl_on)가 제1 기준 메모리 셀들의 개수(NP2_on) 보다 작지만 상기 제1 임계치 이상으로 작지 않으면, 제2 쉬프트 전압이 적용될 수 있다. 이 때, 제1 쉬프트 전압은 제2 쉬프트 전압 보다 클 수 있다.
이와 같이, 제1 메모리 셀들의 개수(Nsl_on)와 제1 기준 메모리 셀들의 개수(NP2_on) 간의 차이를 둘 이상의 구간으로 구분하고, 각 구간에 따라 다른 쉬프트 전압이 적용될 수도 있다.
실시예에 따라, 제1 메모리 셀들의 개수(Nsl_on)가 제1 기준 메모리 셀들의 개수(NP2_on) 보다 제1 임계치 이상 작으면, 제1 메모리 셀들의 개수(Nsl_on)를 다른 기준 메모리 셀들의 개수(NP1_on)와 추가로 비교할 수 있다.
다른 기준 메모리 셀들의 개수(NP1_on)는 제1 프로그램 상태 문턱 전압 분포(P1)에서의 최대 문턱 전압(V_P1) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(NP1_on), 즉 제1 프로그램 기준 온셀 개수(NP1_on)일 수 있다.
이와 같이, 제1 메모리 셀들의 개수(Nsl_on)와 제1 기준 메모리 셀들의 개수(NP2_on) 간의 차이가 큰 경우, 다른 기준 메모리 셀들의 개수(NP1_on)와 추가로 비교함으로써, 쉬프트 전압을 조절할 수 있다.
S210 및 S310 단계는 제1 폭(LW1)이 '0' 보다 클 때까지 반복 수행될 수 있다.
S210 단계에서의 판단 결과, 제1 폭(LW1)이 '0' 보다 크면(S210에서 NO인 경우), 제2 폭(RW1)이 '0' 이하인지를 판단한다.
제2 폭(RW1)은 제2 기준 메모리 셀들의 개수와 종료 읽기 전압(Vel) 이하의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트한 값(이하, 제2 메모리 셀들의 개수)(Nel_on)간의 차이, 즉, 제2 기준 메모리 셀들의 개수에서 제2 메모리 셀들의 개수(Nel_on)를 뺀 값을 의미한다.
제2 메모리 셀들의 개수(Nel_on)는 종료 읽기 전압(Vel)을 읽기 전압으로 한 경우에, 온셀(On cell)로 센싱될 수 있는 메모리 셀들의 수이다.
제2 기준 메모리 셀들의 개수는 제2 기준 문턱 전압(V_P3)(즉, 제3 프로그램 상태 문턱 전압 분포(P3)에서의 최대 문턱 전압(V_P3)) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(NP3_on), 즉 제3 프로그램 기준 온셀 개수(NP3_on)일 수 있다. 이 제3 프로그램 기준 온셀 개수(NP3_on)는 실제 카운팅을 거치지 않고 미리 결정된 값일 수 있다.
제3 프로그램 기준 온셀 개수(NP3_on)는 제2 프로그램 기준 온셀 개수(NP2_on)와 마찬가지로, 통계적 혹은 확률적 계산 방법으로 산출되거나 예측된 값일 수 있다.
S220 단계에서의 판단결과, 제2 폭(RW1)이 '0' 이하이면(S220에서 YES인 경우), 검색 영역(SR)을 좌측으로 쉬프트한다(S320).
구체적으로, 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)을 쉬프트 전압만큼 감소시킴으로써, 검색 영역(SR)을 좌측으로 쉬프트할 수 있다(S320).
실시예에 따라, S320 단계에서의 쉬프트 전압과 S310 단계에서의 쉬프트 전압은 동일할 수도 있고, 다를 수도 있다.
S320 단계에서의 쉬프트 전압도 고정된 값일 수도 있고, 제2 메모리 셀들의 개수(Nel_on)와 제2 기준 메모리 셀들의 개수(NP3_on) 간의 차이에 따라 달라지는 값일 수도 있다.
S220 및 S320 단계는 제2 폭(RW1)이 '0' 보다 클 때까지 반복 수행될 수 있다.
S220 단계에서의 판단결과, 제2 폭(RW1)이 '0' 보다 크면(S220에서 NO인 경우), 도 8의 S400 단계를 수행할 수 있다.
도 11의 S210 단계 및 S220 단계의 순서는 바뀔 수 있다.
예컨대, 제2 폭(RW1)이 '0' 이하인지를 먼저 판단하여(S220), 제2 폭(RW1)이'0' 보다 클 때까지, 검색 영역(SR)을 좌측으로 쉬프트한 후(S320), 제1 폭(LW1)이 '0' 이하인지를 판단하여(S210), 제1 폭(LW1)이 '0' 보다 클 때까지 검색 영역(SR)을 우측으로 쉬프트할 수 있다(S310).
도 13은 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 나타내는 플로우차트이다. 도 14는 도 13에 도시된 메모리 장치의 동작 방법을 설명하기 위한 문턱 전압 산포를 보여주는 도면이다. 도 13에 도시된 방법은 이웃하는 제2 및 제3 프로그램 상태 문턱 전압 분포(P2, P3) 간의 최적의 읽기 전압을 검색하기 전에 검색 영역을 선택하는 과정(도 10의 S200 및 S300)에 해당할 수 있다.
즉, 도 13에 도시된 방법은 도 10에 도시된 S200 및 S300 단계의 다른 실시예에 해당할 수 있다.
도 13 및 도 14를 참조하면, 검색 영역(SR)이 기준 영역(RR)에 속하는지 판단하기 위하여, 제3 폭(RW1)이 '0' 이하인지를 판단한다.
제3 폭(RW2)은 종료 읽기 전압(Vel) 이상의 문턱 전압을 가지는 제3 메모리 셀들의 개수를 카운트한 값(이하, 제3 메모리 셀들의 개수)(Nel_off)과 제3 기준 메모리 셀들의 개수(NP3_off) 간의 차이, 즉, 제3 메모리 셀들의 개수(Nel_off)에서 제3 기준 메모리 셀들의 개수(NP3_off)를 뺀 값을 의미한다.
제3 메모리 셀들의 개수(Nel_off)는 종료 읽기 전압(Vel)을 읽기 전압으로 한 경우에, 오프셀(Off cell)로 센싱될 수 있는 메모리 셀들의 수이다.
제3 기준 메모리 셀들의 개수(NP3_off)는 제3 기준 문턱 전압(V_P3) 이상의 문턱 전압을 가지는 메모리 셀들의 개수, 즉 제3 프로그램 기준 오프셀 개수(NP3_off)일 수 있다. 이 제3 프로그램 기준 오프셀 개수(NP3_off)는 실제 카운팅을 거치지 않고 미리 결정된 값일 수 있다.
제3 프로그램 기준 오프셀 개수(NP3_off)는 제2 및 제3 프로그램 기준 온셀 개수(NP2_on, NP3_on)와 마찬가지로, 통계적 혹은 확률적 계산 방법으로 산출되거나 예측된 값일 수 있다.
S230 단계에서의 판단결과, 제3 폭(RW2)이 '0' 이하이면(S230에서 YES인 경우), 검색 영역(SR)을 좌측으로 쉬프트한다(S330).
구체적으로, 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)을 쉬프트 전압만큼 감소시킴으로써, 검색 영역(SR)을 좌측으로 쉬프트할 수 있다(S330).
S230 및 S330 단계는 제3 폭(RW2)이 '0' 보다 클 때까지 반복 수행될 수 있다.
S230 단계에서의 판단결과, 제3 폭(RW2)이 '0' 보다 크면(S230에서 NO인 경우), 제4 폭(LW2)이 '0' 이하인지를 판단한다.
제4 폭(LW2)은 제4 기준 메모리 셀들의 개수(NP2_off)와 시작 읽기 전압(Vsl) 이상의 문턱 전압을 가지는 제4 메모리 셀들의 개수를 카운트한 값(이하, 제4 메모리 셀들의 개수)(Nsl_off)의 차이, 즉, 제4 기준 메모리 셀들의 개수(NP2_off)에서 제4 메모리 셀들의 개수(Nsl_off)를 뺀 값을 의미한다.
제4 메모리 셀들의 개수(Nsl_off)는 시작 읽기 전압(Vsl)을 읽기 전압으로 한 경우에, 오프셀(Off cell)로 센싱될 수 있는 메모리 셀들의 수이다.
제4 기준 메모리 셀들의 개수(NP2_off)는 제2 기준 문턱 전압(V_P2)(제2 프로그램 상태 문턱 전압 분포(P2)에서의 최대 문턱 전압(V_P2)) 이상의 문턱 전압을 가지는 메모리 셀들의 개수, 즉 제2 프로그램 기준 오프셀 개수(NP2_off)일 수 있다. 이 제2 프로그램 기준 오프셀 개수(NP2_off)는 실제 카운팅을 거치지 않고 미리 결정된 값일 수 있다.
제2 프로그램 기준 오프셀 개수(NP2_off)는 통계적 혹은 확률적 계산 방법으로 산출되거나 예측된 값일 수 있다.
S240 단계에서의 판단결과, 제4 폭(LW2)이 '0' 이하이면(S240에서 YES인 경우), 검색 영역(SR)을 우측으로 쉬프트한다(S340).
구체적으로, 시작 읽기 전압(Vsl) 및 종료 읽기 전압(Vel)을 쉬프트 전압만큼 증가시킴으로써, 검색 영역(SR)을 우측으로 쉬프트할 수 있다(S340).
S240 및 S340 단계는 제4 폭(LW2)이 '0' 보다 클 때까지 반복 수행될 수 있다.
S240 단계에서의 판단결과, 제4 폭(LW2)이 '0' 보다 크면(S240에서 NO인 경우), 도 4의 S400 단계를 수행할 수 있다.
도 13의 S230 단계 및 S240 단계의 순서는 바뀔 수 있다.
예컨대, 제4 폭(LW2)이 '0' 이하인지를 먼저 판단하여(S240), 제4 폭(LW2)이 '0' 보다 클 때까지, 검색 영역(SR)을 우측으로 쉬프트한 후(S340), 제3 폭(RW2)이 '0' 이하인지를 판단하여(S230), 제3 폭(RW2)이 '0' 보다 클 때까지 검색 영역(SR)을 좌측으로 쉬프트할 수 있다(S330).
도 15a 내지 도 15d는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 설명하기 위한 도면들로서, 도 10 및 도 11에 도시된 비휘발성 매모리 동작 방법의 일 실시예를 보다 자세히 설명하기 위한 도면들이다.
도 10, 도 11 및 도 15a 내지 도 15d를 참조하면, 제1 검색 영역(SR)이 설정된다. 제1 검색 영역은 제1 시작 읽기 전압(Vsl_a) 및 제1 종료 읽기 전압(Vel_a)에 의해 정해진다(S100).
제1 검색 영역이 기준 영역에 속하는지 판단하기 위하여, 먼저, 제1 시작 읽기 전압(Vsl_a) 이하의 문턱 전압을 가지는 제1 메모리 셀들의 개수(Nsl_a)가 제1 기준 메모리 셀들의 개수, 즉, 제2 프로그램 기준 온셀 개수(NP2_on)보다 큰 지를 판단한다(S210).
도 15a의 실시예에서는, 제1 메모리 셀들의 개수(Nsl_a)가 제2 프로그램 기준 온셀 개수(NP2_on)보다 크므로(S210 단계에서 NO), 다음으로, 제1 종료 읽기 전압(Vel_a) 이하의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트한 값(Nel_a)이 제2 기준 메모리 셀들의 개수, 즉 제3 프로그램 기준 온셀 개수(NP3_on) 이하인지 판단한다(S220).
도 15a의 실시예에서는, 제2 메모리 셀들의 개수(Nel_a)가 제3 프로그램 기준 온셀 개수(NP3_on)보다 크므로(S220 단계에서 YES), 제1 시작 읽기 전압(Vsl_a) 및 제1 종료 읽기 전압(Vel_a)을 쉬프트 전압(Vsft)만큼 좌측으로 이동한다(S320). 실시예에 따라, 쉬프트 전압(Vsft)은 제1 종료 읽기 전압(Vel_a)과 제1 시작 읽기 전압(Vsl_a) 간의 차이(간격)을 3등분한 전압일 수 있으나, 이에 한정되지 않으며, 다양하게 변경될 수 있다.
제1 시작 읽기 전압(Vsl_a) 및 제1 종료 읽기 전압(Vel_a)을 쉬프트 전압(Vsft)만큼 좌측으로 이동하여 설정된 제2 검색 영역은 도 15b에 도시된다.
도 15b를 참조하면, 제2 검색 영역은 제2 시작 읽기 전압(Vsl_b) 및 제2 종료 읽기 전압(Vel_b)에 의해 정해진다.
제2 종료 읽기 전압(Vel_b) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nel_b)이 제3 프로그램 기준 온셀 개수(NP3_on) 이하인지 판단한다(S220).
도 15b의 실시예에서는, 제2 종료 읽기 전압(Vel_b) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nel_b)가 제3 프로그램 기준 온셀 개수(NP3_on)보다 여전히 크므로(S220 단계에서 YES), 제2 시작 읽기 전압(Vsl_b) 및 제2 종료 읽기 전압(Vel_b)을 다시 쉬프트 전압(Vsft)만큼 좌측으로 이동한다(S320).
제2 시작 읽기 전압(Vsl_b) 및 제2 종료 읽기 전압(Vel_b)을 쉬프트 전압(Vsft)만큼 좌측으로 이동하여 설정된 제3 검색 영역은 도 15c에 도시된다.
도 15c를 참조하면, 제3 검색 영역은 제3 시작 읽기 전압(Vsl_c) 및 제3 종료 읽기 전압(Vel_c)에 의해 정해진다.
다시, 제3 종료 읽기 전압(Vel_c) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nel_c)가 제3 프로그램 기준 온셀 개수(NP3_on) 이하인지 판단한다(S220).
도 15c의 실시예에서는, 제3 종료 읽기 전압(Vel_c) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nel_c)가 제3 프로그램 기준 온셀 개수(NP3_on)보다 작으므로(S220 단계에서 NO), 제3 시작 읽기 전압(Vsl_c) 및 제3 종료 읽기 전압(Vel_c)에 의해 정의되는 제3 검색 영역은 기준 영역에 속한다. 따라서, 다음 단계인 도 10의 S400 단계를 수행할 수 있다.
S400 단계에서는, 기준 영역에 속하는 제3 시작 읽기 전압(Vsl_c) 및 제3 종료 읽기 전압(Vel_c)을 이용하여 최적을 읽기 전압을 찾을 수 있다.
일 실시예에 따라, S400 단계에서는, 제3 시작 읽기 전압(Vsl_c)과 제3 종료 읽기 전압(Vel_c) 사이의 영역을 적어도 둘 이상의 영역으로 나누고, 각 영역에 속하는 메모리 셀들의 수를 카운트하여, 카운트 값을 이용하여 최적의 읽기 전압을 찾을 수 있다.
도 15c 및 도 15d의 실시예에서는, 제3 시작 읽기 전압(Vsl_c)과 제3 종료 읽기 전압(Vel_c) 사이의 영역을 3개의 영역, 즉 제1 내지 제3 영역(R1, R2, R3)으로 나누어 각 영역에 속하는 메모리 셀들의 수를 카운트하나, 본 발명의 실시예가 이에 한정되는 것은 아니다.
제1 영역(R1)의 메모리 셀들의 개수는 제3 시작 읽기 전압(Vsl_c)부터 '제3 시작 읽기 전압(Vsl_c)+쉬프트 전압(Vsft)' 사이의 문턱 전압을 가지는 메모리 셀들의 개수를 의미하고, 제2 영역(R2)의 메모리 셀들의 개수는 '제3 시작 읽기 전압(Vsl_c)+쉬프트 전압(Vsft)'부터 '제3 시작 읽기 전압(Vsl_c)+2*쉬프트 전압(Vsft)' 사이의 문턱 전압을 가지는 메모리 셀들의 개수를 의미하며, 제3 영역(R3)의 메모리 셀들의 개수는 '제3 시작 읽기 전압(Vsl_c)+2*쉬프트 전압(Vsft)' 부터 제3 종료 읽기 전압(Vel_c) 사이의 문턱 전압을 가지는 메모리 셀들의 개수를 의미한다.
즉, 일 실시예에서, 제1 내지 제3 영역(R1, R2, R3)은 제3 종료 읽기 전압(Vel_c)과 제3 시작 읽기 전압(Vsl_c) 간의 영역을 3등분한 영역일 수 있으나, 본 발명의 실시예가 이에 한정되지 않으며, 다양하게 변경될 수 있다.
카운트된 제1 내지 제3 영역 메모리 셀들의 개수를 이용하여 최적을 읽기 전압을 찾을 수 있다.
제1 내지 제3 영역 메모리 셀들의 개수를 각각 NR1, NR2, NR3라 가정한다.
실시예에 따라, 제1 내지 제3 영역(R1~R3) 중 가운데 영역인 제2 영역(R2)의 메모리 셀들의 개수(NR2)가 제1 영역(R1)의 메모리 셀들의 개수(NR1) 및 제3 영역(R3)의 메모리 셀들의 개수(NR3) 보다 작지 않으면, 즉, NR1, NR2, 및 NR3 중 NR2가 최소가 아니면, 최적의 읽기 전압을 다시 찾기 위하여 제1 내지 제3 영역(R1~R3)을 쉬프트 전압(Vsft)만큼 좌측으로 이동할 수 있다.
제1 내지 제3 영역(R1~R3)을 쉬프트 전압(Vsft)만큼 좌측으로 이동하여 새롭게 설정된 제1 내지 제3 영역(R1~R3)은 도 15d에 도시된다.
도 15d에 도시된 새로운 제1 내지 제3 영역(R1~R3)의 메모리 셀들의 개수(NR1, NR2, NR3)를 카운트하여, NR1, NR2, 및 NR3 중 NR2가 최소인지 확인한다.
도 15d의 실시예에서, NR2가 NR1 및 NR2 보다 작으므로, 이 때의 읽기 전압(예컨대, '제4 시작 읽기 전압(Vsl_d)+쉬프트 전압(Vsft)')을 최적의 읽기 전압으로 설정할 수 있다.
도 15c 및 도 15d는 검색 영역에 기초하여 최적의 읽기 전압을 찾는 하나의 실시예를 나타낼 뿐, 본 발명의 실시예가 이에 한정되는 것은 아니다.
다른 실시에에서는, 검색 영역을 둘 이상의 영역으로 구분하여 각 영역에 속하는 메모리 셀들의 수를 카운트하고, 상기 카운트된 각 영역의 메모리셀 수를 연산하여 최적의 읽기 전압을 산출할 수도 있고, 또는 미리 정해진 알고리즘을 이용하여 최적의 읽기 전압을 산출할 수도 있다.
또한, 도 15a 내지 도 15d의 실시예에서는, 제2 프로그램 상태와 제3 프로그램 상태 간을 식별하기 위한 최적의 읽기 전압을 찾는 과정을 일 예로서 도시하나, 소거 상태와 제1 프로그램 상태 간을 식별하기 위한 최적의 읽기 전압을 찾는 과정이나, 제1 프로그램 상태 및 제2 프로그램 상태 간을 식별하기 위한 최적의 읽기 전압을 찾는 과정 역시 도 15a 내지 도 15d의 실시예와 유사할 수 있다.
도 16a 내지 도 16d는 본 발명의 실시예에 따른 비휘발성 메모리 장치의 동작 방법을 설명하기 위한 도면들로서, 도 10 및 도 11에 도시된 비휘발성 매모리 동작 방법의 일 실시예를 보다 자세히 설명하기 위한 도면들이다.
도 10, 도 11 및 도 16a 내지 도 16d를 참조하면, 제5 검색 영역(SR)이 설정된다. 제5 검색 영역은 제5 시작 읽기 전압(Vsl_g) 및 제5 종료 읽기 전압(Vel_g)에 의해 정해진다(S100).
제5 검색 영역이 기준 영역에 속하는지 판단하기 위하여, 먼저, 제5 시작 읽기 전압(Vsl_g) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nsl_g)가 제1 기준 메모리 셀들의 개수, 즉, 제2 프로그램 기준 온셀 개수(NP2_on)보다 큰 지를 판단한다(S210).
도 16a의 실시예에서는, 제5 시작 읽기 전압(Vsl_g) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nsl_g)가 제2 프로그램 기준 온셀 개수(NP2_on)보다 작으므로(S210 단계에서 YES), 제5 시작 읽기 전압(Vsl_g) 및 제5 종료 읽기 전압(Vel_g)을 쉬프트 전압(Vsft)만큼 우측으로 이동한다(S310). 제5 시작 읽기 전압(Vsl_g) 및 제5 종료 읽기 전압(Vel_g)을 쉬프트 전압(Vsft)만큼 우측으로 이동하여 설정된 제6 검색 영역은 도 16b에 도시된다.
도 16b를 참조하면, 제6 검색 영역은 제6 시작 읽기 전압(Vsl_f) 및 제6 종료 읽기 전압(Vel_f)에 의해 정해진다.
새롭게 정해진 제6 시작 읽기 전압(Vsl_f) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nsl_f)가 제2 프로그램 기준 온셀 개수(NP2_on)보다 큰 지를 판단한다(S210).
도 16b의 실시예에서는, 제6 시작 읽기 전압(Vsl_f) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nsl_f)가 제2 프로그램 기준 온셀 개수(NP2_on)보다 여전히 작으므로(S210 단계에서 YES), 제6 시작 읽기 전압(Vsl_f) 및 제6 종료 읽기 전압(Vel_f)을 다시 쉬프트 전압(Vsft)만큼 우측으로 이동한다(S310).
제6 시작 읽기 전압(Vsl_f) 및 제6 종료 읽기 전압(Vel_f)을 쉬프트 전압(Vsft)만큼 우측으로 이동하여 설정된 제7 검색 영역은 도 16c에 도시된다.
도 16c를 참조하면, 제7 검색 영역은 제7 시작 읽기 전압(Vsl_e) 및 제7 종료 읽기 전압(Vel_e)에 의해 정해진다.
다시, 제7 시작 읽기 전압(Vsl_e) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nsl_e)가 제2 프로그램 기준 온셀 개수(NP2_on)보다 큰 지를 판단한다(S210).
도 16c의 실시예에서는, 제7 시작 읽기 전압(Vsl_e) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nsl_e)가 제2 프로그램 기준 온셀 개수(NP2_on)보다 크므로(S210 단계에서 NO), 다음으로, 제7 종료 읽기 전압(Vel_e) 이하의 문턱 전압을 가지는 메모리 셀들의 개수를 카운트한 값(Nel_e)이 제2 기준 메모리 셀들의 개수, 즉 제3 프로그램 기준 온셀 개수(NP3_on) 이하인지 판단한다(S220).
도 16c의 실시예에서는, 제7 종료 읽기 전압(Vel_e) 이하의 문턱 전압을 가지는 메모리 셀들의 개수(Nel_e)가 제3 프로그램 기준 온셀 개수(NP3_on)보다 작으므로(S220 단계에서 NO), 제7 시작 읽기 전압(Vsl_e) 및 제7 종료 읽기 전압(Vel_e)에 의해 정의되는 제7 검색 영역은 기준 영역에 속한다. 따라서, 다음 단계인 도 4의 S400 단계를 수행할 수 있다.
S400 단계에서는, 기준 영역에 속하는 제7 시작 읽기 전압(Vsl_e) 및 제7 종료 읽기 전압(Vel_e)을 이용하여 최적을 읽기 전압을 찾을 수 있다.
일 실시예에 따라, S400 단계에서는, 상술한 바와 같이, 제7 시작 읽기 전압(Vsl_e)과 제7 종료 읽기 전압(Vel_e) 사이의 영역을 적어도 둘 이상의 영역으로 나누고, 각 영역에 속하는 메모리셀 들의 수를 카운트하여, 최적을 읽기 전압을 찾을 수 있다.
도 16c 및 도 16d의 실시예에서는, 제7 시작 읽기 전압(Vsl_e)과 제7 종료 읽기 전압(Vel_e) 사이의 영역을 3개의 영역, 즉 제1 내지 제3 영역(R1, R2, R3)으로 나누어 각 영역에 속하는 메모리 셀들의 수를 카운트하나, 본 발명의 실시예가 이에 한정되는 것은 아니다.
다시, 제1 내지 제3 영역 메모리 셀들의 개수를 각각 NR1, NR2, NR3라 가정하면, 도 16c의 실시예에서 제1 내지 제3 영역(R1~R3) 중 가운데 영역인 제2 영역(R2)의 메모리 셀들의 개수(NR2)가 NR1 및 NR2 보다 작지 않으면, 즉, NR1, NR2, 및 NR3 중 NR2가 최소가 아니면, 최적의 읽기 전압을 다시 찾기 위하여 제1 내지 제3 영역(R1~R3)을 쉬프트 전압(Vsft)만큼 우측으로 이동할 수 있다.
제1 내지 제3 영역(R1~R3)을 쉬프트 전압(Vsft)만큼 우측으로 이동하여 새롭게 설정된 제1 내지 제3 영역(R1~R3)은 도 16d에 도시된다.
도 16d는 도 15d와 동일할 수 있다. 도 16d에 도시된 새로운 제1 내지 제3 영역(R1~R3)의 메모리 셀들의 개수(NR1, NR2, NR3)를 카운트하여, NR1, NR2, 및 NR3 중 NR2가 최소인지 확인한다.
도 16d의 실시예에서, NR2가 NR1 및 NR2 보다 작으므로, 이 때의 읽기 전압(예컨대, '제4 시작 읽기 전압(Vsl_d)+쉬프트 전압(Vsft)')을 최적의 읽기 전압으로 설정할 수 있다.
도 16a 내지 도 16d의 실시예에서도, 제2 프로그램 상태와 제3 프로그램 상태 간을 식별하기 위한 최적의 읽기 전압을 찾는 과정을 일 예로서 도시하나, 소거 상태와 제1 프로그램 상태 간을 식별하기 위한 최적의 읽기 전압을 찾는 과정이나, 제1 프로그램 상태 및 제2 프로그램 상태 간을 식별하기 위한 최적의 읽기 전압을 찾는 과정 역시 유사할 수 있다.
상술한 바와 같이, 본 발명의 실시예에 따르면, 비휘발성 메모리 장치의 새로운 읽기 전압(예컨대, 최적의 읽기 전압)을 검색하기 전에 최적의 읽기 전압을 찾을 수 있는 검색 영역이 적절하게 설정되어 있는지를 판단하고, 판단 결과에 따라 검색 영역을 재설정함으로써 올바른 읽기 전압을 찾을 수 있도록 한다. 이에 따라, 잘못된 읽기 전압으로 인한 데이터 오류를 줄일 수 있고, 따라서, 읽기 데이터의 신뢰성이 향상될 수 있다.
도 17은 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 포함하는 전자 시스템의 다른 실시 예를 나타낸다. 도 17에 도시된 전자 시스템(600)은 메모리 카드 (memory card) 또는 스마트 카드(smart card)로 구현될 수 있다. 전자 시스템(600)은 비휘발성 메모리 장치(200), 메모리 컨트롤러(100), 및 카드 인터페이스(620)를 포함한다.
메모리 컨트롤러(100)는 메모리 장치(200)와 카드 인터페이스(620) 사이에서 데이터의 교환을 제어할 수 있다.
실시 예에 따라, 카드 인터페이스(620)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다. 카드 인터페이스(620)는 호스트(630)의 프로토콜에 따라 호스트(630)와 메모리 컨트롤러(100) 사이에서 데이터 교환을 인터페이스할 수 있다.
실시 예에 따라 카드 인터페이스(620)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스라 함은 호스트(630)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어, 또는 신호 전송 방식을 의미할 수 있다.
전자 시스템(600)이 PC, 태블릿 PC, 디지털 카메라, 디지털 오디오 플레이어, 이동 전화기, 콘솔 비디오 게임 하드웨어, 또는 디지털 셋-탑 박스와 같은 호스트(630)의 호스트 인터페이스(650)와 접속될 때, 호스트 인터페이스(650)는 마이크로프로세서(640)의 제어에 따라 카드 인터페이스(620)와 메모리 컨트롤러(100)를 통하여 비휘발성 메모리 장치(200)와 데이터 통신을 수행할 수 있다.
도 18은 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 포함하는 전자 시스템의 또 다른 실시 예를 나타낸다. 도 18을 참조하면, 전자 시스템(900)은 SSD(solid state drive)와 같은 데이터 처리 장치로 구현될 수 있다. 전자 시스템(900)은 다수의 메모리 장치들(200), 다수의 메모리 장치들(200) 각각의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(100), DRAM과 같은 휘발성 메모리 장치(930), 메모리 컨트롤러(100)와 호스트(940) 사이에서 주고받는 데이터를 휘발성 메모리 장치(930)에 저장하는 것을 제어하는 버퍼 매니저(920)를 포함할 수 있다.
도 19는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 포함하는 데이터 처리 시스템의 또 다른 실시 예를 나타낸다. RAID(redundant array of independent disks) 시스템으로 구현될 수 있는 데이터 처리 시스템(1000)은 RAID 컨트롤러(1010)와 다수의 메모리 시스템들(900-1~900-n; n는 자연수)을 포함할 수 있다.
다수의 메모리 시스템들(900-1~900-n) 각각은 도 20에 도시된 시스템 (900)일 수 있다. 다수의 메모리 시스템들(900-1~900-n)은 RAID 어레이를 구성할 수 있다. 데이터 처리 장치(1000)는 PC(personal computer) 또는 SSD로 구현될 수 있다.
프로그램 동작 동안, RAID 컨트롤러(1010)는 호스트(HOST)로부터 출력된 프로그램 명령에 따라 호스트(HOST)로부터 출력된 프로그램 데이터를 RAID 레벨에 따라 다수의 메모리 시스템들(900-1~900-n) 중에서 적어도 어느 하나의 메모리 시스템로 출력할 수 있다.
리드 동작 동안, RAID 컨트롤러(1010)는 호스트(HOST)로부터 출력된 읽기 명령(read command)에 따라 다수의 메모리 시스템들(900-1~900-n) 중에서 적어도 어느 하나의 메모리 시스템으로부터 읽혀진 데이터를 호스트(HOST)로 전송할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
상기 본 발명의 내용은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
전자 시스템: 1, 600, 900
호스트: 10
비휘발성 메모리 시스템: 20
컨트롤러: 100
비휘발성 메모리 장치: 200
버퍼 매니저: 110, 920
버퍼 메모리: 115
CPU: 120
SRAM: 125
호스트 인터페이스: 130
메모리 인터페이스: 140
ECC 블록(에러 정정 블록): 150
버스: 160
읽기 전압 조정 모듈(Read Level Adjuster): 170
검색 영역 결정부(Search Region Determiner): 171
읽기 전압 결정부(Read Level Determiner): 173

Claims (20)

  1. 시작 읽기 전압과 종료 읽기 전압에 의해 정의되는 검색 영역을 설정하는 단계;
    상기 검색 영역이 기준 영역에 속하는지를 판단하는 단계;
    상기 판단 결과, 상기 검색 영역이 기준 영역에 속하지 않으면, 상기 검색 영역을 변경하는 단계; 및
    상기 판단 결과, 상기 검색 영역이 기준 영역에 속하면, 상기 검색 영역에 기초하여 새로운 읽기 전압을 찾는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  2. 제1항에 있어서, 상기 검색 영역이 기준 영역에 속하는지를 판단하는 단계는
    상기 시작 읽기 전압 이하의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트하고, 상기 제1 메모리 셀들의 개수와 제1 기준 메모리 셀들의 개수를 비교하는 제1 비교 단계; 및
    상기 종료 읽기 전압 이하의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트하고, 상기 제2 메모리 셀들의 개수와 제2 기준 메모리 셀들의 개수를 비교하는 제2 비교 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  3. 제2항에 있어서, 상기 검색 영역을 변경하는 단계는
    상기 제1 비교 결과, 상기 제1 메모리 셀들의 개수가 상기 제1 기준 메모리 셀들의 개수 보다 크지 않으면, 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제1 쉬프트 전압만큼 증가시키는 단계; 및
    상기 제2 비교 결과, 상기 제2 메모리 셀들의 개수가 상기 제2 기준 메모리 셀들의 보다 크면 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제2 쉬프트 전압만큼 감소시키는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  4. 제3항에 있어서, 상기 제1 기준 메모리 셀들의 개수 및 상기 제2 기준 메모리 셀들의 개수는 미리 산출되어 저장되는 값인 비휘발성 메모리 장치의 동작 방법.
  5. 제3항에 있어서,
    상기 제1 기준 메모리 셀들의 개수는, 제1 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수이고,
    상기 제2 기준 메모리 셀들의 개수는, 제2 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수이며,
    상기 제1 기준 문턱 전압 및 상기 제2 기준 문턱 전압은 각각 이웃하는 문턱 전압 분포에서 메모리셀 수가 가장 많은 문턱 전압인 비휘발성 메모리 장치의 동작 방법.
  6. 제1항에 있어서, 상기 검색 영역이 기준 영역에 속하는지를 판단하는 단계는
    상기 시작 읽기 전압 이상의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트하고, 상기 제1 메모리 셀들의 개수와 제1 기준 메모리 셀들의 개수를 비교하는 제1 비교 단계; 및
    상기 종료 읽기 전압 이상의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트하고, 상기 제2 메모리 셀들의 개수와 제2 기준 메모리 셀들의 개수를 비교하는 제2 비교 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  7. 제6항에 있어서, 상기 검색 영역을 변경하는 단계는
    상기 제1 비교 결과, 상기 제1 메모리 셀들의 개수가 상기 제1 기준 메모리 셀들의 개수 보다 크면, 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제1 쉬프트 전압만큼 증가시키는 단계; 및
    상기 제2 비교 결과, 상기 제2 메모리 셀들의 개수가 상기 제2 기준 메모리 셀들의 보다 크지 않으면 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제2 쉬프트 전압만큼 감소시키는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  8. 제7항에 있어서, 상기 제1 기준 메모리 셀들의 개수 및 상기 제2 기준 메모리 셀들의 개수는
    미리 산출되어 저장되는 값인 비휘발성 메모리 장치의 동작 방법.
  9. 제7항에 있어서,
    상기 제1 기준 메모리 셀들의 개수는, 제1 기준 문턱 전압 이상의 문턱 전압을 가지는 메모리 셀들의 개수이고,
    상기 제2 기준 메모리 셀들의 개수는, 제2 기준 문턱 전압 이상의 문턱 전압을 가지는 메모리 셀들의 개수이며,
    상기 제1 기준 문턱 전압 및 상기 제2 기준 문턱 전압은 각각 이웃하는 문턱 전압 분포에서 메모리셀 수가 가장 많은 문턱 전압인 비휘발성 메모리 장치의 동작 방법.
  10. 제1항에 있어서, 상기 새로운 읽기 전압을 찾는 단계는
    상기 검색 영역이 상기 기준 영역에 속하면, 상기 시작 읽기 전압과 상기 종료 읽기 전압 사이의 영역을 적어도 둘 이상의 영역으로 나누고, 각 영역에 속하는 메모리 셀들의 개수를 카운트하는 단계; 및
    상기 각 영역에 속하는 메모리 셀들의 개수를 이용하여 상기 새로운 읽기 전압을 찾는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  11. 제10항에 있어서, 상기 각 영역에 속하는 메모리 셀들의 개수를 카운트하는 단계는
    상기 시작 읽기 전압을 시작 지점으로 하는 제1 문턱 전압 영역에 포함되는 문턱 전압을 가진 메모리 셀들의 개수인 제1 영역 셀 개수를 카운트하는 단계;
    상기 종료 읽기 전압을 종료 지점으로 하는 제2 문턱 전압 영역에 포함되는 문턱 전압을 가진 메모리 셀의 개수인 제2 영역 셀 개수를 카운트하는 단계; 및
    상기 제1 영역 셀 개수 및 상기 제2 영역 셀 개수를 이용하여 상기 새로운 읽기 전압을 찾는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  12. 제1항에 있어서, 비휘발성 메모리 장치는 3차원 메모리 셀 어레이를 포함하고,
    상기 3차원 메모리 셀 어레이는
    제1 워드라인에 연결된 제1 메모리셀들; 및
    제2 워드라인에 연결되고, 상기 제1 메모리셀들의 위에 위치하는 제2 메모리셀들을 포함하며,
    제1 워드라인 및 상기 제2 워드라인에 대하여 상기 검색 영역이 서로 다르거나 또는 상기 새로운 읽기 전압을 찾는 단계가 서로 다른 비휘발성 메모리 장치의 동작 방법.
  13. 시작 읽기 전압과 제1 기준 문턱 전압을 비교하는 제1 비교 단계;
    종료 읽기 전압과 제2 기준 문턱 전압을 비교하는 제2 비교 단계;
    상기 제1 및 제2 비교 결과에 기초하여, 상기 시작 읽기 전압과 상기 종료 읽기 전압을 변경하는 단계; 및
    상기 변경된 시작 읽기 전압과 종료 읽기 전압에 기초하여 새로운 읽기 전압을 찾는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  14. 제13항에 있어서, 상기 시작 읽기 전압과 상기 종료 읽기 전압을 변경하는 단계는
    상기 제1 비교 결과, 상기 시작 읽기 전압이 상기 제1 기준 문턱 전압 보다 크지 않으면, 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제1 쉬프트 전압만큼 증가시키는 단계; 및
    상기 제2 비교 결과, 상기 종료 읽기 전압이 상기 제2 기준 문턱 전압 보다 크면 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제2 쉬프트 전압만큼 감소시키는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  15. 제13항에 있어서, 상기 제1 비교 단계는
    상기 시작 읽기 전압 이하의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트하는 단계; 및
    상기 제1 메모리 셀들의 개수를 제1 기준 메모리 셀들의 개수와 비교하는 단계를 포함하며,
    상기 제1 기준 메모리 셀들의 개수는
    상기 제1 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수로서, 실제 카운팅을 거치지 않고 산출된 값인 비휘발성 메모리 장치의 동작 방법.
  16. 제15항에 있어서, 상기 제2 비교 단계는
    상기 종료 읽기 전압 이하의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트하는 단계; 및
    상기 제2 메모리 셀들의 개수를 제2 기준 메모리 셀들의 개수와 비교하는 단계를 포함하며,
    상기 제2 기준 메모리 셀들의 개수는
    상기 제2 기준 문턱 전압 이하의 문턱 전압을 가지는 메모리 셀들의 개수로서, 실제 카운팅을 거치지 않고 산출된 값인 비휘발성 메모리 장치의 동작 방법.
  17. 읽기 전압 정보를 포함하는 읽기 명령에 응답하여 선택된 메모리 셀들로부터 데이터를 독출하는 비휘발성 메모리 장치; 및
    상기 독출된 데이터로부터 시작 읽기 전압과 종료 읽기 전압에 의해 정의되는 검색 영역이 기준 영역에 속하는지를 판단하고, 상기 판단 결과 상기 검색 영역이 상기 기준 영역에 속하지 않으면 상기 검색 영역을 변경하고, 상기 검색 영역이 상기 기준 영역에 속하면 상기 검색 영역을 이용하여 새로운 읽기 전압을 결정하는 메모리 컨트롤러를 포함하며,
    상기 읽기 전압 정보는 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 포함하는 메모리 시스템.
  18. 제17항에 있어서, 상기 메모리 컨트롤러는
    상기 시작 읽기 전압 이하의 문턱 전압을 가지는 제1 메모리 셀들의 개수를 카운트한 상기 제1 메모리 셀들의 개수와 제1 기준 메모리 셀들의 개수를 비교하고,
    상기 종료 읽기 전압 이하의 문턱 전압을 가지는 제2 메모리 셀들의 개수를 카운트한 상기 제2 메모리 셀들의 개수와 제2 기준 메모리 셀들의 개수를 비교하여, 상기 검색 영역이 상기 기준 영역에 속하는지를 판단하는 메모리 시스템.
  19. 제18항에 있어서, 상기 메모리 컨트롤러는
    상기 제1 메모리 셀들의 개수가 상기 제1 기준 메모리 셀들의 개수 보다 크지 않으면, 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제1 쉬프트 전압만큼 증가시키고,
    상기 제2 메모리 셀들의 개수가 상기 제2 기준 메모리 셀들의 보다 크면 상기 시작 읽기 전압 및 상기 종료 읽기 전압을 제2 쉬프트 전압만큼 감소시키는 메모리 시스템.
  20. 제18항에 있어서, 상기 메모리 컨트롤러는
    상기 제1 기준 메모리 셀들의 개수 및 상기 제2 기준 메모리 셀들의 개수를 미리 산출하여 레지스터에 저장하는 메모리 시스템.
KR1020150038419A 2015-03-19 2015-03-19 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법 KR102284658B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150038419A KR102284658B1 (ko) 2015-03-19 2015-03-19 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법
US15/072,383 US9514830B2 (en) 2015-03-19 2016-03-17 Non-volatile memory device, memory system including the same, and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150038419A KR102284658B1 (ko) 2015-03-19 2015-03-19 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20160112534A KR20160112534A (ko) 2016-09-28
KR102284658B1 true KR102284658B1 (ko) 2021-08-02

Family

ID=56924927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150038419A KR102284658B1 (ko) 2015-03-19 2015-03-19 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법

Country Status (2)

Country Link
US (1) US9514830B2 (ko)
KR (1) KR102284658B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102459077B1 (ko) * 2016-01-12 2022-10-27 삼성전자주식회사 비선형 필터링 방식을 사용하는 메모리 시스템 및 그것의 읽기 방법
KR102589259B1 (ko) * 2016-06-20 2023-10-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10008277B2 (en) * 2016-09-12 2018-06-26 Sandisk Technologies Llc Block health monitoring using threshold voltage of dummy memory cells
JP6674361B2 (ja) * 2016-09-29 2020-04-01 キオクシア株式会社 メモリシステム
KR102663813B1 (ko) * 2017-01-13 2024-05-07 삼성전자주식회사 최적의 읽기 전압으로 독출하는 불휘발성 메모리 장치
KR102349382B1 (ko) * 2017-10-11 2022-01-12 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20190094968A (ko) * 2018-02-06 2019-08-14 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN110120234B (zh) * 2018-02-07 2022-04-15 北京忆芯科技有限公司 固态存储设备及其最优读出阈值电压的搜索方法
US11194646B2 (en) * 2019-12-03 2021-12-07 Micron Technology, Inc. Regression-based calibration and scanning of data units
US11049582B1 (en) * 2020-05-07 2021-06-29 Micron Technology, Inc. Detection of an incorrectly located read voltage
KR20220029233A (ko) * 2020-09-01 2022-03-08 삼성전자주식회사 페이지 버퍼 회로 및 이를 포함하는 메모리 장치
KR20220077312A (ko) 2020-12-01 2022-06-09 삼성전자주식회사 불휘발성 메모리 장치를 제어하도록 구성된 컨트롤러의 동작 방법 및 스토리지 장치의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100672984B1 (ko) 2004-12-14 2007-01-24 삼성전자주식회사 프로그램 시간을 줄일 수 있는 플래시 메모리 장치
US20090310404A1 (en) 2008-06-12 2009-12-17 Samsung Electronics Co., Ltd. Memory device and method of controlling read level
KR101412690B1 (ko) 2008-05-28 2014-06-27 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US20150029796A1 (en) 2012-07-23 2015-01-29 Myung-Hoon Choi Memory device, memory system, and method of controlling read voltage of the memory device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US875662A (en) * 1906-11-06 1907-12-31 R H Willey Composition for brick, &c., and process of making same.
US7257025B2 (en) 2004-12-09 2007-08-14 Saifun Semiconductors Ltd Method for reading non-volatile memory cells
WO2008057822A2 (en) * 2006-11-03 2008-05-15 Sandisk Corporation Nonvolatile memory with variable read threshold
US7903468B2 (en) 2007-04-23 2011-03-08 Ramot At Telaviv University Ltd. Adaptive dynamic reading of flash memories
US7602639B2 (en) 2007-12-14 2009-10-13 Spansion Llc Reading electronic memory utilizing relationships between cell state distributions
US7957187B2 (en) 2008-05-09 2011-06-07 Sandisk Corporation Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US7848152B1 (en) 2009-05-12 2010-12-07 Skymedi Corporation Method and system for adaptively finding reference voltages for reading data from a MLC flash memory
US8631288B2 (en) 2011-03-14 2014-01-14 Micron Technology, Inc. Methods, devices, and systems for data sensing in a memory system
JP2013122804A (ja) 2011-12-12 2013-06-20 Toshiba Corp 半導体記憶装置
KR20130121372A (ko) * 2012-04-27 2013-11-06 한국전자통신연구원 영상 콘텐츠의 심리스 서비스 방안 추론 장치 및 방법
US8811076B2 (en) 2012-07-30 2014-08-19 Sandisk Technologies Inc. Systems and methods of updating read voltages
KR102081584B1 (ko) 2012-11-02 2020-02-26 삼성전자 주식회사 메모리 장치 구동 방법 및 메모리 시스템
KR102069864B1 (ko) 2012-11-05 2020-01-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20140072637A (ko) 2012-12-05 2014-06-13 삼성전자주식회사 비휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법
KR102050475B1 (ko) 2013-01-14 2020-01-08 삼성전자주식회사 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100672984B1 (ko) 2004-12-14 2007-01-24 삼성전자주식회사 프로그램 시간을 줄일 수 있는 플래시 메모리 장치
KR101412690B1 (ko) 2008-05-28 2014-06-27 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US20090310404A1 (en) 2008-06-12 2009-12-17 Samsung Electronics Co., Ltd. Memory device and method of controlling read level
US20150029796A1 (en) 2012-07-23 2015-01-29 Myung-Hoon Choi Memory device, memory system, and method of controlling read voltage of the memory device

Also Published As

Publication number Publication date
KR20160112534A (ko) 2016-09-28
US20160276040A1 (en) 2016-09-22
US9514830B2 (en) 2016-12-06

Similar Documents

Publication Publication Date Title
KR102284658B1 (ko) 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법
CN109935267B (zh) 半导体存储器装置及其操作方法
KR102435873B1 (ko) 스토리지 장치 및 그것의 리드 리클레임 방법
US9858993B2 (en) Non-volatile memory device and method of programming the same
US10910080B2 (en) Nonvolatile memory device configured to adjust a read parameter based on degradation level
KR102634700B1 (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
US10528420B2 (en) Flash memory system having abnormal wordline detector and abnormal wordline detection method
CN105374397B (zh) 半导体存储器件及其操作方法
KR102192910B1 (ko) 반도체 장치, 메모리 시스템 및 이의 동작 방법
KR20170097267A (ko) 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치
US8611150B2 (en) Flash memory device including flag cells and method of programming the same
KR102452994B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR102128825B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR102267046B1 (ko) 스토리지 장치 및 배드 블록 지정 방법
KR20140123230A (ko) 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법
KR102407571B1 (ko) 메모리 시스템 및 그것의 동작 방법
CN111128280B (zh) 存储装置及其操作方法
CN110970074A (zh) 存储器系统及其操作方法
US9589640B2 (en) Data storage device including nonvolatile memory device and operating method thereof
CN110942795A (zh) 存储器系统、其操作方法以及非易失性存储器装置
CN109147854B (zh) 数据存储装置及其操作方法
KR20100045739A (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
US11817170B2 (en) Storage controller determining error count, method of operating the same, and method of operating storage device including the same
KR20230000724A (ko) 비휘발성 메모리 장치에 데이터를 프로그램하기 위한 장치 및 방법
CN111798913A (zh) 存储器系统、存储器控制器及其操作方法

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