KR102065664B1 - 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법 - Google Patents

메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법 Download PDF

Info

Publication number
KR102065664B1
KR102065664B1 KR1020130094886A KR20130094886A KR102065664B1 KR 102065664 B1 KR102065664 B1 KR 102065664B1 KR 1020130094886 A KR1020130094886 A KR 1020130094886A KR 20130094886 A KR20130094886 A KR 20130094886A KR 102065664 B1 KR102065664 B1 KR 102065664B1
Authority
KR
South Korea
Prior art keywords
threshold voltage
quality estimation
read
estimation information
memory
Prior art date
Application number
KR1020130094886A
Other languages
English (en)
Other versions
KR20150018921A (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 KR1020130094886A priority Critical patent/KR102065664B1/ko
Priority to US14/446,347 priority patent/US9324420B2/en
Publication of KR20150018921A publication Critical patent/KR20150018921A/ko
Application granted granted Critical
Publication of KR102065664B1 publication Critical patent/KR102065664B1/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법에 관하여 개시한다. 메모리 장치의 열화 상태 추정 방법은 메모리 셀들에 대한 문턱 전압 산포들 사이의 적어도 하나의 골에 대하여 복수의 독출 전압들을 각각 적용하여 메모리 셀 어레이의 선택된 워드라인으로부터 데이터를 읽어내는 단계, 상기 선택된 워드라인으로부터 읽어낸 데이터를 이용하여 문턱 전압 산포들의 상태를 나타내는 품질 추정 정보를 생성시키는 단계 및, 상기 생성된 품질 추정 정보에 기초하여 상기 선택된 워드라인이 포함된 저장 영역에 대한 열화 상태를 판정하는 단계를 포함한다.

Description

메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법{Method for estimating degradation state of memory device and wear leveling method in memory system using the same}
본 발명은 메모리 장치의 성능 추정 방법 및 이를 이용한 메모리 시스템의 동작 제어 방법에 관한 것으로서, 더욱 상세하게는 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법에 관한 것이다.
메모리 장치는 사용 환경의 변화, 사용 횟수 또는 사용 시간이 경과함에 따라 열화가 진행된다. 이로 인하여, 메모리 장치에서 열화 상태가 임계 수준을 넘어선 저장 영역에 저장된 데이터는 복원할 수 없게 된다. 따라서, 메모리 장치의 저장 영역들에 대한 열화 상태를 정확하게 추정하지 못하면 메모리 장치에 저장된 데이터에 대한 신뢰성을 보증할 수 없게 된다.
본 발명의 목적은 메모리 장치로부터 읽어낸 데이터를 이용하여 문턱 전압 산포를 추정하여 메모리 장치의 열화 상태를 판정하기 위한 메모리 장치의 열화 상태 추정 방법을 제공하는데 있다.
본 발명의 다른 목적은 메모리 장치로부터 읽어낸 데이터를 이용하여 판정된 열화 상태에 기초하여 메모리 셀들에 대한 신뢰성을 균등화시키기 위한 메모리 시스템에서의 웨어 레벨링 방법을 제공하는데 있다.
본 발명의 기술적 사상의 일면에 따른 일실시 예에 의한 메모리 장치의 열화 상태 추정 방법은 메모리 셀들에 대한 문턱 전압 산포들 사이의 적어도 하나의 골에 대하여 복수의 독출 전압들을 각각 적용하여 메모리 셀 어레이의 선택된 워드라인으로부터 데이터를 읽어내는 단계, 상기 선택된 워드라인으로부터 읽어낸 데이터를 이용하여 문턱 전압 산포들의 상태를 나타내는 품질 추정 정보를 생성시키는 단계 및, 상기 생성된 품질 추정 정보에 기초하여 상기 선택된 워드라인이 포함된 저장 영역에 대한 열화 상태를 판정하는 단계를 포함한다.
본 발명의 일실시 예에 따르면, 상기 복수의 독출 전압들은 연 판정 데이터를 생성시키기 위하여 설정된 독출 전압들을 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 복수의 독출 전압들은 경 판정을 위한 제1독출 전압, 상기 제1독출 전압을 중심으로 초기 설정된 제1오프셋 전압만큼 감소된 제2독출 전압, 상기 제1독출 전압을 중심으로 초기 설정된 제2오프셋 전압만큼 증가된 제3독출 전압을 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 품질 추정 정보를 생성시키는 단계는 상기 복수의 독출 전압들을 각각 적용하여 상기 메모리 셀 어레이의 선택된 워드라인으로부터 읽어낸 데이터로부터 상기 복수의 독출 전압들에 의하여 구획된 문턱 전압 구간들에 각각 속하는 메모리 셀들의 개수를 산출하는 단계 및, 상기 산출된 문턱 전압 구간 별 메모리 셀들의 개수에 기초하여 독출 전압의 변위 및 문턱 전압 산포 폭 수준을 나타내는 제1타입의 품질 추정 정보를 연산하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 품질 추정 정보를 생성시키는 단계는 경 판정을 위한 제1독출 전압과 상기 제1독출 전압을 중심으로 초기 설정된 제1오프셋 전압만큼 감소된 제2독출 전압 사이의 구간에 속하는 문턱 전압을 갖는 메모리 셀들의 개수를 나타내는 제1정보를 생성시키는 단계, 상기 제1독출 전압과 상기 제1독출 전압을 중심으로 초기 설정된 제2오프셋 전압만큼 증가된 제3독출 전압 사이의 구간에 속하는 문턱 전압을 갖는 메모리 셀들의 개수를 나타내는 제2정보를 생성시키는 단계 및, 상기 제1정보 및 제2정보에 기초하여 독출 전압의 변위 및 문턱 전압 산포 폭 수준을 나타내는 제1타입의 품질 추정 정보를 연산하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 제1타입의 품질 추정 정보를 연산하는 단계는 상기 제1정보와 제2정보의 차를 연산한 제3정보를 생성시키는 단계 및, 상기 제1정보와 제2정보의 합을 연산한 제4정보를 생성시키는 단계를 포함하고, 상기 제1타입의 품질 추정 정보는 상기 제3정보 및 상기 제4정보를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 열화 상태를 판정하는 단계는 상기 품질 추정 정보에 포함된 독출 전압의 변위에 대한 문턱 전압 산포 수준의 제1판정 기준 값을 산출하는 단계, 상기 제1판정 기준 값과 상기 품질 추정 정보에 포함된 문턱 전압 산포 수준을 비교하는 단계 및, 상기 비교 결과 상기 품질 추정 정보에 포함된 문턱 전압 산포 수준이 상기 제1판정 기준 값을 초과하는 경우에 제1열화 상태로 결정하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 품질 추정 정보를 생성시키는 단계는 상기 선택된 워드라인으로부터 읽어낸 데이터를 이용하여 연 판정 디코딩 처리를 수행하는 단계, 상기 연 판정 디코딩 처리된 결과에 기초하여 에러 정정된 비트들 각각에 대한 신뢰성 수준을 판정하는 단계 및, 상기 판정된 신뢰성 수준에 기초하여 제2타입의 품질 추정 정보를 연산하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 연 판정 디코딩 처리를 수행하는 단계는 상기 선택된 워드라인으로부터 읽어낸 경 판정 데이터 및 신뢰성 데이터를 이용하여 연 판정 데이터를 생성시키는 단계 및, 상기 연 판정 데이터에 기초하여 에러 검출 및 정정 처리를 수행하는 단계를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 신뢰성 수준을 판정하는 단계는 상기 연 판정 디코딩 처리된 데이터와 경 판정 데이터를 비교하여 에러 정정된 비트를 검출하는 단계 및, 상기 검출된 에러 정정된 비트에 대응되는 상기 신뢰성 데이터에 기초하여 스트롱 에러 비트를 판정하는 단계를 포함하고, 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 비트에서 에러 정정된 경우에 스트롱 에러 비트로 판정할 수 있다.
본 발명의 일실시 예에 따르면, 상기 제2타입의 품질 추정 정보를 연산하는 단계는 연 판정 디코딩 처리에 의하여 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 비트들의 개수에 기초하여 상기 제2타입의 품질 추정 정보를 연산할 수 있다.
본 발명의 일실시 예에 따르면, 상기 제2타입의 품질 추정 정보는 연 판정 디코딩 처리에 의하여 에러 정정된 비트들의 개수에 대한 상기 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 에러 정정된 비트들의 개수의 비율에 대한 정보를 포함할 수 있다.
본 발명의 일실시 예에 따르면, 상기 열화 상태를 판정하는 단계는 상기 품질 추정 정보와 초기 설정된 제2판정 기준 값을 비교하는 단계 및, 상기 비교 결과 상기 품질 추정 정보가 상기 제2판정 기준 값을 초과하는 경우에 제2열화 상태로 판정하는 단계를 포함하고, 상기 품질 추정 정보는 연 판정 디코딩 처리에 의하여 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 비트들의 개수에 기초하여 생성되는 제2타입의 품질 추정 정보를 포함할 수 있다.
본 발명의 기술적 사상의 다른 면에 따른 일실시 예에 의한 시스템에서의 웨어 레벨링 방법은 연 판정 데이터를 생성시키기 위하여 설정한 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간별로 각각에 포함되는 메모리 셀들의 개수를 산출하는 단계, 상기 산출된 문턱 전압 구간별 메모리 셀들의 개수를 이용하여 산출된 독출 전압의 변위에 따른 문턱 전압 산포 폭 수준이 제1판정 기준 값을 초과하는 경우에 제1열화 상태로 결정하는 단계, 상기 연 판정 데이터를 이용한 디코딩 처리 결과에 기초하여 상기 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간들에서의 에러 정정된 비트들을 검출하는 단계, 상기 검출된 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 에러 정정된 비트들의 개수가 제2판정 기준 값을 초과하는 경우에 제2열화 상태로 결정하는 단계 및, 상기 제1열화 상태 및 제2열화 상태 중의 적어도 하나의 열화 상태로 결정되는 저장 영역에 저장된 데이터를 임계 수준 미만의 열화 상태를 갖는 다른 저장 영역으로 옮겨 쓰는 단계를 포함한다.
본 발명의 일실시 예에 따르면, 상기 제1열화 상태로 결정하는 단계는 상기 산출된 문턱 전압 구간 별 메모리 셀들의 개수에 기초하여 독출 전압의 변위 및 문턱 전압 산포 폭 수준을 나타내는 제1타입의 품질 추정 정보를 연산하는 단계, 상기 제1타입의 품질 추정 정보에 포함된 독출 전압의 변위에 대응되는 문턱 전압 산포 수준의 제1판정 기준 값을 산출하는 단계, 상기 제1판정 기준 값과 상기 제1타입의 품질 추정 정보에 포함된 문턱 전압 산포 수준을 비교하는 단계 및, 상기 비교 결과 상기 제1타입의 품질 추정 정보에 포함된 문턱 전압 산포 수준이 상기 제1판정 기준 값을 초과하는 경우에 제1열화 상태로 결정하는 단계를 포함할 수 있다.
본 발명에 의하면 메모리 장치로부터 읽어낸 데이터를 이용하여 추정된 문턱 전압 산포 수준에 기초하여 열화 상태를 판정함으로써, 열화 상태를 정확하게 판정할 수 있는 효과가 발생된다.
본 발명에 의하면 디코더에서 에러 정정된 데이터를 이용하여 추정된 에러 비트의 신뢰성 수준에 기초하여 열화 상태를 판정함으로써, 프로그램/소거 사이클 회수 또는 리드 카운트 정보 등의 다른 보조적인 데이터를 이용하여 열화 상태를 판정한 방식에 비하여 열화 상태를 보다 정확하게 판정할 수 있는 효과가 발생된다.
본 발명에 의하면 메모리 장치로부터 읽어낸 데이터를 이용하여 추정된 문턱 전압 산포 수준과 디코더에서 에러 정정된 데이터를 이용하여 추정된 에러 비트의 신뢰성 수준을 조합하여 열화 상태를 판정함으로써, 열화 상태 판정에 대한 정확도를 높일 수 있는 효과가 발생된다.
그리고, 본 발명에 의하면 정확하게 판정된 열화 상태에 기초하여 웨어 레벨링 처리를 실행함으로써, 데이터의 불필요한 옮겨 쓰기 동작을 줄일 수 있으며, 또한 복구할 수 없을 정도의 열화 상태가 발생되는 것을 미연에 방지할 수 있는 효과가 발생된다.
도 1은 본 발명의 일실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 3은 도 2의 메모리 장치에 포함된 메모리 셀 어레이의 일 예를 나타낸다.
도 4는 도 3의 메모리 셀 어레이에 포함된 메모리 블록의 일 예를 나타내는 회로도이다.
도 5는 도 4의 메모리 블록에 포함된 메모리 셀의 일 예를 나타내는 단면도이다.
도 6은 도 1의 메모리 시스템의 소프트웨어 구조의 일 예를 보여주는 도면이다.
도 7은 도 1의 메모리 컨트롤러에 포함된 열화 상태 추정부에 대한 일실시 예에 따른 상세 구성도이다.
도 8은 도 1의 메모리 컨트롤러에 포함된 열화 상태 추정부에 대한 다른 실시 예에 따른 상세 구성도이다.
도 9는 본 발명의 다른 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 10은 본 발명의 실시 예에 따른 메모리 장치의 열화 상태 추정 방법의 흐름도이다.
도 11은 도 10에 도시된 품질 추정 정보를 생성시키는 단계에 대한 일 실시 예에 따른 세부 흐름도이다.
도 12는 도 10에 도시된 품질 추정 정보를 생성시키는 단계에 대한 다른 실시 예에 따른 세부 흐름도이다.
도 13은 도 12에 도시된 제1타입의 품질 추정 정보 연산 단계에 대한 일 실시 예에 따른 세부 흐름도이다.
도 14는 도 10에 도시된 열화 상태를 판정하는 단계에 대한 일 실시 예에 따른 세부 흐름도이다.
도 15는 도 10에 도시된 품질 추정 정보를 생성시키는 단계에 대한 또 다른 실시 예에 따른 세부 흐름도이다.
도 16은 도 15에 도시된 연 판정 디코딩 처리 단계에 대한 일 실시 예에 따른 세부 흐름도이다.
도 17은 도 15에 도시된 신뢰성 수준 판정 단계에 대한 일 실시 예에 따른 세부 흐름도이다.
도 18은 도 15에 도시된 제2타입의 품질 추정 정보 연산 단계에 대한 일 실시 예에 따른 세부 흐름도이다.
도 19는 도 10에 도시된 열화 상태를 판정하는 단계에 대한 다른 실시 예에 따른 세부 흐름도이다.
도 20은 본 발명의 일 실시 예에 따른 메모리 시스템에서의 웨어 레벨링 방법의 흐름도이다.
도 21은 본 발명의 다른 실시 예에 따른 메모리 시스템에서의 웨어 레벨링 방법의 흐름도이다.
도 22는 본 발명에 따른 열화 상태 추정 방법을 설명하기 위한 메모리 셀들에 대한 문턱 전압 산포들의 일부를 보여주는 도면이다.
도 23은 본 발명의 실시 예에 적용되는 연 판정 독출 동작을 설명하기 위한 도면이다.
도 24는 PE 사이클 회수에 따른 메모리 장치에서의 독출 전압의 변위에 대한 문턱 전압 산포 폭 수준의 예를 보여주는 도면이다.
도 25는 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 26은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 27은 본 발명의 실시 예들에 따른 메모리 시스템을 솔리드 스테이트 드라이브에 적용한 예를 나타내는 블록도이다.
도 28은 도 27의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(10) 및 메모리 장치(20)를 포함할 수 있다. 메모리 컨트롤러(10)는 메모리 장치(20)에 대한 제어 동작을 수행할 수 있는데, 구체적으로, 메모리 컨트롤러(10)는 메모리 장치(20)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(20)에 대한 프로그램(또는 쓰기), 독출 및 소거 동작을 제어할 수 있다. 이하에서는, 메모리 컨트롤러(10) 및 메모리 장치(20)에 포함된 구성 요소들에 대하여 상술하기로 한다.
메모리 장치(20)는 메모리 셀 어레이(21)를 포함할 수 있는데, 메모리 셀 어레이(21)는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 일 실시 예에서, 복수의 메모리 셀들은 플래시 메모리 셀들일 수 있고, 메모리 셀 어레이(21)는 낸드(NAND) 플래시 메모리 셀 어레이 또는 노아(NOR) 플래시 메모리 셀 어레이일 수 있다. 이하에서는, 복수의 메모리 셀들이 플래시 메모리 셀들인 경우를 예로 하여 본 발명의 실시 예들을 상술하기로 한다. 그러나, 본 발명은 이에 한정되지 아니하고, 다른 실시 예에서, 복수의 메모리 셀들은 RRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
우선, 본 발명에서 제안하는 메모리 장치(20)의 열화 상태 추정 방식을 도 22를 참조하여 설명하기로 한다.
도 22에는 메모리 셀들에 대한 문턱 전압 산포들의 일부를 도시하였다.
도 22를 참조하면, 문턱 전압의 산포의 폭(W)이 넓어질수록 에러 정정 능력이 하락하게 된다. 즉, 열화 상태가 악화된다. 그리고, 문턱 전압의 산포 중에서 최 외곽 부분(PO)에 포함되는 메모리 셀들이 증가할수록 악성 오류가 발생될 가능성이 높아진다.
일 예로서, 본 발명에서는 연 판정 데이터를 생성시키기 위한 독출 전압들[(Vr1-△V1), Vr1, (Vr1+△V2)]에 의하여 구획되는 문턱 전압 구간 A 및 B에 속하는 메모리 셀들의 개수를 이용하여 문턱 전압의 산포들의 상태를 추정하여 메모리 장치(20)의 저장 영역에 대한 열화 상태를 판정한다. 여기에서, △V1은 제1오프셋 전압을 나타내고, △V2는 제2오프셋 전압을 나타낸다. 예로서, △V1과 △V2는 같게 설정할 수도 있다. 다른 예로서, △V1과 △V2는 다르게 설정할 수도 있다.
다른 예로서, 본 발명에서는 연 판정 디코딩 처리에 의하여 에러 정정된 비트들 중에서 문턱 전압 산포의 외곽 부분(PO)에 포함된 메모리 셀에 대응되는 비트들이 차지하는 비중에 기초하여 메모리 장치(20)의 저장 영역에 대한 열화 상태를 판정한다.
이와 같은 메모리 장치(20)의 열화 상태 추정 동작은 메모리 컨트롤러(10)에서 수행될 수 있다.
다시 도 1을 참조하면, 메모리 컨트롤러(10)는 중앙처리장치(Central Processing Unit; CPU, 11) 및, 열화 상태 추정부(12)를 포함할 수 있다.
CPU(11)는 메모리 시스템(100)의 전반적인 동작을 제어한다. 호스트로부터 수신되는 커맨드를 해독하고, 해독된 결과에 따른 동작을 수행하도록 메모리 시스템(100)을 제어한다. 세부적으로, CPU(11)는 도 10 ~ 도 21에 도시된 본 발명의 실시 예들에 따른 메모리 장치의 열화 상태 추정 방법 또는 메모리 시스템에서의 웨어 레벨링 방법의 흐름도를 수행하도록 메모리 시스템(100)을 제어할 수 있다.
열화 상태 추정부(12)는 CPU(11)의 제어에 따른 연 판정 독출 동작에서의 메모리 장치(20)로부터 읽어낸 데이터를 이용하여 메모리 셀들에 대한 문턱 전압 산포들의 상태를 추정하고, 추정된 결과에 기초하여 열화 상태를 판정한다. 예로서, 열화 상태 판정은 섹터, 페이지 또는 블록 단위로 수행할 수 있다.
예로서, 열화 상태 추정부(12)는 메모리 장치(20)의 선택된 워드라인으로부터 읽어낸 데이터를 이용하여 연 판정 데이터를 생성시키기 위하여 설정한 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간별로 각각에 포함되는 메모리 셀들의 개수를 산출하고, 산출된 문턱 전압 구간별 메모리 셀들의 개수를 이용하여 산출된 독출 전압의 변위에 따른 문턱 전압 산포 폭 수준이 제1판정 기준 값을 초과하는 경우에 제1열화 상태로 결정한다.
다른 예로서, 열화 상태 추정부(12)는 연 판정 데이터를 이용한 디코딩 처리 결과에 기초하여 연 판정 데이터를 생성시키기 위한 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간들에서의 에러 정정된 비트들을 검출하고, 검출된 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 에러 정정된 비트들의 개수가 제2판정 기준 값을 초과하는 경우에 제2열화 상태로 결정한다.
열화 상태 추정부(12)에서의 제1열화 상태 또는 제2열화 상태로 결정하는 동작에 대해서는 아래에서 상세히 설명되어질 것이다.
CPU(11)는 열화 상태 추정부(12)에서 결정된 열화 상태에 대한 정보에 기초하여 제1열화 상태 및 제2열화 상태 중의 적어도 하나의 열화 상태로 결정되는 저장 영역에 저장된 데이터를 임계 수준 미만의 열화 상태를 갖는 다른 저장 영역으로 옮겨 쓰도록 메모리 시스템(100)을 제어한다. 예로서, 옮겨 쓰기 동작은 블록 단위로 수행할 수 있다. 다른 예로서, 옮겨 쓰기 동작은 페이지 단위로 수행할 수도 있다.
도 2는 도 1의 메모리 시스템(100)에 포함된 메모리 장치(20)를 상세하게 나타내는 블록도이다.
도 2를 참조하면, 메모리 장치(20)는 메모리 셀 어레이(21), 제어 로직(22), 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)를 포함할 수 있다.
제어 로직(22)은 메모리 컨트롤러(10)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여 메모리 셀 어레이(21)에 데이터를 쓰거나 메모리 셀 어레이(21)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이때, 제어 로직(22)에서 출력된 제어 신호는 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)에 전달될 수 있다.
전압 발생기(23)는 제어 로직(22)으로부터 수신한 제어 신호를 기초로 하여 복수의 워드 라인들(WL)을 구동하기 위한 구동 전압(VWL)을 생성할 수 있다. 구체적으로, 구동 전압(VWL)은 쓰기 전압(또는 프로그램 전압), 독출 전압, 소거 전압 또는 패스(pass) 전압일 수 있다.
로우 디코더(24)는 로우 어드레스를 기초로 하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(24)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다. 한편, 쓰기 동작 시에 로우 디코더(24)는 선택된 워드 라인에 쓰기 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
페이지 버퍼(25)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(21)에 연결될 수 있다. 페이지 버퍼(25)는 메모리 셀 어레이(21)에 기록될 데이터 또는 메모리 셀 어레이(21)로부터 독출된 데이터를 임시적으로 저장할 수 있다.
도 3은 도 2의 메모리 장치(20)에 포함된 메모리 셀 어레이(21)의 일 예를 나타낸다.
도 3을 참조하면, 메모리 셀 어레이(21)는 플래시 메모리 셀 어레이일 수 있다. 이때, 메모리 셀 어레이(21)는 a(a는 2 이상의 정수)개의 블록들(BLK0 내지 BLKa-1)을 포함하고, 각 블록들(BLK0 내지 BLKa-1)은 b(b는 2 이상의 정수)개의 페이지들(PAG0 내지 PAGb-1)을 포함하며, 각 페이지들(PAG0 내지 PAGb-1)은 c(c는 2 이상의 정수)개의 섹터들(SEC0 내지 SECc-1)을 포함할 수 있다. 도 3에서는 도시의 편의를 위해, 블록 BLK0에 대하여만 페이지들(PAG0 내지 PAGb-1) 및 섹터들(SEC0 내지 SECc-1)을 도시하였으나, 다른 블록들(BLK1 내지 BLKa-1)도 블록 BLK0와 동일한 구조를 가질 수 있다.
도 4는 도 3의 메모리 셀 어레이(21)에 포함된 메모리 블록(BLK0)의 일 예를 나타내는 회로도이다.
도 4를 참조하면, 메모리 셀 어레이(21)는 낸드 플래시 메모리의 메모리 셀 어레이일 수 있다. 이때, 도 3에 도시된 각 블록들(BLK0 내지 BLKa-1)은 도 4와 같이 구현될 수 있다. 도 4를 참조하면, 각 블록들(BLK0 내지 BLKa-1)은 비트 라인(BL0 내지 BLd-1) 방향으로, 8개의 메모리 셀(MCEL)들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들을 포함할 수 있다. 각 스트링(STR)은 각각 직렬로 연결되는 메모리 셀(MCEL)들의 양 끝에 연결되는, 드레인(drain) 선택 트랜지스터(Str1) 및 소스(source) 선택 트랜지스터(Str2)를 포함할 수 있다.
도 4와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거(erase)가 수행되고, 각 워드 라인(WL0 내지 WL7)에 대응되는 페이지(PAG) 단위로 프로그램을 수행한다. 도 4는 하나의 블록에 8개의 워드 라인들(WL0 내지 WL7)에 대한 8개의 페이지(PAG)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이(21)의 블록들(BLK0 내지 BLKa-1)은 도 4에 도시되는 메모리 셀(MCEL) 및 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다. 또한, 도 1 및 도 2의 메모리 장치(20)는 이상에서 설명된 메모리 셀 어레이(21)와 동일한 구조로 동일한 동작을 수행하는 복수의 메모리 셀 어레이들을 포함할 수도 있다.
도 5는 도 4의 메모리 블록(BLK0)에 포함된 메모리 셀(MCEL)의 일 예를 나타내는 단면도이다.
도 5를 참조하면, 기판(SUB) 상에 소스(S) 및 드레인(D)이 형성되고, 소스(S)와 드레인(D)의 사이에는 채널 영역이 형성될 수 있다. 채널 영역의 상부에는 플로팅 게이트(FG)가 형성되는데, 채널 영역과 플로팅 게이트(FG)의 사이에는 터널링(tunneling) 절연층과 같은 절연층이 배치될 수 있다. 플로팅 게이트(FG)의 상부에는 컨트롤 게이트(CG)가 형성되는데, 플로팅 게이트(FG)와 컨트롤 게이트(CG)의 사이에는 블로킹(blocking) 절연층과 같은 절연층이 배치될 수 있다. 기판(SUB), 소스(S), 드레인(D) 및 컨트롤 게이트(CG)에는 메모리 셀(MCEL)에 대한 프로그램, 소거 및 독출 동작에 필요한 전압들이 인가될 수 있다.
플래시 메모리 장치에서는 메모리 셀(MCEL)의 문턱 전압(threshold voltage, Vth)의 구별에 의해 메모리 셀(MCEL)에 저장된 데이터가 독출될 수 있다. 이때, 메모리 셀(MCEL)의 문턱 전압(Vth)은 플로팅 게이트(FG)에 저장된 전자(electron)의 양에 따라 결정될 수 있다. 구체적으로, 플로팅 게이트(FG)에 저장된 전자가 많을수록 메모리 셀(MCEL)의 문턱 전압은 높아질 수 있다.
메모리 셀(MCEL)의 플로팅 게이트(FG)에 저장된 전자는 다양한 원인들에 의해 화살표 방향으로 누설(leakage)될 수 있고, 이에 따라, 메모리 셀(MCEL)의 문턱 전압이 변경될 수 있다. 예를 들어, 플로팅 게이트(FG)에 저장된 전자는 메모리 셀의 마모에 의해 누설될 수 있다. 구체적으로, 메모리 셀(MCEL)에 대한 프로그램, 소거 또는 독출과 같은 액세스 동작을 반복하면 채널 영역과 플로팅 게이트(FG) 사이의 절연막은 마모될 수 있고, 이에 따라, 플로팅 게이트(FG)에 저장된 전자가 누설될 수 있다. 또 다른 예로, 플로팅 게이트(FG)에 저장된 전자는 고온 스트레스 또는 프로그램/독출 시의 온도 차이 등에 의해 누설될 수도 있다. 이와 같은 누설 현상은 메모리 장치를 열화시키는 요인이 된다.
플래시 메모리 장치에서는 데이터의 쓰기 및 독출은 페이지 단위로 수행되고, 전기적 소거는 블록 단위로 이루어진다. 또한, 쓰기 전에 블록의 전기적 소거 작업이 요구된다. 이에 따라서, 덮어쓰기가 불가능하다.
덮어쓰기가 불가능한 메모리 장치에서는 사용자 데이터를 사용자가 원하는 물리적 영역에 기입할 수 없다. 따라서 호스트로부터 쓰기 또는 독출을 위하여 액세스를 요청받는 경우, 호스트로부터 쓰기 또는 독출이 요청된 논리적 어드레스를 실제로 데이터가 저장되어 있는 또는 데이터가 저장될 물리적 어드레스로 변환시키는 어드레스 변환 동작이 필요하다.
메모리 시스템(100)에서 논리적 어드레스를 물리적 어드레스로 변환시키는 과정을 도 6을 참조하여 설명하기로 한다.
도 6은 메모리 시스템(100)의 소프트웨어 구조를 보여주는 블록도이다. 일 예로서, 도 6에서는 메모리 시스템(100)을 구성하는 메모리 장치(20)를 플래시 메모리 장치로 구현한 경우의 메모리 시스템(100)의 소프트웨어 구조를 보여준다.
도 6을 참조하면, 메모리 시스템(100)은 애플리케이션(101), 파일 시스템(102), 플래시 변환 계층(103), 그리고 플래시 메모리(104)순으로 소프트웨어 계층 구조를 갖는다. 여기에서, 플래시 메모리(104)는 물리적으로 도 2에 도시된 메모리 장치(20)를 의미한다.
애플리케이션(101)은 사용자 데이터를 가공하는 펌웨어를 의미한다. 예를 들어, 애플리케이션(101)은 워드 프로세서와 같은 문서 처리 소프트웨어, 계산 소프트웨어, 웹 브라우저와 같은 문서 뷰어가 될 수 있다. 애플리케이션(101)은 사용자의 입력에 응답하여 사용자 데이터를 처리하고, 처리된 사용자 데이터를 플래시 메모리(104)에 저장하기 위한 커맨드를 파일 시스템(102)에 전달한다.
파일 시스템(102)은 플래시 메모리(104)에 사용자 데이터를 저장하기 위해 사용되는 구조 또는 소프트웨어를 의미한다. 파일 시스템(102)은 애플리케이션(101)으로부터의 커맨드에 응답하여, 사용자 데이터가 저장될 논리적 어드레스를 할당한다. 파일 시스템(102)의 일종으로 FAT(File Allocation Table) 파일 시스템, NTFS 등이 있다.
플래시 변환 계층(Flash Translation Layer; FTL, 103)에서는 파일 시스템(102)으로부터 전달받은 논리적 어드레스를 플래시 메모리(104)에서의 읽기/쓰기 동작을 위한 물리적 어드레스로의 변환 과정을 수행한다. 플래시 변환 계층(103)에서는 매핑 테이블 정보를 이용하여 논리적 어드레스를 물리적 어드레스로 변환시킨다. 어드레스 매핑 방법은 페이지 매핑 방법 또는 블록 매핑 방법을 이용할 수 있다. 페이지 매핑 방법은 페이지 단위로 어드레스 매핑 동작을 수행하고, 블록 매핑 방법은 블록 단위로 어드레스 매핑 동작을 수행하는 방식이다. 또한, 페이지 매핑과 블록 매핑을 혼합한 혼합 매핑 방법이 적용될 수도 있다. 여기에서, 물리적 어드레스는 플래시 메모리(104)의 데이터 저장 위치를 나타낸다.
도 7은 도 1의 메모리 컨트롤러(10)에 포함된 열화 상태 추정부(12)에 대한 일실시 예에 따른 상세 구성도이다.
도 7을 참조하면, 제1타입의 열화 상태 추정부(12A)는 문턱 전압 구간 판정부(12-1A), 제1카운팅부(12-2A), 제1품질 추정 정보 연산부(12-3A) 및 제1열화 상태 결정부(12-4A)를 포함한다.
우선, 메모리 시스템(100)은 독출 동작에 의하여 경 판정 데이터(HD)와 신뢰성 데이터(RD)를 얻을 수 있다. 예로서, 연 판정 독출 동작에 의하여 경 판정 데이터(HD)와 신뢰성 데이터(RD)를 얻을 수 있다. 연 판정 독출 동작은 메모리 셀들에 대한 문턱 전압 산포들 사이의 하나의 골에 대하여 복수의 독출 전압들을 적용하여 메모리 셀 어레이의 선택된 워드라인으로부터 데이터를 읽어낸다. 예로서, 연 판정 독출 동작을 위한 복수의 독출 전압은 경 판정을 위한 제1독출 전압(Vr1), 제1독출 전압(Vr1)을 중심으로 초기 설정된 제1오프셋 전압(△V1)만큼 감소된 제2독출 전압(Vr1-△V1), 제1독출 전압(Vr1)을 중심으로 초기 설정된 제2오프셋 전압(△V2)만큼 증가된 제3독출 전압(Vr1+△V2)이 포함될 수 있다.
도 23을 참조하면, 연 판정 독출 동작 과정에서 메모리 장치(20)는 제1독출 전압(Vr1)에 의한 독출 동작에 의하여 경 판정 데이터(HD)를 생성시키고, 제2독출 전압(Vr1-△V1) 및 제3독출 전압(Vr1+△V2)에 의한 독출 동작에 의하여 신뢰성 데이터(RD)를 생성시킬 수 있다.
도 23에서는 설명의 편의를 위하여 메모리 셀들에 대한 문턱 전압 산포들 사이의 하나의 골에 대한 연 판정 독출 동작을 설명하였으나, 같은 방식으로 멀티 레벨 메모리 셀에서의 문턱 전압 산포들 사이의 각 골 별로 연 판정 독출 동작을 수행할 수 있다.
예로서, 메모리 장치(20)에서 제1독출 전압(Vr1)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀들을 "1"로 감지하고, 제1독출 전압(Vr1)보다 높은 문턱 전압을 갖는 메모리 셀들을 "0"으로 감지하는 방식으로 경 판정 데이터(HD)를 생성시킬 수 있다.
예로서, 메모리 장치(20)에서 제2독출 전압(Vr1-△V1)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀들 또는 제3독출 전압(Vr1+△V2)보다 높은 문턱 전압을 갖는 메모리 셀들을 "1"로 감지하고, 제2독출 전압(Vr1-△V1)보다 높고 제3독출 전압(Vr1+△V2)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀들을 "0"으로 감지하는 방식으로 신뢰성 데이터(RD)를 생성시킬 수 있다. 이 경우에, 신뢰성 데이터(RD)가 "0"인 메모리 셀들은 신뢰성이 "Weak" 하다고 판단하고, 신뢰성 데이터(RD)가 "1"인 메모리 셀들은 신뢰성이 "Strong" 하다고 판단한다.
문턱 전압 구간 판정부(12-1A)는 연 판정 독출 동작 과정에서 메모리 장치(20)로부터 전송되는 경 판정 데이터(HD)와 신뢰성 데이터(RD)에 기초하여 문턱 전압 구간 A에 속하는 메모리 셀들 및 문턱 전압 구간 B에 속하는 메모리 셀들을 각각 식별할 수 있다.
예로서, 도 23을 참조하면 경 판정 데이터(HD)가 "1"이고 신뢰성 데이터(RD)가 "0"으로 읽혀진 메모리 셀은 구간 A에 포함되는 것으로 판정하고, 경 판정 데이터(HD)가 "0"이고 신뢰성 데이터(RD)가 "0"으로 읽혀진 메모리 셀은 구간 B에 포함되는 것으로 판정할 수 있다.
제1카운팅부(12-2A)는 연 판정 데이터를 생성시키기 위한 독출 전압들에 의하여 구획되는 문턱 전압 구간들 사이에 속하는 메모리 셀들을 카운팅한다. 예로서, 제1카운팅부(12-2A)는 문턱 전압 구간 판정부(12-1A)에서 문턱 전압 구간 A에 속하는 것으로 식별된 메모리 셀들을 카운팅하여 제1정보(INF1)를 생성시키고, 문턱 전압 구간 B에 속하는 것으로 식별된 메모리 셀들을 카운팅하여 제2정보(INF2)를 생성시킨다.
제1품질 추정 정보 연산부(12-3A)는 제1카운팅부(12-2A)에서 생성된 제1정보(INF1) 및 제2정보(INF2)를 이용하여 문턱 전압 산포들의 상태를 나타내는 제1타입의 품질 추정 정보(QEINF1)를 산출한다. 제1타입의 품질 추정 정보(QEINF1)는 독출 전압의 변위 및 문턱 전압 산포 폭 수준을 나타내는 정보가 포함될 수 있다. 예로서, 제1품질 추정 정보 연산부(12-3A)는 제1정보(INF1)와 제2정보(INF2)의 차를 연산하여 제3정보(INF3)를 생성시키고, 제1정보(INF1)와 제2정보(INF2)의 합을 연산하여 제4정보(INF4)를 생성시킬 수 있다. 여기에서, 제3정보(INF3)는 독출 전압의 변위를 나타내고, 제4정보(INF4)는 문턱 전압 산포 폭 수준을 나타낸다. 이에 따라서, 제1타입의 품질 추정 정보(QEINF1)를 (INF3, INF4)로 나타낼 수 있다.
제1열화 상태 결정부(12-4A)는 제1품질 추정 정보 연산부(12-3A)에서 생성된 제1타입의 품질 추정 정보(QEINF1)인 (INF3, INF4)에 기초하여 열화 상태를 판정한다.
예로서, 도 24와 같은 프로그램/소거(PE) 사이클 회수에 따른 메모리 장치에서의 독출 전압의 변위에 대한 문턱 전압 산포 폭 수준 변화 궤적을 이용하여 열화 상태를 판정할 수 있다. 도 24를 참조하면, 독출 전압의 변위에 대한 문턱 전압 산포 폭 수준 변화 궤적은 PE 사이클 횟수가 증가함에 따라서 초기 상태로부터 열화 상태로 변화된다. 즉, PE 사이클 횟수가 증가함에 따라서 독출 전압의 변위에 대한 문턱 전압 산포 폭 수준 변화 궤적은 화살표 방향으로 변화된다.
도 24는 동일한 독출 전압의 변위 포인트에서 PE 사이클 횟수가 증가함에 따라서 산포 폭 수준을 나타내는 (INF1+INF2) 값도 증가한다는 것을 보여준다. 즉, 동일한 독출 전압의 변위 포인트에서 PE 사이클 횟수가 증가함에 따라서 문턱 전압 산포 폭은 넓어진다. 그리고, 동일한 PE 사이클 횟수에서 독출 전압의 변위를 나타내는 (INF1-INF2) 값이 커질수록 문턱 전압 산포 폭도 넓어진다는 것도 보여준다. 도 24를 참조하면, 메모리 장치의 열화의 정도가 심해질수록 동일한 (INF1-INF2) 값에 대한 (INF1+INF2) 값이 증가하게 된다는 사실을 알 수 있다.
예로서, 사전 실험을 통하여 독출 전압의 변위에 따른 문터 전압 산포 폭의 수준이 어느 정도 미만인 경우에 에러 정정을 신뢰할 수 있는지 확인할 수 있다. 이와 같은 사전 실험을 통하여 웨어 레벨링 처리를 필요로 하는 독출 전압의 변위에 따른 문터 전압 산포 폭 수준의 기준 궤적을 찾아낼 수 있다. 예로서, 기준 궤적은 근사화된 함수로 나타낼 수 있다. 다른 예로서, 기준 궤적은 매핑 테이블로 나타낼 수도 있다. 예로서, 복수 개의 품질 레벨에 대응되는 복수 개의 기준 궤적들을 설정할 수도 있다.
제1열화 상태 결정부(12-4A)는 실험을 통하여 찾아낸 기준 궤적으로부터 제3정보(INF3)에 대응되는 문터 전압 산포 폭인 제1판정 기준 값(REF1)을 구한다. 예로서, 근사화된 함수에 제3정보(INF3)를 대입하여 제1판정 기준 값(REF1)을 구할 수 있다. 다른 예로서, 기준 궤적을 나타내는 매핑 테이블로부터 제3정보(INF3)에 대응되는 제1판정 기준 값(REF1)을 찾아낼 수도 있다.
제1열화 상태 결정부(12-4A)는 기준 궤적으로부터 찾아낸 제1판정 기준 값(REF1)과 제4정보(INF4)를 비교하여, 제4정보(INF4)가 제1판정 기준 값(REF1)보다 큰 경우에 제1열화 상태로 결정한다. 제1열화 상태 결정부(12-4A)에서 결정된 제1열화 상태에 대한 정보는 메모리 컨트롤러(10)의 CPU(11)로 전달된다.
도 8은 도 1의 메모리 컨트롤러(10)에 포함된 열화 상태 추정부(12)에 대한 다른 실시 예에 따른 상세 구성도이다.
도 8을 참조하면, 제2타입의 열화 상태 추정부(12B)는 에러 상태 판정부(12-1B), 제2카운팅부(12-2B), 제2품질 추정 정보 연산부(12-3B) 및 제2열화 상태 결정부(12-4B)를 포함한다.
에러 상태 판정부(12-1B)는 연 판정 디코딩 처리된 데이터와 경 판정 데이터(HD)를 비교하여 에러 정정된 비트를 검출하고, 검출된 에러 정정된 비트에 대응되는 신뢰성 데이터(RD)에 기초하여 스트롱 에러 비트에 해당되는지를 판정한다. 즉, 연 판정 디코딩 처리에 의하여 에러 정정된 데이터와 이에 대응되는 경 판정 데이터(HD)를 비트 단위로 비교하여 동일하지 않은 비트들을 검색한다. 이렇게 검색된 비트들이 에러 정정된 비트에 해당된다. 그리고, 에러 정정된 비트에 대응되는 신뢰성 데이터(RD)의 비트 값을 확인하여 "Strong" 상태를 나타내는 비트 값을 갖는 경우에 스트롱 에러 비트로 판정한다. 예로서, 도 23을 참조하면 에러 정정된 비트에 대응되는 신뢰성 데이터(RD)의 비트 값이 "1"인 경우에 스트롱 에러 비트로 판정한다.
제2카운팅부(12-2B)는 에러 상태 판정부(12-1B)에서 검출된 에러 정정된 비트들을 카운팅하여 C1을 산출하고, 스트롱 에러 비트로 판정된 에러 정정된 비트들을 카운팅하여 C2를 산출한다. 예로서, 페이지 사이즈 단위로 C1 및 C2를 산출할 수 있다. 다른 예로서, 블록 또는 섹터 사이즈 단위로 C1 및 C2를 산출할 수도 있다.
제2품질 추정 정보 연산부(12-3B)는 에러 정정된 비트들의 개수(C1)에 대한 스트롱 에러 비트로 판정된 에러 정정된 비트들의 개수(C2)의 비율을 연산하고, 연산된 결과를 제2타입의 품질 추정 정보(QEINF2)로서 출력한다. 예로서, 제2타입의 품질 추정 정보(QEINF2)를 C2/C1 연산 값으로 산출할 수 있다.
제2열화 상태 결정부(12-4B)는 제2품질 추정 정보 연산부(12-3B)에서 산출된 제2타입의 품질 추정 정보(QEINF2)와 제2판정 기준 값(REF2)을 비교하여, 제2타입의 품질 추정 정보(QEINF2)가 제2판정 기준 값(REF2)을 초과하는 경우에 제2열화 상태로 결정한다. 예로서, 제2판정 기준 값(REF2)은 사전 실험을 통하여 웨어 레벨링 처리를 필요로 하는 스트롱 에러 비트의 임계 비율로 결정할 수 있다. 제2열화 상태 결정부(12-4B)에서 결정된 제2열화 상태에 대한 정보는 메모리 컨트롤러(10)의 CPU(11)로 전달된다.
예로서, 도 1에 도시된 메모리 시스템(100)에서의 열화 상태 추정부(12)는 도 7에 도시된 제1타입의 열화 상태 추정부(12A) 또는 도 8에 도시된 제2타입의 열화 상태 추정부(12B) 중의 어느 하나를 포함할 수 있다.
다른 예로서, 메모리 시스템(100)에서의 열화 상태 추정부(12)는 제1타입의 열화 상태 추정부(12A) 및 제2타입의 열화 상태 추정부(12B)를 모두 포함할 수도 있다. 이 경우에, CPU(11)는 제1타입의 열화 상태 추정부(12A)에 의하여 1차적으로 열화 상태를 판정한 후에, 제1열화 상태로 판정되지 않으면 제2타입의 열화 상태 추정부(12B)를 판정하도록 메모리 시스템(100)을 제어할 수 있다.
도 9는 본 발명의 다른 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 9를 참조하면, 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 메모리 장치(1200)를 포함한다.
메모리 장치(1200)는 비휘발성 반도체 메모리 장치로 구현될 수 있으며, 구체적으로 플래시 메모리, PRAM(Phase change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 등으로 구현될 수 있다. 메모리 장치(1200)는 도 1에 도시된 메모리 장치(20)와 구성 요소가 실질적으로 동일하므로 중복된 설명은 피하기로 한다.
예로서, 메모리 장치(1200)를 플래시 메모리 등과 같은 비휘발성 반도체 메모리로 구현하는 경우에 메모리 시스템(1000)은 SSD(Solid State Drive)가 될 수 있다. 메모리 컨트롤러(1100)는 호스트로부터 수신되는 커맨드에 응답하여 메모리 장치(1200)에서의 소거, 쓰기 또는 독출 동작을 제어한다.
메모리 컨트롤러(1100)는 CPU(1110), 인코더(1120), 디코더(1130), RAM(Random Access Memory; 1140), 열화 상태 추정부(1150), 호스트 인터페이스(1160), 메모리 인터페이스(1170) 및 버스(1180)를 구비한다.
CPU(1110)는 버스(1180)를 통하여 인코더(1120), 디코더(1130), RAM(1140), 열화 상태 추정부(1150), 호스트 인터페이스(1160) 및 메모리 인터페이스(1170)와 전기적으로 접속된다.
버스(1180)는 메모리 컨트롤러(100)의 구성 수단들 간의 정보를 전송하는 전송로를 의미한다.
CPU(1110)는 메모리 시스템(1000)의 전반적인 동작을 제어한다. 세부적으로, 호스트로부터 수신되는 커맨드를 해독하고, 해독된 결과에 따른 동작을 수행하도록 메모리 시스템(1000)을 제어한다.
CPU(1110)는 리드(read) 동작 시에는 리드 커맨드 및 어드레스를 메모리 장치(1200)에 제공하고, 라이트(write) 동작 시에는 라이트 커맨드, 어드레스, 그리고 인코딩 처리된 코드워드를 메모리 장치(1200)에 제공한다. 그리고, CPU(1110)는 RAM(1140)에 저장된 메타 데이터를 이용하여 호스트로부터 수신되는 논리적 주소를 물리적 페이지 주소로 변환시키는 처리를 수행한다.
CPU(1110)는 도 10 ~ 도 21에 도시된 본 발명의 실시 예들에 따른 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법의 흐름도를 수행하도록 메모리 시스템(1000)을 제어한다.
CPU(1110)는 라이트 동작 시에는 호스트로부터 수신된 정보 워드를 인코더(1120)에서 인코딩 처리하고, 리드 동작 시에는 메모리 장치(1200)로부터 읽어낸 데이터를 디코더(1130)에서 디코딩 처리하도록 메모리 컨트롤러(1100)를 제어한다.
인코더(1120)는 호스트로부터 수신된 정보 워드에 저밀도 패리티 체크(LDPC; Low Density Parity Check) 코드에 의해 명시된 다수의 패리티 비트들을 첨부하여 코드워드를 생성한다.
디코더(1130)는 메모리 장치(1200)로부터 읽어낸 데이터를 코드워드 단위로 LDPC 디코딩 처리하여 정보 워드를 복원한다. 디코더(130)는 강 판정 디코딩(hard decision decoding) 동작 및 약 판정 디코딩(soft decision decoding) 동작을 선택적으로 수행할 수 있다. 예로서, 디코더(130)는 우선적으로 강 판정 디코딩 동작을 수행하여 에러 정정 처리를 수행한다. 그리고 나서, 강 판정 디코딩 동작에 의하여 에러 정정에 실패한 경우에 연 판정 디코딩 동작을 수행한다.
RAM(1140)에는 호스트로부터 전송된 데이터가 임시로 저장되거나 메모리 장치(1200)에서 독출된 데이터가 임시로 저장된다. 또한, RAM(1110)에는 메모리 장치(1200)로부터 독출된 메모리 시스템 제어에 필요한 데이터도 저장된다. 예로서, 메모리 시스템 제어에 필요한 데이터는 메타 데이터가 포함될 수 있다. RAM(1110)은 DRAM, SRAM 등으로 구현될 수 있다. 참고적으로, 메타 데이터(meta data)는 메모리 시스템(1000)을 관리하기 위한 정보가 포함될 수 있다. 관리 정보인 메타 데이터에는 논리적 어드레스(Logical Address)를 메모리 장치(1200)의 물리적 어드레스(Physical Address)로 변환시키는데 이용되는 매핑(mapping) 테이블 정보가 포함될 수 있다.
호스트 인터페이스(1160)는 메모리 시스템(1000)과 접속되는 호스트와의 데이터 교환 프로토콜을 구비하고 메모리 시스템(1000)과 호스트를 상호 연결한다. 호스트 인터페이스(1160)는 ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Unix File System) 인터페이스로 구현할 수 있다. 그러나 이는 예시일 뿐 이에 제한되는 것은 아니다. 세부적으로, 호스트 인터페이스(1160)는 CPU(1110)의 제어에 따라서 호스트와 커맨드, 어드레스 및 데이터를 교환할 수 있다.
메모리 인터페이스(1170)는 메모리 장치(1200)와 전기적으로 연결되어 있다. 메모리 인터페이스(1170)는 CPU(1110)의 제어에 따라서 메모리 장치(1200)와 커맨드, 어드레스 및 데이터를 교환한다. 메모리 인터페이스(1170)는 NAND 플래시 메모리 또는 NOR 플래시 메모리를 지원하도록 구성될 수 있다. 메모리 인터페이스(1170)는 복수 개의 채널들을 통하여 소프트웨어 및 하드웨어 인터리브 동작들이 선택적으로 수행되도록 구성될 수도 있다.
열화 상태 추정부(1150)는 도 1에 도시된 열화 상태 추정부(12)와 실질적으로 동일한 구성 요소로서, 위에서 설명한 열화 상태 추정부(12)와 동일한 동작을 수행하므로 중복된 설명은 피하기로 한다.
그러면, CPU(1110)의 제어 동작에 따라서 수행되는 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법에 대하여 도 10 ~ 도 21의 흐름도를 참조하여 상세히 설명하기로 한다.
우선, 도 10의 흐름도를 참조하여 메모리 시스템(1000)에서 수행되는 본 발명의 실시 예에 따른 메모리 장치의 열화 상태 추정 방법을 설명하기로 한다.
단계 S110에서, CPU(1110)는 연 판정 독출 동작 모드에서 메모리 셀들에 대한 문턱 전압 산포들 사이의 적어도 하나의 골에 대하여 복수의 독출 전압들을 각각 적용하여 메모리 셀 어레이의 선택된 워드라인으로부터 데이터를 읽어내도록 메모리 시스템(1000)을 제어한다. 예로서, 연 판정 독출 동작 모드에서 적용되는 복수의 독출 전압은 경 판정을 위한 제1독출 전압(Vr1), 제1독출 전압(Vr1)을 중심으로 초기 설정된 제1오프셋 전압(△V1)만큼 감소된 제2독출 전압(Vr1-△V1), 제1독출 전압(Vr1)을 중심으로 초기 설정된 제2오프셋 전압(△V2)만큼 증가된 제3독출 전압(Vr1+△V2)이 포함될 수 있다.
단계 S120에서, CPU(1110)는 선택된 워드라인으로부터 읽어낸 데이터를 이용하여 문턱 전압 산포들의 상태를 나타내는 품질 추정 정보를 생성시키는 동작을 수행하도록 메모리 시스템(1000)을 제어한다. 예로서, 연 판정 데이터를 생성시키기 위하여 설정한 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간별로 각각에 포함되는 메모리 셀들의 개수를 산출하고, 산출된 문턱 전압 구간별 메모리 셀들의 개수를 이용하여 품질 추정 정보를 생성시킬 수 있다. 다른 예로서, 연 판정 데이터를 이용한 디코딩 처리 결과에 기초하여 연 판정 데이터를 생성시키기 위한 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간들에서의 에러 정정된 비트들을 검출하고, 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 에러 정정된 비트들의 개수들에 기초하여 품질 추정 정보를 생성시킬 수 있다.
단계 S130에서, CPU(1110)는 품질 추정 정보를 이용하여 저장 영역에 대한 열화 상태를 판정하도록 메모리 시스템(1000)을 제어한다.
도 11은 도 10에 도시된 품질 추정 정보를 생성시키는 단계(S120)에 대한 일 실시 예에 따른 세부 흐름도이다.
도 11에 도시된 본 발명의 일실시 예에 따른 품질 추정 정보를 생성시키는 단계(S120A)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S120-1A에서, CPU(1110)는 복수의 독출 전압들을 각각 적용하여 메모리 셀 어레이의 선택된 워드라인으로부터 읽어낸 데이터로부터 복수의 독출 전압들에 의하여 구획된 문턱 전압 구간들에 각각 속하는 메모리 셀들의 개수를 산출하도록 메모리 시스템(1000)을 제어한다.
단계 S120-2A에서, CPU(1110)는 산출된 문턱 전압 구간 별 메모리 셀들의 개수에 기초하여 독출 전압의 변위 및 문턱 전압 산포 폭 수준을 나타내는 제1타입의 품질 추정 정보(QEINF1)를 연산하도록 메모리 시스템(1000)을 제어한다.
도 12는 도 10에 도시된 품질 추정 정보를 생성시키는 단계(S120)에 대한 다른 실시 예에 따른 세부 흐름도이다.
도 12에 도시된 본 발명의 일실시 예에 따른 품질 추정 정보를 생성시키는 단계(S120B)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S120-1B에서, CPU(1110)는 경 판정을 위한 제1독출 전압(Vr1)과 제1독출 전압(Vr1)을 중심으로 초기 설정된 제1오프셋 전압(△V1)만큼 감소된 제2독출 전압 사이의 구간에 속하는 문턱 전압(Vth)을 갖는 메모리 셀들을 카운팅하고, 카운팅 결과로서 제1정보(INF1)를 생성시키도록 메모리 시스템(1000)을 제어한다. 즉, 연 판정 독출 동작에서 읽어낸 경 판정 데이터(HD) 및 신뢰성 데이터(RD)를 이용하여 문턱 전압(Vth)이 (Vr1-△V1)<Vth≤Vr1 인 조건을 만족하는 메모리 셀들을 카운팅할 수 있다. 예로서, 도 23에서 (Vr1-△V1)<Vth≤Vr1 인 조건을 만족하는 문턱 전압 구간은 A가 되며, 경 판정 데이터(HD)가 "1"이고 신뢰성 데이터(RD)가 "0"으로 읽혀진 메모리 셀들을 카운팅하여 제1정보(INF1)를 생성시킬 수 있다. 예로서, 제1정보(INF1)는 섹터, 페이지 또는 블록 사이즈 단위로 카운팅하여 생성시킬 수 있다.
단계 S120-2B에서, CPU(1110)는 경 판정을 위한 제1독출 전압(Vr1)과 제1독출 전압(Vr1)을 중심으로 초기 설정된 제2오프셋 전압(△V2)만큼 증가된 제3독출 전압 사이의 구간에 속하는 문턱 전압(Vth)을 갖는 메모리 셀들을 카운팅하고, 카운팅 결과로서 제2정보(INF2)를 생성시키도록 메모리 시스템(1000)을 제어한다. 즉, 연 판정 독출 동작에서 읽어낸 경 판정 데이터(HD) 및 신뢰성 데이터(RD)를 이용하여 문턱 전압(Vth)이 Vr1<Vth≤(Vr1+△V2) 인 조건을 만족하는 메모리 셀들을 카운팅할 수 있다. 예로서, 도 23에서 Vr1<Vth≤(Vr1+△V2) 인 조건을 만족하는 문턱 전압 구간은 B가 되며, 경 판정 데이터(HD)가 "0"이고 신뢰성 데이터(RD)가 "0"으로 읽혀진 메모리 셀들을 카운팅하여 제2정보(INF2)를 생성시킬 수 있다. 예로서, 제1정보(INF1)는 섹터, 페이지 또는 블록 사이즈 단위로 카운팅하여 생성시킬 수 있다.
단계 S120-3B에서, CPU(1110)는 제1정보(INF1) 및 제2정보(INF2)에 기초하여 제1타입의 품질 추정 정보(QEINF1)를 연산하도록 메모리 시스템(1000)을 제어한다.
도 13은 도 12에 도시된 제1타입의 품질 추정 정보 연산 단계(S120-3B)에 대한 일 실시 예에 따른 세부 흐름도이다.
도 13에 도시된 본 발명의 일실시 예에 따른 제1타입의 품질 추정 정보 연산 단계(S120-3B)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S120-31B에서, CPU(1110)는 제1정보(INF1)와 제2정보(INF2)의 차를 연산한 제3정보(INF3)를 생성시키도록 메모리 시스템(1000)을 제어한다.
단계 S120-32B에서, CPU(1110)는 제1정보(INF1)와 제2정보(INF2)의 합을 연산한 제4정보(INF4)를 생성시키도록 메모리 시스템(1000)을 제어한다.
단계 S120-33B에서, CPU(1110)는 제1타입의 품질 추정 정보(QEINF1)로서 (INF3, INF4)를 생성시키도록 메모리 시스템(1000)을 제어한다.
도 14는 도 10에 도시된 열화 상태를 판정하는 단계(S130)에 대한 일 실시 예에 따른 세부 흐름도이다.
도 14에 도시된 본 발명의 일실시 예에 따른 열화 상태를 판정하는 단계(S130A)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S130-1A에서, CPU(1110)는 제1타입의 품질 추정 정보(QEINF1)에 포함된 제3정보(INF3)에 대응되는 문턱 전압 산포 수준의 제1판정 기준 값(REF1)을 산출하도록 메모리 시스템(1000)을 제어한다. 제1판정 기준 값(REF1)을 산출하는 동작에 대해서는 도 24에서 상세히 설명하였으므로, 중복적인 설명은 피하기로 한다.
단계 S130-2A에서, CPU(1110)는 제1타입의 품질 추정 정보(QEINF1)에 포함된 제4정보(INF4)와 제1판정 기준 값(REF1)을 비교하도록 메모리 시스템(1000)을 제어한다.
단계 S130-3A에서, CPU(1110)는 단계 S130-2A에서의 비교 결과 제4정보(INF4)가 제1판정 기준 값(REF1)을 초과하는 경우에 제1열화 상태로 결정하도록 시스템(1000)을 제어한다. 즉, 제1타입의 품질 추정 정보(QEINF1)를 생성시킨 데이터를 읽어낸 메모리 장치(1200)의 저장 영역을 제1열화 상태로 판정한다. 예로서, 열화 상태를 판정하는 저장 영역은 블록 단위 또는 페이지 단위로 결정할 수 있다.
도 15는 도 10에 도시된 품질 추정 정보를 생성시키는 단계(S120)에 대한 또 다른 실시 예에 따른 세부 흐름도이다.
도 15에 도시된 본 발명의 또 다른 실시 예에 따른 품질 추정 정보를 생성시키는 단계(S120C)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S120-1C에서, CPU(1110)는 연 판정 독출 동작에 의하여 메모리 장치(1200)로부터 독출된 데이터를 이용하여 연 판정 디코딩 동작을 수행하도록 메모리 시스템(1000)을 제어한다. 연 판정 디코딩 동작에서 디코더(1130)는 연 판정 독출 동작에 의하여 메모리 장치(1200)로부터 읽어낸 경 판정 데이터(HD) 및 신뢰성 데이터(RD)를 이용하여 에러 검출 및 정정 처리를 수행한다.
단계 S120-2C에서, CPU(1110)는 연 판정 디코딩 처리된 결과에 기초하여 에러 정정된 비트들 각각에 대한 신뢰성 수준을 판정하도록 메모리 시스템(1000)을 제어한다. 예로서, CPU(1110)의 제어에 따라서 열화 상태 추정부(1150)는 연 판정 디코딩 처리된 결과와 경 판정 데이터(HD)를 비교하여 에러 정정된 비트들을 검색하고, 신뢰성 데이터(RD)를 이용하여 검색된 에러 정정된 비트들 각각에 대한 신뢰성 수준을 판정할 수 있다.
단계 S120-3C에서, CPU(1110)는 에러 정정된 비트들에 대하여 판정된 신뢰성 수준에 기초하여 제2타입의 품질 추정 정보(QEINF2)를 연산하도록 메모리 시스템(1000)을 제어한다.
도 16은 도 15에 도시된 연 판정 디코딩 처리 단계(S120-1C)에 대한 일 실시 예에 따른 세부 흐름도이다.
도 16에 도시된 본 발명의 일 실시 예에 따른 연 판정 디코딩 처리 단계(S120-1C)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S120-11C에서, CPU(1110)는 메모리 장치(1200)로부터 연 판정 독출 동작에 의하여 읽어낸 경 판정 데이터 및 신뢰성 데이터를 이용하여 연 판정 데이터를 생성시키도록 메모리 시스템(1000)을 제어한다. 예로서, 연 판정 데이터는 경 판정 데이터 및 신뢰성 데이터에 기초하여 연산된 확률 정보로 생성시킬 수 있다.
단계 S120-12C에서, CPU(1110)의 제어에 따라 디코더(1130)는 연 판정 데이터에 기초하여 에러 검출 및 정정 처리를 수행한다. 예로서, 디코더(1130)는 LDPC 디코딩 처리 동작에 의하여 에러 검출 및 정정 처리를 수행할 수 있다.
도 17은 도 15에 도시된 신뢰성 수준 판정 단계(S120-2C)에 대한 일 실시 예에 따른 세부 흐름도이다.
도 17에 도시된 본 발명의 일 실시 예에 따른 신뢰성 수준 판정 단계(S120-2C)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S120-21C에서, CPU(1110)는 연 판정 디코딩 처리된 데이터와 경 판정 데이터(HD)를 비교하여 에러 정정된 비트를 검출하도록 메모리 시스템(1000)을 제어한다. 예로서, 연 판정 디코딩 처리에 의하여 에러 정정된 데이터의 비트들과 이에 대응되는 경 판정 데이터(HD)의 비트들을 비트 단위로 비교하여 동일하지 않은 비트들을 에러 정정된 비트로서 검출할 수 있다.
단계 S120-22C에서, CPU(1110)는 신뢰성 데이터(RD)를 이용하여 에러 정정된 비트가 스트롱 에러 비트인지를 판정하도록 메모리 시스템(1000)을 제어한다. 즉, 에러 정정된 비트에 대응되는 신뢰성 데이터(RD)의 비트 값을 확인하여 "Strong" 상태를 나타내는 비트 값을 갖는 경우에 스트롱 에러 비트로 판정한다. 예로서, 도 23을 참조하면 에러 정정된 비트에 대응되는 신뢰성 데이터의 비트 값이 "1"인 경우에 스트롱 에러 비트로 판정한다.
도 18은 도 15에 도시된 제2타입의 품질 추정 정보 연산 단계(S120-3C)에 대한 일 실시 예에 따른 세부 흐름도이다.
도 18에 도시된 본 발명의 일 실시 예에 따른 제2타입의 품질 추정 정보 연산 단계(S120-3C)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S120-31C에서, CPU(1110)는 연 판정 디코딩 처리 과정에서 에러 정정된 비트 개수(C1)를 산출하도록 메모리 시스템(1000)을 제어한다. 예로서, 에러 정정된 비트 개수(C1)는 섹터 단위, 페이지 단위 또는 블록 단위로 산출할 수 있다.
단계 S120-32C에서, CPU(1110)는 에러 정정된 비트들 중에서 스트롱 에러 비트의 개수(C2)를 산출하도록 메모리 시스템(1000)을 제어한다. 예로서, 도 23을 참조하면 에러 정정된 비트에 대응되는 신뢰성 데이터의 비트 값이 "1"인 경우에 스트롱 에러 비트로 판정할 수 있으며, 스트롱 에러 비트로 판정된 비트들을 카운팅하여 스트롱 에러 비트의 개수(C2)를 산출할 수 있다.
단계 S120-33C에서, CPU(1110)는 에러 정정된 비트들의 개수(C1)에 대한 스트롱 에러 비트로 판정된 에러 정정된 비트들의 개수(C2)의 비율을 연산하고, 연산된 결과를 제2타입의 품질 추정 정보(QEINF2)로서 산출하도록 메모리 시스템(1000)을 제어한다.
도 19는 도 10에 도시된 열화 상태를 판정하는 단계(S130)에 대한 다른 실시 예에 따른 세부 흐름도이다.
도 19에 도시된 본 발명의 다른 실시 예에 따른 열화 상태를 판정하는 단계(S130B)의 세부 흐름도에 따른 동작은 다음과 같다.
단계 S130-1B에서, CPU(1110)는 제2타입의 품질 추정 정보(QEINF2)와 제2판정 기준 값(REF2)을 비교하도록 메모리 시스템(1000)을 제어한다.
단계 S130-2B에서, CPU(1110)는 제2타입의 품질 추정 정보(QEINF2)가 제2판정 기준 값(REF2)을 초과하는 경우에 제2열화 상태로 결정하도록 메모리 시스템(1000)을 제어한다.
도 20은 본 발명의 일 실시 예에 따른 메모리 시스템에서의 웨어 레벨링 방법의 흐름도이다.
단계 S210에서, CPU(1110)는 연 판정 데이터를 생성시키기 위하여 설정한 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간별로 각각에 포함되는 메모리 셀들의 개수를 산출하도록 메모리 시스템(1000)을 제어한다. 예로서, 도 23에 도시된 바와 같이, 강 판정 데이터(HD) 및 신뢰성 데이터(RD)를 이용하여 메모리 셀들에 대한 문턱 전압 산포들 사이의 적어도 하나의 골에 대하여 구간 A 및 구간 B에 속하는 문턱 전압을 갖는 메모리 셀들의 개수를 각각 산출할 수 있다.
단계 S220에서, CPU(1110)는 단계 S210에서 산출된 문턱 전압 구간별 메모리 셀들의 개수를 이용하여 제1타입의 품질 추정 정보(QEINF1)를 생성시키고, 제1타입의 품질 추정 정보(QEINF1)에 기초하여 제1열화 상태를 판정하도록 메모리 시스템(1000)을 제어한다. 예로서, 제1타입의 품질 추정 정보(QEINF1)를 생성시키는 동작 및 제1열화 상태를 판정하는 동작은 위에서 설명한 도 11 ~ 도 14의 흐름도에 따라 수행할 수 있다.
단계 S230에서, CPU(1110)는 연 판정 데이터를 이용한 디코딩 처리 결과에 기초하여 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간들에서의 에러 정정된 비트들을 검출하도록 메모리 시스템(1000)을 제어한다. 예로서, 연 판정 디코딩 처리에 의하여 에러 정정된 데이터의 비트들과 이에 대응되는 경 판정 데이터의 비트들을 비트 단위로 비교하여 동일하지 않은 비트들을 에러 정정된 비트로서 검출할 수 있다. 그리고, 신뢰성 데이터를 이용하여 에러 정정된 비트들이 "Strong" 상태를 나타내는 문턱 전압 구간에 포함되는지 또는 "Weak" 상태를 나타내는 문턱 전압 구간에 포함되는지를 판단할 수 있다.
단계 S240에서, CPU(1110)는 에러 정정된 비트들 각각의 신뢰성 수준을 판정하고, 판정 결과에 기초하여 제2타입의 품질 추정 정보를 생성시키고 제2타입의 품질 추정 정보를 이용하여 제2열화 상태를 판정하도록 메모리 시스템(1000)을 제어한다. 예로서, 제2타입의 품질 추정 정보의 생성 및 제2열화 상태의 판정 동작은 각각 도 18 및 도 19의 흐름도에 따라 수행할 수 있다.
단계 S250에서, CPU(1110)는 제1열화 상태 및 제2열화 상태 중의 적어도 하나의 열화 상태로 결정되는 저장 영역에 저장된 데이터를 임계 수준 미만의 열화 상태를 갖는 메모리 장치(1200)의 다른 저장 영역으로 옮겨 쓰도록 메모리 시스템(1000)을 제어한다. 예로서, 옮겨 쓰기 동작은 메모리 시스템(1000)이 아이들 상태(idle state)에 있을 때 수행할 수 있다. 즉, 호스트로부터 수신된 커맨드들에 대한 동작을 완료하고 나서 메모리 시스템이 대기 상태에 있을 때 옮겨 쓰기 동작을 수행할 수 있다.
도 21은 본 발명의 다른 실시 예에 따른 메모리 시스템에서의 웨어 레벨링 방법의 흐름도이다.
단계 S310에서, CPU(1110)는 연 판정 데이터를 생성시키기 위하여 설정한 복수의 독출 전압들을 적용하여 메모리 장치(1200)로부터 데이터 읽기 동작을 수행하도록 메모리 시스템(1000)을 제어한다.
단계 S320에서, CPU(1110)는 연 판정 독출 동작에서 메모리 장치(1200)로부터 읽어낸 데이터를 이용하여 제1타입의 품질 추정 정보(QEINF1=(INF3, INF4))를 생성시키도록 메모리 시스템(1000)을 제어한다. 예로서, 제1타입의 품질 추정 정보(QEINF1)를 생성시키는 동작은 위에서 설명한 도 12 ~ 도 13의 흐름도에 따라 수행할 수 있다.
단계 S330에서, CPU(1110)는 제1타입의 품질 추정 정보(QEINF1)에 기초하여 제1판정 기준 값(REF1)을 산출하도록 메모리 시스템(1000)을 제어한다. 예로서, 도 13의 단계 S130-1A에서 설명한 바와 같은 방식으로 제1판정 기준 값(REF1)을 산출할 수 있다.
단계 S340에서, CPU(1110)는 제1타입의 품질 추정 정보(QEINF1)에 포함된 제4정보(INF4)와 제1판정 기준 값(REF1)을 비교하도록 메모리 시스템(1000)을 제어한다.
단계 S350에서, CPU(1110)는 단계 S340의 비교 결과 제4정보(INF4)가 제1판정 기준 값(REF1)을 초과하는 경우에 제1열화 상태로 판정한다.
단계 S360에서, CPU(1110)는 단계 S340의 비교 결과 제4정보(INF4)가 제1판정 기준 값(REF1)을 초과하지 않는 경우에, 연 판정 독출 동작에 의하여 읽어낸 데이터 및 연 판정 디코딩 처리 결과를 이용하여 제2타입의 품질 추정 정보(QEINF2)를 생성시키도록 메모리 시스템(1000)을 제어한다. 예로서, 위에서 설명한 도 15 ~ 도 18의 흐름도에 따라 제2타입의 품질 추정 정보(QEINF2)를 생성시키는 동작을 수행할 수 있다.
단계 S370에서, CPU(1110)는 제2타입의 품질 추정 정보(QEINF2)와 제2판정 기준 값(REF2)을 비교하도록 메모리 시스템(1000)을 제어한다.
단계 S380에서, CPU(1110)는 단계 S370의 비교 결과 제2타입의 품질 추정 정보(QEINF2)가 제2판정 기준 값(REF2)을 초과하는 경우에 제2열화 상태로 판정하도록 메모리 시스템(1000)을 제어한다.
단계 S390에서, CPU(1110)는 제1열화 상태 및 제2열화 상태 중의 적어도 하나의 열화 상태로 결정되는 저장 영역에 저장된 데이터를 임계 수준 미만의 열화 상태를 갖는 메모리 장치(1200)의 다른 저장 영역으로 옮겨 쓰도록 메모리 시스템(1000)을 제어한다.
도 25는 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 25를 참조하면, 메모리 카드 시스템(2000)은 호스트(2100) 및 메모리 카드(2200)를 포함할 수 있다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속부(2120)를 포함할 수 있다. 메모리 카드(2200)는 카드 접속부(2210), 카드 컨트롤러(2220) 및 메모리 장치(2230)를 포함할 수 있다.
호스트(2100)는 메모리 카드(2200)에 데이터를 쓰거나, 메모리 카드(2200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(2110)는 커맨드(CMD), 호스트(2100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(2120)를 통해 메모리 카드(2200)로 전송할 수 있다.
카드 컨트롤러(2220)는 카드 접속부(2210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(2230)에 저장할 수 있다. 메모리 장치(2230)는 호스트(2100)로부터 전송된 데이터를 저장할 수 있다. 이때, 카드 컨트롤러(2220)는 도 1 또는 도 9에 도시된 바와 같은 메모리 컨트롤러(10 또는 1100)로 구현할 수 있다.
메모리 카드(2200)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 26은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 26을 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), RAM(3200), 입출력 장치(3300), 전원 장치(3400) 및 메모리 시스템(1000)을 포함할 수 있다. 한편, 도 26에는 도시되지 않았지만, 컴퓨팅 시스템(3000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(3000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(3100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(3100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(3500)를 통하여 RAM(3200), 입출력 장치(3300) 및 메모리 시스템(1000)과 통신을 수행할 수 있다. 실시 예에 따라, 프로세서(3100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(3200)는 컴퓨팅 시스템(3000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(3200)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(3300)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(3400)는 컴퓨팅 시스템(3000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 27은 본 발명의 실시 예들에 따른 메모리 시스템을 SSD에 적용한 예를 나타내는 블록도이다.
도 27을 참조하면, SSD 시스템(4000)은 호스트(4100) 및 SSD(4200)를 포함할 수 있다.SSD(4200)는 신호 커넥터(signal connector)(4211)를 통해 호스트(4100)와 신호를 주고 받으며, 전원 커넥터(power connector)(4221)를 통해 전원을 입력 받는다. SSD(4200)는 SSD 컨트롤러(4210), 보조 전원 장치(4220) 및 복수의 메모리 장치들(4230, 4240, 4250)을 포함할 수 있다. 이때, SSD 컨트롤러(4210)는 도 1 또는 도 9에 도시된 바와 같은 메모리 컨트롤러(10 또는 1100)로 구현할 수 있다.
도 28은 도 27의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 28을 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(5000)은 네트워크(5200)를 통해 연결되는 서버 시스템(5100) 및 다수의 단말들(5300, 5400, 5500)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(5100)은 네트워크(5200)에 연결되는 다수의 단말들(5300, 5400, 5500)로부터 수신되는 요청을 처리하는 서버(5110) 및 단말들(5300, 5400, 5500)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD(5120)를 포함할 수 있다. 이때, SSD(5120)는 도 27의 SSD(4000)일 수 있다.
한편, 상기에서 설명된 본 발명에 따른 플래시 메모리 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic MetricQuad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100, 1000 : 메모리 시스템 10, 1100 : 메모리 컨트롤러
20, 1200 : 메모리 장치 11, 1110 : CPU
12, 1150 : 열화 상태 추정부 1120 : 인코더
1130 : 디코더 1140 : RAM
1160 : 호스트 인터페이스 1170 : 메모리 인터페이스
1180 : 버스 21 : 메모리 셀 어레이
22 : 제어 로직 23 : 전압 발생기
24 : 로우 디코더 25 : 페이지 버퍼

Claims (10)

  1. 메모리 셀들에 대한 문턱 전압 산포들 사이의 적어도 하나의 골에 대하여 복수의 독출 전압들을 각각 적용하여 메모리 셀 어레이의 선택된 워드라인으로부터 데이터를 읽어내는 단계;
    상기 선택된 워드라인으로부터 읽어낸 데이터를 이용하여 문턱 전압 산포들의 상태를 나타내는 품질 추정 정보를 생성시키는 단계; 및
    상기 생성된 품질 추정 정보에 기초하여 상기 선택된 워드라인이 포함된 저장 영역에 대한 열화 상태를 판정하는 단계를 포함함을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  2. 제1항에 있어서, 상기 복수의 독출 전압들은 연 판정 데이터를 생성시키기 위하여 설정된 독출 전압들을 포함함을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  3. 제1항에 있어서, 상기 품질 추정 정보를 생성시키는 단계는
    경 판정을 위한 제1독출 전압과 상기 제1독출 전압을 중심으로 초기 설정된 제1오프셋 전압만큼 감소된 제2독출 전압 사이의 구간에 속하는 문턱 전압을 갖는 메모리 셀들의 개수를 나타내는 제1정보를 생성시키는 단계;
    상기 제1독출 전압과 상기 제1독출 전압을 중심으로 초기 설정된 제2오프셋 전압만큼 증가된 제3독출 전압 사이의 구간에 속하는 문턱 전압을 갖는 메모리 셀들의 개수를 나타내는 제2정보를 생성시키는 단계; 및
    상기 제1정보 및 제2정보에 기초하여 독출 전압의 변위 및 문턱 전압 산포 폭 수준을 나타내는 제1타입의 품질 추정 정보를 연산하는 단계를 포함함을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  4. 제3항에 있어서, 상기 제1타입의 품질 추정 정보를 연산하는 단계는
    상기 제1정보와 제2정보의 차를 연산한 제3정보를 생성시키는 단계; 및
    상기 제1정보와 제2정보의 합을 연산한 제4정보를 생성시키는 단계를 포함하고, 상기 제1타입의 품질 추정 정보는 상기 제3정보 및 상기 제4정보를 포함함을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  5. 제1항에 있어서, 상기 열화 상태를 판정하는 단계는
    상기 품질 추정 정보에 포함된 독출 전압의 변위에 대한 문턱 전압 산포 수준의 제1판정 기준 값을 산출하는 단계;
    상기 제1판정 기준 값과 상기 품질 추정 정보에 포함된 문턱 전압 산포 수준을 비교하는 단계; 및
    상기 비교 결과 상기 품질 추정 정보에 포함된 문턱 전압 산포 수준이 상기 제1판정 기준 값을 초과하는 경우에 제1열화 상태로 결정하는 단계를 포함함을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  6. 제1항에 있어서, 상기 품질 추정 정보를 생성시키는 단계는
    상기 선택된 워드라인으로부터 읽어낸 데이터를 이용하여 연 판정 디코딩 처리를 수행하는 단계;
    상기 연 판정 디코딩 처리된 결과에 기초하여 에러 정정된 비트들 각각에 대한 신뢰성 수준을 판정하는 단계; 및
    상기 판정된 신뢰성 수준에 기초하여 제2타입의 품질 추정 정보를 연산하는 단계를 포함함을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  7. 제6항에 있어서, 상기 제2타입의 품질 추정 정보를 연산하는 단계는
    연 판정 디코딩 처리에 의하여 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 비트들의 개수에 기초하여 상기 제2타입의 품질 추정 정보를 연산하는 것을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  8. 제1항에 있어서, 상기 열화 상태를 판정하는 단계는
    상기 품질 추정 정보와 초기 설정된 제2판정 기준 값을 비교하는 단계; 및
    상기 비교 결과 상기 품질 추정 정보가 상기 제2판정 기준 값을 초과하는 경우에 제2열화 상태로 판정하는 단계를 포함하고, 상기 품질 추정 정보는 연 판정 디코딩 처리에 의하여 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 비트들의 개수에 기초하여 생성되는 제2타입의 품질 추정 정보를 포함함을 특징으로 하는 메모리 장치의 열화 상태 추정 방법.
  9. 연 판정 데이터를 생성시키기 위하여 설정한 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간별로 각각에 포함되는 메모리 셀들의 개수를 산출하는 단계;
    상기 산출된 문턱 전압 구간별 메모리 셀들의 개수를 이용하여 산출된 독출 전압의 변위에 따른 문턱 전압 산포 폭 수준이 제1판정 기준 값을 초과하는 경우에 제1열화 상태로 결정하는 단계;
    상기 연 판정 데이터를 이용한 디코딩 처리 결과에 기초하여 상기 복수의 독출 전압들에 의하여 구획되는 문턱 전압 구간들에서의 에러 정정된 비트들을 검출하는 단계;
    상기 검출된 에러 정정된 비트들 중에서 상기 복수의 독출 전압들의 최소 레벨 및 최대 레벨 사이의 구간에 포함되지 않는 문턱 전압을 갖는 메모리 셀에 대응되는 에러 정정된 비트들의 개수가 제2판정 기준 값을 초과하는 경우에 제2열화 상태로 결정하는 단계; 및
    상기 제1열화 상태 및 제2열화 상태 중의 적어도 하나의 열화 상태로 결정되는 저장 영역에 저장된 데이터를 임계 수준 미만의 열화 상태를 갖는 다른 저장 영역으로 옮겨 쓰는 단계를 포함함을 특징으로 하는 메모리 시스템에서의 웨어 레벨링 방법.
  10. 제9항에 있어서, 상기 제1열화 상태로 결정하는 단계는
    상기 산출된 문턱 전압 구간 별 메모리 셀들의 개수에 기초하여 독출 전압의 변위 및 문턱 전압 산포 폭 수준을 나타내는 제1타입의 품질 추정 정보를 연산하는 단계;
    상기 제1타입의 품질 추정 정보에 포함된 독출 전압의 변위에 대응되는 문턱 전압 산포 수준의 제1판정 기준 값을 산출하는 단계;
    상기 제1판정 기준 값과 상기 제1타입의 품질 추정 정보에 포함된 문턱 전압 산포 수준을 비교하는 단계; 및
    상기 비교 결과 상기 제1타입의 품질 추정 정보에 포함된 문턱 전압 산포 수준이 상기 제1판정 기준 값을 초과하는 경우에 제1열화 상태로 결정하는 단계를 포함함을 특징으로 하는 메모리 시스템에서의 웨어 레벨링 방법.
KR1020130094886A 2013-08-09 2013-08-09 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법 KR102065664B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130094886A KR102065664B1 (ko) 2013-08-09 2013-08-09 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법
US14/446,347 US9324420B2 (en) 2013-08-09 2014-07-30 Method of estimating deterioration state of memory device and related method of wear leveling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130094886A KR102065664B1 (ko) 2013-08-09 2013-08-09 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법

Publications (2)

Publication Number Publication Date
KR20150018921A KR20150018921A (ko) 2015-02-25
KR102065664B1 true KR102065664B1 (ko) 2020-01-13

Family

ID=52448544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130094886A KR102065664B1 (ko) 2013-08-09 2013-08-09 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법

Country Status (2)

Country Link
US (1) US9324420B2 (ko)
KR (1) KR102065664B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868647B2 (en) 2021-02-26 2024-01-09 Samsung Electronics Co., Ltd. Nonvolatile memory device, with valley search for threshold voltage, memory controller, and reading method of storage device including the same

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572489B (zh) * 2013-10-23 2019-12-24 深圳市腾讯计算机系统有限公司 磨损均衡方法及装置
US20160179428A1 (en) * 2014-12-22 2016-06-23 Sandisk Technologies Inc. Dynamic programming adjustments in memory for non-critical or low power mode tasks
TWI562152B (en) * 2015-05-29 2016-12-11 Phison Electronics Corp Decoding method, memory storage device and memory control circuit unit
CN106297883B (zh) * 2015-06-05 2020-01-07 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
US10180876B2 (en) * 2015-08-04 2019-01-15 Toshiba Memory Corporation Memory controller and semiconductor memory device
KR102589259B1 (ko) * 2016-06-20 2023-10-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20180017608A (ko) * 2016-08-10 2018-02-21 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR102545698B1 (ko) * 2016-09-27 2023-06-19 삼성전자주식회사 데이터 저장 시스템
KR102643916B1 (ko) * 2016-10-18 2024-03-08 삼성전자주식회사 스토리지 장치, 메모리 시스템, 및 그것의 읽기 전압 결정 방법
US10222996B2 (en) * 2017-02-07 2019-03-05 Western Digital Technologies, Inc. Read operation and soft decoding timing
KR102302187B1 (ko) * 2017-03-13 2021-09-14 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치
US11237908B2 (en) 2017-03-29 2022-02-01 SK Hynix Inc. Memory system and operating method thereof
KR20180110412A (ko) 2017-03-29 2018-10-10 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR102386703B1 (ko) * 2017-09-13 2022-04-14 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
CN108735253B (zh) * 2017-04-20 2022-06-21 三星电子株式会社 非易失性存储器存储系统
US10621038B2 (en) * 2017-08-08 2020-04-14 Silicon Motion, Inc. Decoding method, associated flash memory controller and electronic device
KR102443034B1 (ko) * 2018-01-10 2022-09-14 삼성전자주식회사 메모리 장치
US11682463B2 (en) 2018-01-10 2023-06-20 Samsung Electronics Co., Ltd. Memory device
KR102470726B1 (ko) * 2018-03-14 2022-11-25 삼성전자주식회사 비휘발성 메모리 장치
TWI649754B (zh) * 2018-04-16 2019-02-01 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US10741256B2 (en) * 2018-09-18 2020-08-11 Western Digital Technologies, Inc. Data storage systems and methods for improved recovery after a write abort event
TWI672702B (zh) * 2018-09-28 2019-09-21 衡宇科技股份有限公司 訓練人工智慧估測儲存裝置的感測電壓的方法
KR102610821B1 (ko) 2018-11-15 2023-12-06 삼성전자주식회사 내구성 저하를 판단하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법
US10573393B1 (en) * 2018-11-23 2020-02-25 Storart Technology(Shenzhen) Co., Ltd. Method for detecting storing states of solid state storage device
KR102601152B1 (ko) * 2019-05-10 2023-11-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20210066630A (ko) 2019-11-28 2021-06-07 삼성전자주식회사 스토리지 장치, 및 상기 스토리지 장치의 동작 방법
US11194646B2 (en) * 2019-12-03 2021-12-07 Micron Technology, Inc. Regression-based calibration and scanning of data units
KR102491652B1 (ko) 2021-09-17 2023-01-27 삼성전자주식회사 산포 타입을 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131809A1 (en) 2007-12-05 2010-05-27 Michael Katz Apparatus and methods for generating row-specific reading thresholds in flash memory
US9001587B2 (en) 2011-09-16 2015-04-07 Samsung Electronics Co., Ltd. Flash memory and reading method of flash memory

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6965652B1 (en) 2000-06-28 2005-11-15 Marvell International Ltd. Address generator for LDPC encoder and decoder and method thereof
JP2007133683A (ja) 2005-11-10 2007-05-31 Sony Corp メモリシステム
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7904783B2 (en) 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
TWI368224B (en) 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US8108584B2 (en) 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes
JP4843693B2 (ja) 2009-03-30 2011-12-21 株式会社東芝 記憶装置
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
JP2011164994A (ja) 2010-02-10 2011-08-25 Toshiba Corp メモリシステム
EP2545554A4 (en) 2010-03-12 2015-03-11 Lsi Corp LDPC CLEARANCE DECODING FOR FLASH MEMORY
JP2011198433A (ja) 2010-03-23 2011-10-06 Toshiba Corp メモリシステム
US8164967B2 (en) 2010-03-24 2012-04-24 Apple Inc. Systems and methods for refreshing non-volatile memory
US20110252289A1 (en) 2010-04-08 2011-10-13 Seagate Technology Llc Adjusting storage device parameters based on reliability sensing
US8499227B2 (en) 2010-09-23 2013-07-30 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus
US8649215B2 (en) 2010-12-22 2014-02-11 HGST Netherlands B.V. Data management in flash memory using probability of charge disturbances
US8422303B2 (en) 2010-12-22 2013-04-16 HGST Netherlands B.V. Early degradation detection in flash memory using test cells
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
JP5404685B2 (ja) * 2011-04-06 2014-02-05 株式会社東芝 不揮発性半導体記憶装置
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
KR20130102397A (ko) * 2012-03-07 2013-09-17 삼성전자주식회사 플래시 메모리 및 플래시 메모리에서의 리드 방법
KR101730497B1 (ko) * 2011-11-04 2017-04-27 삼성전자 주식회사 에러 정정 성능 신장 방법 및 이를 이용한 저장 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131809A1 (en) 2007-12-05 2010-05-27 Michael Katz Apparatus and methods for generating row-specific reading thresholds in flash memory
US20100180073A1 (en) 2007-12-05 2010-07-15 Hanan Weingarten Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
US9001587B2 (en) 2011-09-16 2015-04-07 Samsung Electronics Co., Ltd. Flash memory and reading method of flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868647B2 (en) 2021-02-26 2024-01-09 Samsung Electronics Co., Ltd. Nonvolatile memory device, with valley search for threshold voltage, memory controller, and reading method of storage device including the same

Also Published As

Publication number Publication date
US20150043282A1 (en) 2015-02-12
KR20150018921A (ko) 2015-02-25
US9324420B2 (en) 2016-04-26

Similar Documents

Publication Publication Date Title
KR102065664B1 (ko) 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법
US9164881B2 (en) Method of determining deterioration state of memory device and memory system using the same
JP6606039B2 (ja) メモリシステムおよび制御方法
KR101979734B1 (ko) 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR102081415B1 (ko) 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법
US8972775B2 (en) Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit
US9672942B2 (en) Data decoding method of non-volatile memory device and apparatus for performing the method
US8386868B2 (en) Using programming-time information to support error correction
KR101990972B1 (ko) 메모리 시스템에서의 순환 중복 검사 동작 수행 방법 및 이를 이용한 메모리 컨트롤러
US9478298B2 (en) Memory system and method of reading data thereof
KR20110092091A (ko) 플래시 메모리 장치 및 그것의 읽기 방법
KR20090099265A (ko) 메모리 장치 및 데이터 판정 방법
KR20140031556A (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
JP7353889B2 (ja) メモリシステムおよび方法
KR20180131023A (ko) 반도체 메모리 시스템 및 그것의 동작 방법
KR20170090683A (ko) 비휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치의 동작 방법
US9009576B1 (en) Adaptive LLR based on syndrome weight
US11532364B2 (en) Controller and operation method thereof
KR20200079811A (ko) 오류 정정 장치, 이의 동작 방법 및 이를 이용하는 메모리 시스템
US11295819B2 (en) Dual sense bin balancing in NAND flash
CN111883198A (zh) 存储器控制器及其操作方法
CN110806947B (zh) 预测错误校正装置、其操作方法和用该装置的存储器系统
KR101982381B1 (ko) 소프트 정보에 대한 데이터 전송의 수행 최적화
US20230197119A1 (en) Temperature differential-based voltage offset control

Legal Events

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