[go: up one dir, main page]

KR102687216B1 - 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 - Google Patents

비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 Download PDF

Info

Publication number
KR102687216B1
KR102687216B1 KR1020160131977A KR20160131977A KR102687216B1 KR 102687216 B1 KR102687216 B1 KR 102687216B1 KR 1020160131977 A KR1020160131977 A KR 1020160131977A KR 20160131977 A KR20160131977 A KR 20160131977A KR 102687216 B1 KR102687216 B1 KR 102687216B1
Authority
KR
South Korea
Prior art keywords
page
reclaim
data
voltage
memory cells
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020160131977A
Other languages
English (en)
Other versions
KR20180040288A (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 KR1020160131977A priority Critical patent/KR102687216B1/ko
Priority to US15/494,507 priority patent/US10340947B2/en
Priority to CN201710697138.5A priority patent/CN107943712B/zh
Publication of KR20180040288A publication Critical patent/KR20180040288A/ko
Application granted granted Critical
Publication of KR102687216B1 publication Critical patent/KR102687216B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명의 실시예들에 따른 복수의 메모리 블록들을 포함하고, 상기 메모리 블록들 각각은 복수의 페이지들을 구비하는 메모리 셀 어레이를 포함하는 비휘발성 메모리 장치의 리클레임 제어 방법에서는 상기 메모리 블록들 중 제1 메모리 블록의 제1 페이지로부터 독출된 제1 데이터의 에러가 정정되지 않는 경우, 상기 제1 데이터를 기초로 결정된 최적 독출 레벨 전압을 이용하여 상기 제1 데이터에 대하여 리커버리 독출 동작을 수행하고, 상기 리커버리 독출 동작의 수행 결과 상기 제1 데이터의 에러가 정정되는 경우, 상기 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단한다.

Description

비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치{METHODS OF CONTROLLING RECLAIM OF NONVOLATILE MEMORY DEVICES, METHODS OF OPERATING STORAGE DEVICES AND STORAGE DEVICES}
본 발명은 반도체 메모리 장치에 관한 것으로, 보다 상세하게는 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법, 상기 동작 방법을 수행하는 저장 장치에 관한 것이다.
반도체 반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화 인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile Memory Device) 및 비휘발성 메모리 장치(Nonvolatile Memory Device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리장치에는 저장 회로(Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등이 있다. 비휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 비휘발성 메모리 장치에는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다.
플래시 메모리는 저소음, 저전력, 빠른 동작 속도 등의 장점을 갖기 때문에, 다양한 분야에서 사용된다. 예를 들어, 스마트폰, 태블릿 PC와 같은 모바일 시스템은 스토리지 매체로서 대용량 플래시 메모리를 사용한다. 플래시 메모리의 용량을 증가시키기 위하여 하나의 메모리 셀에 적어도 2-비트 이상의 데이터를 저장하는 멀티 레벨셀(MLC; multi level cell)이 사용되고 있다. 하나의 메모리 셀에 적어도 2-비트 이상의 데이터를 저장하기 때문에 메모리 셀들의 읽기 마진이 감소하고 이로 인하여 독출된 데이터에 다수의 에러 비트들이 포함되게 된다.
뿐만 아니라, 반도체 공정이 미세화됨에 따라 인접 메모리 셀들에 의한 프로그램 교란, 읽기 교란 등과 같은 물리적 요인으로 인하여 메모리 셀들로부터 독출한 데이터에 에러 비트들이 포함되게 된다. 이러한 에러 비트들을 검출하고 정정하기 위하여 다양한 방식의 에러 정정 기법들 또는 독출 방법들이 개발되고 있다.
본 발명의 일 목적은 성능 및 데이터 신뢰성을 향상시킬 수 있는 비휘발성 메모리 장치의 리클레임 제어 방법을 제공하는 데 있다.
본 발명의 일 목적은 성능 및 데이터 신뢰성을 향상시킬 수 있는 저장 장치의 동작 방법을 제공하는데 있다.
본 발명의 일 목적은 성능 및 데이터 신뢰성을 향상시킬 수 있는 저장 장치를 제공하는데 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 복수의 메모리 블록들을 포함하고, 상기 메모리 블록들 각각은 복수의 페이지들을 구비하는 메모리 셀 어레이를 포함하는 비휘발성 메모리 장치의 리클레임 제어 방법에서는 상기 메모리 블록들 중 제1 메모리 블록의 제1 페이지로부터 독출된 제1 데이터의 에러가 정정되지 않는 경우, 상기 제1 데이터를 기초로 결정된 최적 독출 레벨 전압을 이용하여 상기 제1 데이터에 대하여 리커버리 독출 동작을 수행하고, 상기 리커버리 독출 동작의 수행 결과 상기 제1 데이터의 에러가 정정되는 경우, 상기 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단한다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 복수의 메모리 블록들을 포함하고, 상기 메모리 블록들 각각은 복수의 페이지들을 구비하는 메모리 셀 어레이를 포함하는 적어도 하나의 비휘발성 메모리 장치 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하는 저장 장치의 동작 방법에서는 기본 전압 세트를 기초로 상기 메모리 블록들 중 제1 메모리 블록의 제1 페이지에 대하여 기본 독출 동작을 수행하여 제1 데이터를 생성하고, 상기 제1 데이터의 에러가 정정되지 않는 경우, 상기 제1 데이터를 기초로 최적 독출 레벨 전압을 결정하고, 상기 최적 독출 레벨 전압에 기초하여 상기 제1 데이터에 대하여 리커버리 독출 동작을 수행하고, 상기 리커버리 독출 동작의 수행 결과, 상기 제1 데이터의 에러가 정정되는 경우, 상기 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 제1 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단한다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 저장 장치는 비휘발성 메모리 장치 및 메모리 컨트롤러를 포함한다. 상기 비휘발성 메모리 장치는 독출 커맨드 및 어드레스에 응답하여 메모리 셀 어레이의 제1 메모리 블록의 제1 페이지로부터 제1 데이터를 독출한다. 상기 메모리 컨트롤러는 상기 독출 커맨드 및 상기 어드레스를 상기 비휘발성 메모리 장치에 인가하고, 기본 전압 세트를 기초로 상기 제1 데이터가 정정불가능한 에러를 포함하는지 여부를 판단하고, 상기 제1 데이터의 에러가 정정되지 않는 경우, 상기 제1 데이터를 기초로 최적 독출 레벨 전압을 결정하고, 상기 최적 독출 레벨 전압에 기초하여 상기 제1 데이터에 대하여 리커버리 독출 동작을 수행하고, 상기 리커버리 독출 동작의 수행 결과, 상기 제1 데이터의 에러가 정정되는 경우, 상기 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 제1 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단한다.
본 발명의 실시예들에 따르면, 에러를 정정할 수 없는 페이지의 데이터에 대하여 최적 독출 레벨 전압을 기초로 리커버리 독출을 수행한 후, 상기 페이지의 에러가 정정된 경우에, 상기 최적 독출 레벨 전압 부근의 문턱 전압 산포를 기초로 상기 페이지의 리클레임 여부를 판단할 수 있다. 따라서 상기 페이지가 추가적으로 열화되어 정정할 수 없는 에러를 포함하는 페이지로 변화하는 것을 방지할 수 있다. 따라서 저장 장치의 성능 및 데이터 신뢰성을 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 전자 장치를 나타내는 개략적인 블록도이다.
도 2는 본 발명의 실시예들에 따른 도 1의 전자 장치에서 저장 장치의 구성을 나타낸다.
도 3은 본 발명의 실시예들에 따른 도 2의 저장 장치에서 메모리 컨트롤러의 구성을 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 도 2의 저장 장치에서 비휘발성 메모리 장치를 나타내는 블록도이다.
도 5는 도 4의 메모리 셀 어레이를 나타내는 블록도이다.
도 6은 도 5의 메모리 블록들(BLK1~BLKz) 중 하나(BLKi)를 나타내는 회로도이다.
도 7은 본 발명의 실시예들에 따른 도 4의 비휘발성 메모리 장치에서 전압 생성기의 구성을 나타내는 블록도이다.
도 8a 및 8b는 본 발명의 실시예들에 따른 도 2의 저장 장치의 동작 방법을 나타내는 수선도이다.
도 9 내지 도 11은 도 8a의 S200 단계를 설명하기 위한 도면들이다.
도 12 내지 도 14는 도 8a의 S300 단계를 설명하기 위한 도면들이다.
도 15는 도 8b의 S400 단계를 설명하기 위한 도면이다.
도 16과 도 17은 도 15의 S430 단계를 설명하기 위한 도면들이다.
도 18, 도 19 및 도 20은 도 15의 S450 단계를 설명하기 위한 도면들이다.
도 21은 본 발명의 실시예들에 따른 도 2의 저장 장치에서 수행되는 리클레임 동작을 나타낸다.
도 22는 본 발명의 실시예들에 따른 모바일 장치를 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 전자 장치를 나타내는 개략적인 블록도이다.
도 1을 참조하면, 전자 장치(10)는 호스트(20) 및 저장 장치(또는 메모리 시스템, 30)을 포함할 수 있다. 저장 장치(30)는 메모리 컨트롤러(100) 및 적어도 하나의 비휘발성 메모리 장치(200)를 포함할 수 있다. 호스트(20)는 저장 장치(30)의 동작을 전반적으로 제어한다.
비휘발성 메모리 장치(200)는 낸드 플래시 메모리로 구현될 수 있다. 하지만 다른 실시예에 있어서, 비휘발성 메모리 장치(200)은 PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), MRAM(Magneto-resistive Random Access Memory), FRAM(Ferroelectric random access memory)등의 비휘발성 메모리 장치로 구현될 수 있다.
메모리 컨트롤러(100)는 호스트(20)와 커맨드, 어드레스, 데이터와 같은 신호를 교환할 수 있다. 메모리 컨트롤러(100)는 호스트(20)의 커맨드에 따라 비휘발성 메모리 장치(200)에 데이터를 기입하거나 비휘발성 메모리 장치(200)로부터 데이터를 독출할 수 있다.
도 2는 본 발명의 실시예들에 따른 도 1의 전자 장치에서 저장 장치의 구성을 나타낸다.
도 2를 참조하면, 저장 장치(30)는 메모리 컨트롤러(100) 및 적어도 하나의 비휘발성 메모리 장치(200)를 포함할 수 있다.
실시예에 있어서, 메모리 컨트롤러(100) 및 비휘발성 메모리 장치(200) 각각은 하나의 칩, 하나의 패키지, 하나의 모듈 등으로 제공될 수 있다. 또는 메모리 컨트롤러(100) 및 비휘발성 메모리 장치(200)는 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 Metric Quad 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) 등과 같은 패키지들을 기반으로 실장되어 메모리 카드와 같은 저장 장치로 제공될 수 있다.
비휘발성 메모리 장치(200)는 메모리 컨트롤러(100)의 제어에 따라 소거, 기입 또는 독출 동작 등을 수행할 수 있다. 이를 위하여, 비휘발성 메모리 장치(200)는 입출력 라인을 통해 커맨드(CMD), 어드레스(ADDR), 그리고 데이터(DATA)를 입력받는다. 또한, 비휘발성 메모리 장치(200)는 제어 라인을 통하여 제어 신호(CTRL)를 제공받을 수 있다. 또한 비휘발성 메모리 장치(200)는 메모리 컨트롤러(100)로부터 파워(PWR)를 제공받을 수 있다.
비휘발성 메모리 장치(200)에 포함된 메모리 셀들은 프로그램 경과 시간, 온도, 프로그램 교란, 독출 교란 등과 같은 요인들로 인하여 문턱 전압 산포가 변화하는 물리적 특성을 갖는다. 즉, 상술된 요인들로 인하여 비휘발성 메모리 장치(200)에 저장된 데이터에 오류가 발생할 수 있다. 메모리 컨트롤러(100)는 이러한 오류들을 정정하기 위하여 다양한 에러 정정 기법을 사용할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 에러 정정 코드(ECC; Error Correction Code) 엔진(120), 독출 관리 모듈(131) 및 리클레임 관리 모듈(133)을 포함할 수 있다.
비휘발성 메모리 장치(200)에 대한 독출 동작시, 메모리 컨트롤러(100)는 기본 독출 전압 세트(default read voltage set)를 기반으로 비휘발성 메모리 장치(200)의 제1 페이지에 저장된 데이터를 읽을 수 있다. 예시적으로, 기본 독출 전압 세트는 미리 정해진 독출 전압들을 가리킨다. ECC 엔진(120)은 비휘발성 메모리 장치(200)로부터 독출한 데이터에 포함된 오류를 검출 및 정정할 수 있다. 예시적으로, ECC 엔진(120)은 하드웨어 형태로 제공될 수 있다.
예를 들어, 상술된 요인들 또는 다른 외부 요인들로 인하여 ECC 엔진(120)의 오류 정정 능력을 초과하는 에러 비트가 데이터에 포함될 수 있다. 이 경우, ECC 엔진(120)은 데이터에 포함된 오류를 정정하지 못할 것이다. 이러한 에러는 'UECC(Uncorrectable Error Correction Code) 에러'라 불린다.
예를 들어, 기본 독출 전압 세트를 기반으로 독출된 데이터에 UECC 에러가 포함된 경우, 독출 관리 모듈(131)은 비휘발성 메모리 장치(200)의 독출 전압 세트를 조절할 수 있다. 메모리 컨트롤러(100)는 조절된 독출 전압 세트를 기반으로 비휘발성 메모리 장치(200)가 독출 동작을 수행하도록 어드레스(ADDR), 커맨드(CMD), 및 제어 신호(CTRL)를 전송할 수 있다.
예를 들어, 조절된 독출 전압 세트에 대한 정보는 제어 신호(CTRL) 또는 커맨드(CMD)에 포함될 수 있다. ECC 엔진(120)은 조절된 독출 전압 세트에 의해 독출된 데이터의 오류를 검출 및 정정할 수 있다.
예를 들어, 독출 관리 모듈(131)은 미리 정해진 횟수만큼 독출 전압 세트를 조절하고, ECC 엔진(120)은 조절된 독출 전압 세트를 기반으로 독출된 데이터의 오류를 검출 및 정정할 수 있다. 즉, 메모리 컨트롤러(100)는 독출 전압 세트 조절, 조절된 독출 전압 세트를 기반으로 데이터 독출 동작 및 독출된 데이터의 오류 정정 동작을 미리 정해진 횟수만큼 반복적으로 수행할 수 있다.
예를 들어, 상술된 반복 동작 중 독출된 데이터의 오류가 정정된 경우, 메모리 컨트롤러(100)는 정정된 데이터를 호스트(20)로 출력할 수 있다. 예를 들어, 독출 관리 모듈(131)에 의해 독출 동작이 반복 수행되는 동안, 독출 데이터 또는 독출 데이터의 특정 페이지 데이터는 도 3의 버퍼(130)에 저장될 수 있다. 상기 버퍼(130)는 SRAM일 수 있다.
상술된 바와 같은 반복 동작 이후에도 독출된 데이터의 오류가 정정되지 않는 경우(즉, UECC 에러가 포함된 경우), 메모리 컨트롤러(100)는 버퍼(130)에 저장된 데이터를 기반으로 밸리 서치 동작을 수행하기 위한 시작 전압 세트(start voltage set)를 결정할 수 있다.
실시예에 따라, 상기 독출 전압 세트를 조절하여 독출 동작을 반복적으로 수행하는 것은 생략될 수 있다.
기본 독출 전압 세트를 기반으로 독출된 데이터 또는 반복적인 독출 동작 이후에도 독출 데이터의 에러가 정정되지 않는 경우, 메모리 컨트롤러(100)는 버퍼(130)에 저장된 데이터를 기반으로 에러 비트가 가장 많이 포함된 프로그램 상태를 선택하고, 선택된 프로그램 상태와 대응되는 독출 전압을 시작 전압으로 결정할 수 있다. 독출 관리 모듈(131)은 결정된 시작 전압을 기초로 밸리 서치(valley search)를 수행하여 최적(optimal) 독출 레벨 전압을 결정하고, 상기 최적 독출 레벨 전압을 기초로 상기 독출 데이터에 대하여 리커버리 독출 동작을 수행할 수 있다.
실시예에 따라서 상기 최적 독출 레벨 전압을 결정하기 위하여, 독출 관리 모듈(131)은 시작 독출 전압과 종료 읽기 전압에 의해 정의되는 검색 영역을 설정하고, 상기 검색 영역에 기준 영역에 속하는지를 판단하고, 상기 판단 결과, 상기 검색 영역이 상기 기준 영역에 속하지 않으면, 상기 검색 영역을 변경하고, 상기 판단 결과 상기 검색 영역이 상기 기준 영역에 속하면, 상기 검색 영역에 기초하여 새로운 독출 전압을 찾아서 상기 최적 독출 레벨 전압을 결정할 수 있다.
최적 독출 레벨 전압을 기초로 독출된 데이터에 대하여 리커버리 독출 동작을 수행한 결과, 상기 독출된 데이터의 에러가 정정되는 경우(즉, 독출된 데이터가 정정가능한 에러를 포함하거나, 에러를 포함하지 않는 경우), ECC 엔진(120)은 독출 데이터의 에러가 정정되었음을 리클레임 관리 모듈(133)에 통지할 수 있다.
리클레임 관리 모듈(131)은 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단할 수 있다. 즉, 메모리 컨트롤러(100)는 최적 독출 레벨 전압을 기초로 한 리커버리 독출 동작의 수행 결과, 제1 페이지의 데이터의 에러들이 정정가능함에도 상기 관심 영역의 산포들을 기초로 상기 제1 페이지의 리클레임 필요 여부를 추가적으로 판단할 수 있다. 상기 제1 페이지에 대한 리클레임이 필요한 경우, 상기 제1 페이지에 대한 리클레임 동작을 수행함으로써 종래의 에러 비트 기반 리클레임 판정으로는 감지할 수 없는 열화 페이지 및 SPO(sudden power off) 페이지를 감지할 수 있다. 따라서 하나의 페이지가 더욱 열화되어 정정불가능한 페이지로 변하는 것을 방지할 수 있다.
도 3은 본 발명의 실시예들에 따른 도 2의 저장 장치에서 메모리 컨트롤러의 구성을 나타내는 블록도이다.
도 2 및 도 3을 참조하면, 메모리 컨트롤러(100)는 버스(105)를 통하여 서로 연결되는 프로세서(110) ECC 엔진(120), 버퍼(130), 독출 관리 모듈(131), 리클레임 관리 모듈(133), 랜더마이저(140), 호스트 인터페이스(150), 롬(160) 및 비휘발성 메모리 인터페이스(170)를 포함할 수 있다.
ECC 엔진(120), 버퍼(130), 독출 관리 모듈(131) 및 리클레임 관리 모듈(133)은 도 2를 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
프로세서(110)는 메모리 컨트롤러(100)의 제반 동작을 제어한다. 예를 들어, 독출 관리 모듈(131) 및 리클레임 관리 모듈(133)은 소프트웨어 형태로 제공되며, 버퍼(130)에 저장될 수 있다. 버퍼(130)에 저장된 독출 관리 모듈(131) 및 리클레임 관리 모듈(133)은 프로세서(110)에 의해 구동될 수 있다. ROM(160)은 메모리 컨트롤러(100)가 동작하는데 요구되는 다양한 정보를 펌웨어 형태로 저장할 수 있다.
랜더마이저(140)는 비휘발성 메모리 장치(200)에 저장될 데이터를 랜더마이징(randomizing)할 수 있다. 예를 들어, 랜더마이저(140)는 비휘발성 메모리 장치(200)에 저장될 데이터를 워드 라인 단위로 랜더마이징할 수 있다.
예를 들어, 데이터 랜더마이징은 하나의 워드라인에 연결된 메모리 셀들이 동일한 비율의 프로그램 상태를 갖도록 데이터를 처리하는 것을 가리킨다. 예를 들어, 하나의 워드라인에 연결된 메모리 셀들이 각각 2-비트의 데이터를 저장하는 멀티 레벨 셀(MLC; Multi Level Cell)인 경우, 메모리 셀들 각각은 소거 상태 및 제 1 내지 제3 프로그램 상태들 중 어느 하나의 상태를 가질 것이다. 이 때, 랜더마이저(140)는 하나의 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들의 개수, 제1 프로그램 상태를 갖는 메모리 셀들의 개수, 제2 프로그램 상태를 갖는 메모리 셀들의 개수, 및 제3 프로그램 상태를 갖는 메모리 셀들의 개수가 서로 동일하도록 데이터를 랜더마이징할 수 있다. 즉, 랜더마이징된 데이터(randomized data)가 저장된 메모리 셀들은 실질적으로 서로 동일한 개수의 프로그램 상태들을 가질 것이다. 예시적으로, 랜더마이저(140)는 비휘발성 메모리 장치(200)로부터 읽은 데이터를 디랜더마이징할 수 있다.
예를 들어, 랜더마이저(140)는 페이지 데이터를 랜더마이징할 수 있다. 예시적으로, 간결한 설명을 위하여 이상적인(ideal) 랜더마이저(140)의 구성이 설명되었다. 그러나, 본 발명의 기술적 사상이 이에 한정되는 것은 아니며, 실제 랜더마이저(140)는 하나의 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들의 개수, 제1 프로그램 상태를 갖는 메모리 셀들의 개수, 제2 프로그램 상태를 갖는 메모리 셀들의 개수, 및 제3 프로그램 상태를 갖는 메모리 셀들의 개수가 실질적으로 서로 동일한 값에 가깝도록 데이터를 랜더마이징할수 있다. 즉, 실제 랜더마이징된 데이터(randomized data)가 저장된 메모리 셀들은 실질적으로 서로 비슷한 개수의 프로그램 상태들을 가질 수 있다.
메모리 컨트롤러(100)는 호스트 인터페이스(150)를 통해 호스트(20)와 통신할 수 있다. 예를 들어, 호스트 인터페이스(150)는 USB (Universal Serial Bus), MMC (multimedia card), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), MIPI(Mobile Industry Processor Interface), NVMe(Nonvolatile Memory-express), UFS(Universal Flash Storage Interface) 등과 같은 다양한 인터페이스들 중 적어도 하나로 제공될 수 있다. 메모리 컨트롤러(100)는 비휘발성 메모리 인터페이스(170)를 통해 비휘발성 메모리 장치(200)와 통신할 수 있다.
도 4는 본 발명의 실시예들에 따른 도 2의 저장 장치에서 비휘발성 메모리 장치를 나타내는 블록도이다.
도 4를 참조하면, 비휘발성 메모리 장치(200)는 메모리 셀 어레이(300), 어드레스 디코더(430), 페이지 버퍼 회로(410), 데이터 입출력 회로(420), 제어 회로(450) 및 전압 생성기(700)를 포함할 수 있다.
메모리 셀 어레이(300)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 어드레스 디코더(430)와 연결될 수 있다. 또한, 메모리 셀 어레이(300)는 복수의 비트 라인들(BLs)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다.
메모리 셀 어레이(300)는 복수의 워드 라인들(WLs) 및 복수의 비트 라인들(BLs)에 연결되는 복수의 메모리 셀들을 포함할 수 있다.
실시예에 있어서, 메모리 셀 어레이(300)는 기판 상에 삼차원 구조(또는 수직 구조)로 형성되는 삼차원(three dimensional) 메모리 셀 어레이일 수 있다. 이 경우, 메모리 셀 어레이(300)는 서로 적층되어 형성되는 복수의 메모리 셀들을 포함하는 수직 메모리 셀 스트링들을 포함할 수 있다. 삼차원 메모리 셀 어레이에 대한 자세한 설명은 본 명세서에 참고 문헌으로 결합된 미국 등록 번호 7,679,133; 8,553,466; 8,654,587; 8,559,235 및 미국 공개 번호 2011/0233648에 기술되어 있다.
다른 실시예에 있어서, 메모리 셀 어레이(300)는 기판 상에 이차원 구조(또는 수평 구조)로 형성되는 이차원(two dimensional) 메모리 셀 어레이일 수 있다.
도 5는 도 4의 메모리 셀 어레이를 나타내는 블록도이다.
도 5를 참조하면, 메모리 셀 어레이(300)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 실시예에 있어서, 메모리 블록들(BLK1~BLKz, ㅋ는 3이상의 자연수)은 도4에 도시된 어드레스 디코더(430)에 의해 선택된다. 예를 들면, 어드레스 디코더(430)는 메모리 블록들(BLK1~BLKz) 중 블록 어드레스에 대응하는 메모리 블록(BLK)을 선택할 수 있다.
도 6은 도 5의 메모리 블록들(BLK1~BLKz) 중 하나(BLKi)를 나타내는 회로도이다.
도 6에 도시된 메모리 블록(BLKi)은 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 셀 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다.
도 6을 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 셀 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 셀 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 도 9에는 복수의 메모리 셀 스트링들(NS11~NS33) 각각이 8개의 메모리 셀들(MC1, MC2, ..., MC8)을 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 상응하는 워드 라인(WL1, WL2, ..., WL8)에 연결될 수 있다. 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다. 도 6에는 메모리 블록(BLKb)이 여덟 개의 워드 라인들(WL1, WL2, ..., WL8) 및 세 개의 비트 라인들(BL1, BL2, BL3)에 연결되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
다시 도 4를 참조하면, 제어 회로(450)는 메모리 컨트롤러(100)로부터 커맨드 신호(CMD) 및 어드레스 신호(ADDR)를 수신하고, 커맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여 비휘발성 메모리 장치(200)의 소거 루프, 프로그램 루프 및 독출 동작을 제어할 수 있다. 여기서 프로그램 루프는 프로그램 동작과 프로그램 검증 동작을 포함할 수 있고, 소거 루프는 소거 동작과 소거 검증 동작을 포함할 수 있다. 여기서 독출 동작은 기본 독출 동작과 리커버리 독출 동작을 포함할 수 있다.
예를 들어, 제어 회로(450)는 커맨드 신호(CMD)에 기초하여 전압 생성기(700)를 제어하기 위한 제어 신호들(CTLs)을 생성하고, 어드레스 신호(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 생성할 수 있다. 제어 회로(450)는 로우 어드레스(R_ADDR)를 어드레스 디코더(430)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(420)에 제공할 수 있다.
어드레스 디코더(430)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 메모리 셀 어레이(300)와 연결될 수 있다. 프로그램 동작 또는 독출 동작 시, 어드레스 디코더(430)는 제어 회로(500)로부터 제공되는 로우 어드레스(R_ADDR)에 기초하여 복수의 워드 라인들(WLs) 중의 하나를 선택 워드라인으로 결정하고, 복수의 워드 라인들(WLs) 중에서 선택 워드라인을 제외한 나머지 워드 라인들을 비선택 워드라인들로 결정할 수 있다.
전압 생성기(700)는 제어 회로(450)로부터 제공되는 제어 신호들(CTLs)에 기초하여 비휘발성 메모리 장치(200)의 동작에 필요한 워드 라인 전압들(VWLs)을 생성할 수 있다. 전압 생성기(700)로부터 생성되는 워드 라인 전압들(VWLs)은 어드레스 디코더(430)를 통해 복수의 워드 라인들(WLs)에 인가될 수 있다.
예를 들어, 소거 동작 시, 전압 생성기(700)는 메모리 블록의 웰에 소거 전압을 인가하고 메모리 블록의 모든 워드라인들에 접지 전압을 인가할 수 있다. 소거 검증 동작 시, 전압 생성기(700)는 하나의 메모리 블록의 모든 워드라인들에 소거 검증 전압을 인가하거나 워드라인 단위로 소거 검증 전압을 인가할 수 있다.
예를 들어, 프로그램 동작 시, 전압 생성기(700)는 선택 워드라인에 프로그램 전압을 인가하고, 비선택 워드라인들에는 프로그램 패스 전압을 인가할 수 있다. 또한 프로그램 검증 동작 시, 전압 생성기(700)는 선택 워드라인에 프로그램 검증 전압을 인가하고, 비선택 워드라인들에는 검증 패스 전압을 인가할 수 있다.
또한, 기본 독출 동작 시, 전압 생성기(700)는 선택 워드라인에 기본 독출 전압을 인가하고, 비선택 워드라인들에는 독출 패스 전압을 인가할 수 있다. 또한 리커버리 독출 동작 시, 전압 생성기(700)는 선택 워드라인에 최적 독출 레벨 전압을 인가할 수 있다.
페이지 버퍼 회로(410)는 복수의 비트 라인들(BLs)을 통해 메모리 셀 어레이(300)와 연결될 수 있다. 페이지 버퍼 회로(410)는 복수의 페이지 버퍼를 포함할 수 있다. 일 실시예에 있어서, 하나의 페이지 버퍼에 하나의 비트 라인이 연결될 수 있다. 다른 실시예에 있어서, 하나의 페이지 버퍼에 두 개 이상의 비트 라인들이 연결될 수 있다.
페이지 버퍼 회로(410)는 프로그램 동작 시 선택된 페이지에 프로그램될 데이터를 임시로 저장하고, 독출 동작 시 선택된 페이지로부터 독출된 데이터를 임시로 저장할 수 있다.
데이터 입출력 회로(420)는 데이터 라인들(DLs)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다. 프로그램 동작 시, 데이터 입출력 회로(420)는 메모리 컨트롤러(100)로부터 프로그램 데이터(DATA)를 수신하고, 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 프로그램 데이터(DATA)를 페이지 버퍼 회로(410)에 제공할 수 있다. 독출 동작 시, 데이터 입출력 회로(420)는 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 페이지 버퍼 회로(410)에 저장된 독출 데이터(DATA)를 상기 메모리 컨트롤러(100)에 제공할 수 있다.
또한, 페이지 버퍼 회로(410)와 입출력 회로(420)는 메모리 셀 어레이(300)의 제1 저장 영역으로부터 데이터를 독출하고, 독출된 데이터를 메모리 셀 어레이(300)의 제2 저장 영역에 기입할 수 있다. 즉, 페이지 버퍼 회로(410)와 입출력 회로(420)는 카피-백(copy-back) 동작을 수행할 수 있다. 페이지 버퍼 회로(410)와 입출력 회로(420)는 제어 회로(450)에 의하여 제어될 수 있다.
도 7은 본 발명의 실시예들에 따른 도 4의 비휘발성 메모리 장치에서 전압 생성기의 구성을 나타내는 블록도이다.
도 7을 참조하면, 전압 생성기(700)는 고전압 생성기(710) 및 저전압 생성기(730)를 포함할 수 있다. 실시예에 있어서, 전압 생성기(700)는 음전압(negative voltage) 생성기(750)를 더 포함할 수 있다.
고전압 생성기(710)는 제1 제어 신호(CTL1)에 응답하여 커맨드(CMD)가 지시하는 동작에 따라 프로그램 전압(VPGM), 프로그램 패스 전압(VPPASS), 검증 패스 전압(VVPASS), 독출 패스 전압(VRPASS) 및 소거 전압(VRES)을 생성할 수 있다. 프로그램 전압(VPGM)은 선택 워드라인에 인가되고, 프로그램 패스 전압(VPPASS), 프로그램 검증 패스 전압(VVPASS), 독출 패스 전압(VRPASS)은 비선택 워드라인들에 인가되고, 소거 전압(VRES)은 메모리 블록의 웰에 인가될 수 있다. 제1 제어 신호(CTL1)는 복수의 비트들을 포함하여 커맨드(CMD)가 지시하는 동작을 나타낼 수 있다.
저전압 생성기(730)는 제2 제어 신호(CTL2)에 응답하여 커맨드(CMD)가 지시하는 동작에 따라 프로그램 검증 전압(VPV), 독출 전압(VRD), 최적 레벨 독출 전압(VORD) 및 소거 검증 전압(VEV)을 생성할 수 있다. 프로그램 검증 전압(VPV), 독출 전압(VRD,) 최적 레벨 독출 전압(VORD) 및 소거 검증 전압(VEV)은 동작에 따라 선택 워드라인에 인가될 수 있다. 제2 제어 신호(CTL2)는 복수의 비트들을 포함하여 커맨드(CMD)가 지시하는 동작을 나타낼 수 있다.
음전압 생성기(750)는 제3 제어 신호(CTL3)에 응답하여 커맨드(CMD)가 지시하는 동작에 따라 음의 레벨을 가지는 프로그램 검증 전압(VPV'), 독출 전압(VRD'), 및 소거 검증 전압(VEV')을 생성할 수 있다. 제3 제어 신호(CTL3)는 복수의 비트들을 포함하여 커맨드(CMD)가 지시하는 동작을 나타낼 수 있다.
도 8a 및 8b는 본 발명의 실시예들에 따른 도 2의 저장 장치의 동작 방법을 나타내는 수선도이다.
이하에서 간결한 설명을 위하여, 독출 관리 모듈(131)은 미리 정해진 테이블(PDT; PreDefined Table)을 포함하고, 독출 관리 모듈(131)에 의한 기본 독출 동작은 PDT에 기반된 것으로 가정한다. 실시예에 있어서, 독출 관리 모듈(131)은 프로그램 타임 스탬프 테이블 등과 같이 다른 독출 전압 세트 선택 방법들을 위한 정보를 포함할 수 있다. 또한, 독출 관리 모듈(131)에 의한 리커버리 독출 동작은 밸리 서치(valley search) 동작을 통해 검출된 밸리 값(valley value)을 기반으로 수행되는 독출 동작인 것으로 가정한다.
또한, 이하에서, 독출 전압 세트는 메모리 셀들의 프로그램 상태를 판별하기 위한 복수의 독출 전압들을 포함하고, 메모리 컨트롤러(100)에 의해 조절될 수 있는 것으로 가정한다. 독출 전압 세트를 기반으로 비휘발성 메모리 장치(200)로부터 독출한 데이터는 제1 기본 데이터로 칭하며, 제1 기본 데이터는 ECC 엔진(120)에 의해 에러 검출 및 정정되기 전의 데이터인 것으로 가정한다.
도 2 내지 도 8b를 참조하면, S110 단계에서, 메모리 컨트롤러(100)는 호스트(20)로부터 독출 리퀘스트 및 어드레스를 수신할 수 있다.
S200 단계에서, 메모리 컨트롤러(100)는 수신된 독출 리퀘스트 및 어드레스에 응답하여 기본(default) 독출 동작을 수행할 수 있다. S200 단계는 S210 단계 및 S220 단계를 포함할 수 있다.
S210 단계에서, 메모리 컨트롤러(100)는 수신된 독출 리퀘스트에 응답하여 기본 독출 전압 세트를 기초로 수신된 어드레스에 대응되는 제1 페이지(또는 워드라인과 연결되는 메모리 셀들)에 대한 독출 동작을 수행할 수 있다. 여기서 제1 페이지는 메모리 셀 어레이(300)의 복수의 메모리 블록들 중 제1 메모리 블록의 하나의 페이지인 것으로 가정한다.
S220 단계에서, 메모리 컨트롤러(100)는 기본 독출 전압 세트를 기초로 제1 페이지로부터 독출한 데이터(제1 기본 데이터)에 UECC 에러가 포함되었는지 여부를 판별할 수 있다. 예를 들어, ECC 엔진(120)은 제1 기본 데이터의 오류(에러)를 검출 및 정정할 수 있다.
제1 기본 데이터의 오류가 모두 정정된 경우(즉, UECC 에러가 없는 경우), 독출 동작은 종료되고, 메모리 컨트롤러(100)는 정정된 데이터를 호스트(20)로 전송할 수 있다. 예시적으로 메모리 컨트롤러(100)는 정정된 데이터를 디랜더마이징하여 호스트(20)로 전송할 수 있다.
제1 기본 데이터의 오류가 정정되지 않는 경우(즉, UECC 에러가 있는 경우), 메모리 컨트롤러(100)는 제1 기본 데이터를 버퍼(130)에 저장할 수 있다.
S300 단계에서 메모리 컨트롤러(100)는 독출 관리 모듈(131)을 기반으로 버퍼(130)에 저장된 제1 기본 데이터를 기초로 시작 전압, 또는 시작 전압 세트를 선택하고, 시작 전압을 기초로 독출 동작을 수행하여 제1 페이지의 메모리 셀들의 문턱 전압 산포의 밸리 값을 검출하는 밸리 서치 동작을 수행하여, 최적 독출 레벨 전압을 결정하고, 상기 최적 독출 레벨 전압을 기초로 상기 제1 페이지의 데이터에 대하여 리커버리 독출 동작을 수행할 수 있다.
S370 단계에서, 메모리 컨트롤러(100)는 최적 독출 레벨 전압을 기초로 상기 제1 페이지로부터 독출된 제2 기본 데이터에 UECC 에러가 포함되었는지 여부를 판별할 수 있다. 예를 들어, ECC 엔진(120)은 제2 기본 데이터의 오류(에러)를 검출 및 정정할 수 있다.
S380 단계에서, 제2 기본 데이터의 오류가 정정되지 않는 경우(즉, UECC 에러가 있는 경우), 메모리 컨트롤러(100)는 상기 제1 페이지를 구비하는 메모리 블록을 배드 메모리 블록으로서 등록할 수 있다.
S400 단계에서, 제2 기본 데이터의 오류가 모두 정정된 경우(즉, UECC 에러가 없는 경우), 메모리 컨트롤러(100)는 상기 제2 기본 데이터를 버퍼(130)에 저장하고, 리클레임 관리 모듈(133)을 기반으로 상기 최적 독출 레벨 전압 주변의 관심 영역의 문턱 전압 산포에 기초하여 상기 제2 기본 데이터(즉 제1 페이지의 데이터)에 대하여 리클레임이 필요한지 여부를 판단할 수 있다.
S500 단계에서, 제1 페이지에 대하여 리클레임이 필요하다고 판단되면, 메모리 컨트롤러(100)는 상기 제1 페이지에 대한 리클레임 동작을 수행할 수 있다.
도 9 내지 도 11은 도 8a의 S200 단계를 설명하기 위한 도면들이다.
간결한 설명을 위하여, 비휘발성 메모리 장치(200)에 포함된 메모리 셀들은 3-비트를 저장하는 삼중 레벨 셀(TLC, Triple Level Cell)이며, 메모리 셀들의 프로그램 상태를 판별하기 위한 독출 전압 세트는 7개의 읽기 전압들을 포함하는 것으로 가정한다. 또한, 독출 관리 모듈(131)은 PDT를 포함하고, PDT를 기반으로 독출 전압 세트를 조절하는 것으로 가정한다. 그러나, 본발명의 범위가 이에 한정되는 것은 아니다.
도 2 내지 도 9를 참조하면, 비휘발성 메모리 장치(200)에 포함된 메모리 셀들은 소거 상태(E) 및 제 1 내지 제 7 프로그램 상태들(P1~P7) 중 어느 하나의 상태를 가질 수 있다. 비휘발성 메모리 장치(200)는 메모리 컨트롤러(100)의 제어에 따라 기본 독출 전압 세트(VRD1~VRD7)를 기반으로 메모리 셀들의 프로그램 상태를 판별하여 기본 로우 데이터(DATA0)를 출력할 수 있다.
예시적으로, 기본 독출 전압 세트(VRD1~VRD7)의 전압 레벨들은 메모리 셀들의 특성을 고려하여 미리 정해진 전압 레벨들일 수 있다. 예를 들어, 기본 독출 전압 세트(VRD1~VRD7)의 전압 레벨들은 메모리 셀들이 프로그램된 직후의 문턱 전압 산포를 고려하여 결정된 레벨들일 수 있다. 또는, 기본 독출 전압 세트(VRD1~VRD7)의 전압 레벨들은 메모리 셀들이 프로그램된 이후 소정의 시간이 경과한 후(즉, 메모리 셀들이 안정화된 후)의 문턱 전압 산포를 고려하여 결정된 전압 레벨들일 수 있다.
다음으로, 도 10 및 도 11을 참조하면, 메모리 셀들의 물리적 특성 또는 외부 요인으로 인하여 메모리 셀들이 프로그램된 이후 시간이 경과함에 따라 메모리 셀들의 문턱 전압 산포가 도 10에 도시된 바와 같이 변화할 수 있다. 특히, 전하 트랩 플래시(CTF; charge trap flash) 메모리 셀은 프로그램 시간이 경과함에 따라 메모리 셀들의 문턱 전압 산포가 낮아지는 IVS(initial verify shift) 현상이 발생한다. 또한 메모리 셀들의 프로그램 도중에 SPO(sudden power off)로 인하여 메모리 셀들의 문턱 전압 산포가 도 10과 같이 중첩될 수 있다. 기본 독출 전압 세트(VRD1~VRD7)를 기반으로 독출 동작을 수행할 경우, 독출된 제1 기본 데이터는 오류를 포함할 것이다.
메모리 컨트롤러(100)는 독출된 제1 기본 데이터의 오류를 정정 및 검출할 수 있다. 제1 기본 데이터(DATA0)의 오류가 정정된 경우 메모리 컨트롤러(100)는 정정된 데이터(DATA0')를 호스트(20)로 전송할 수 있다.
예시적으로, 메모리 컨트롤러(100)는 정정된 데이터(DATA0')를 디랜더마이징하여 호스트로 전송할 수 있다.
게1 기본 데이터(DATA0)의 오류가 정정되지 않은 경우(즉, ECC 엔진(120)의 오류 정정 능력을 초과하는 경우 또는 UECC 오류가 포함된 경우), 메모리 컨트롤러(100)는 제1 기본 데이터(DATA0)를 버퍼(130)에 저장하고, 독출 관리 모듈(131)을 기반으로 리커버리 독출 동작을 수행할 수 있다.
도 12 내지 도 14는 도 8a의 S300 단계를 설명하기 위한 도면들이다.
도 12를 참조하면, S300 단계는 S310 단계, S320 단계, S330 단계 및 S340 단계를 포함할 수 있다.
S310 단계에서, 제1 기본 데이터(DATA0)의 오류가 정정되지 않은 경우, 메모리 컨트롤러(100)는 제1 기본 데이터(DATA0)를 버퍼(130)에 저장할 수 있다.
도 3을 참조하여 설명된 바와 같이, 메모리 컨트롤러(100)는 랜더마이저(140)를 포함한다. 랜더마이저(140)는 비휘발성 메모리 장치(200)에 저장될 데이터를 랜더마이징한다. 즉, 비휘발성 메모리 장치(200)에 저장된 데이터는 랜더마이징된 데이터이며, 랜더마이징된 데이터가 저장된 메모리 셀들의 프로그램 상태들은 서로 동일한 개수를 가질 것이다. 다시 말해서, 버퍼(130)에 저장된 기본 로우 데이터(DATA0)의 각 프로그램 상태들에 대응하는 데이터 비트들의 개수가 가장 많은 프로그램 상태가 에러 비트율이 가장 큰 프로그램 상태일 것이다.
S320 단계에서, 메모리 컨트롤러(100)는 버퍼(130)에 저장된 제1 기본 데이터(DATA0)를 기초로 각 프로그램 상태들에 대응하는 데이터 비트들의 개수가 가장 많은 독출 전압을 시작 전압으로 선택할 수 있다.
도 13 및 도 14는 도 12의 S330 단계를 설명하기 위한 도면이다.
예시적으로 도 13 및 도 14를 참조하여, 밸리 서치 동작이 설명된다. 또한, 간결한 설명을 위하여 제 6 및 제 7 프로그램 상태들(P6, P7) 간의 밸리 값을 서치하는 동작이 설명된다.
기본 독출 전압에 기반된 독출 동작에서 에러가 정정되지 않은 경우, 메모리 컨트롤러(100)는 밸리 서치 동작을 수행하여 최적 독출 레벨 전압을 결정하고, 상기 최적 독출 레벨 전압을 기초로 리커버리 독출 동작을 수행할 수 있다.
독출 관리 모듈(131)은 밸리 서치 동작을 수행하기 위한 정보들 또는 프로그램 코드를 포함할 수 있다. 메모리 컨트롤러(100)는 선택된 시작 전압을 기반으로 밸리 서치 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 시작 전압을 선택할 수 있다. 예를 들어, 도 13에 도시된 바와 같이 시작 전압(Vs6)은 제6 및 제7 프로그램 상태들(P5, P6) 사이의 밸리 값을 검색하기 위한 시작 전압으로 사용된다.
메모리 컨트롤러(100)는 제6 및 제7 프로그램 상태들(P6, P7) 사이의 밸리 값을 검색하기 위하여 시작 전압(Vs6)으로 읽기 동작을 수행할 수 있다. 이 후, 시작 전압(Vs6)보다 소정의 레벨만큼 낮은 전압(Vs6')으로 독출 동작을 수행하고, 이 후, 시작 전압(Vs6)보다 소정의 레벨 만큼 높은 전압(Vs6")으로 독출 동작을 수행할 수 있다.
메모리 컨트롤러(100)는 시작 전압(Vs6)으로 독출한 데이터, 전압(Vs6')으로 독출한 데이터, 및 전압(Vs6")로 독출한 데이터를 기반으로 밸리 값를 탐색할 수 있다. 예를 들어, 메모리 컨트롤러(100)는 시작 전압 (Vs6)으로 독출한 데이터 및 전압(Vs6')으로 독출한 데이터를 기반으로 문턱 전압이 시작 전압(Vs6) 및 전압 (Vs6') 사이에 포함된 메모리 셀들(MCa)의 개수를 검출할 수 있다. 시작 전압(Vs6)으로 독출한 데이터 및 전 압(Vs6")으로 독출한 데이터를 기반으로 문턱 전압이 시작 전압(Vs6) 및 전압(Vs6") 사이에 포함된 메모리 셀들(MCb)의 개수를 검출할 수 있다. 메모리 컨트롤러(100)는 검출된 메모리 셀들(MCa, MCb)의 개수들을 기반으로 밸리 값을 검출할 수 있다.
도 14는 도 13과 다른 밸리 서치 방법을 설명하기 위한 도면이다.
도 14를 참조하면, 메모리 컨트롤러(100)는 시작 전압(Vs6)으로 독출 동작을 수행할 수 있다. 이 후, 메모리 컨트롤러(100)는 시작 전압(Vs6)보 다 소정의 레벨만큼 낮은 전압(V61)을 기반으로 독출 동작을 수행할 수 있다. 메모리 컨트롤러(100)는 시작 전압(Vs6)으로 독출한 데이터 및 전압(V61)으로 독출한 데이터를 기반으로 문턱 전압이 시작 전압(Vs6) 및 전압(V61) 사이에 포함되는 메모리 셀들의 개수를 검출할 수 있다. 이 후, 메모리 컨트롤러(100)는 독출 전압을 전압들(V62, V63, V64)로 순차적으로 변화시키면서 독출 동작을 수행할 수 있다. 메모리 컨트롤러(100)는 독출된 데이터들을 기반으로 전압들(V61, V62, V63, V64) 사이의 문턱전압을 갖는 메모리 셀들의 개수를 검출할 수 있다. 메모리 컨트롤러(100)는 검출된 메모리 셀들의 개수의 변화량을 기반으로 밸리 값을 검출할 수 있다.
예를 들어, 메모리 컨트롤러(100)는 도 13 및 도 14를 참조하여 설명된 동작 방법과 다른 방식을 기반으로 밸리 서치 동작을 수행할 수 있다. 또한, 메모리 컨트롤러(100)는 밸리 서치 동작 이외의 다른 동작 방법(예를 들어, 피크 값 검출, 문턱 전압 산포의 하한 값 검출 등)을 기반으로 최적의 독출 레벨 전압을 선정하여 독출 동작을 수행할 수 있다.
또한 실시예에 따라서 밸리 값은 복수개 존재할 수 있는데, 복수개의 밸리 값들 중 최대 값에 해당하는 전압 값이 최적 독출 레벨 전압으로 결정될 수 있다. 또한, 복수개의 밸리 값들 각각을 최적 독출 레벨 전압으로 결정하여 상술한 리커버리 독출 동작을 수행할 수도 있다.
도 15는 도 8b의 S400 단계를 설명하기 위한 도면이다.
S400 단계는 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리클레임 제어 방법을 나타내는 흐름도일 수 있다.
도 15를 참조하면, S400 단계는 S410 단계, S420 단계, S430 단계, S440단계, S450 단계 및 S460 단계를 포함할 수 있다.
S410 단계에서, ECC 엔진(120)은 최적 독출 레벨 전압을 기초로 독출된 제2 기본 데이터의 에러 비트들의 수를 체크하고, 에러 비트들의 수에 관한 정보를 리클레임 관리 모듈(133)에 제공할 수 있다.
S420 단계에서, 리클레임 관리 모듈(133)은 제2 기본 데이터의 에러 비트들의 수를 기준 값과 비교하고, 에러 비트들의 수가 기준 값 이상이면, 상기 제1 페이지를 리클레임 대상으로 결정하고, 제1 페이지에 대한 리클레임 동작을 수행할 수 있다.
어느 하나의 페이지를 리클레임하는 것은 리커버리 독출 동작에 의하여 에러 정정은 되었지만, 상기 어느 하나의 페이지는 얼마 지나지 않으면, 에러를 정정할 수 없으므로, 에러를 정정할 수 없는 상태에 이르기 전에, 에러 정정된 데이터를 물리적으로 다른 프리 페이지로 옮기는 것을 의미한다.
S430 단계에서, 상기 제1 페이지의 리클레임을 체크하기 위하여 리클레임 관리 모듈(133)은 최적 독출 레벨 전압 부근의 관심 영역에 속하는 메모리 셀들의 수를 카운팅할 수 있다.
S440 단계에서, 상기 관심 영역에 속하는 메모리 셀들의 수에 기초하여 상기 제1 페이지의 리클레임 여부를 선택적으로 결정할 수 있다.
S440 단계에서 상기 제1 페이지를 리클레임하지 않기로 결정한 경우, S450 단계에서, 상기 최적 독출 레벨 전압을 기준으로 상기 관심 영역의 문턱 전압 산포에 기초하여 상기 제1 페이지의 리클레임을 체크할 수 있다.
도 16과 도 17은 도 15의 S430 단계를 설명하기 위한 도면들이다.
도 17에서는 간결한 설명을 위하여, 제 6 및 제 7 프로그램 상태들(P6, P7)의 중첩하는 영역에 밸리가 존재하고, 관심 영역(510)은 최적 독출 레벨 전압(VORD)과 최적 독출 레벨 전압(VORD)보다 오프셋 전압(OFS) 만큼 큰 제1 전압(VTO)에 의하여 규정되는 영역이라고 가정한다.
도 16을 참조하면, S430 단계는 S431 단계 및 S433 단계를 포함할 수 있다.
S431 단계에서, 리클레임 관리 모듈(133)은 관심 영역(510)에 속하는 메모리 셀들의 수를 카운팅할 수 있다.
S433 단계에서, 리클레임 관리 모듈(133)은 카운팅된 메모리 셀들의 수를 기준 값과 비교할 수 있다. 여기서 기준 값은 상기 제1 페이지의 데이터들의 오류를 포함하지 않는 경우에 상기 관심 영역(510)에 속하는 메모리 셀들의 수를 나타낼 수 있고, 상기 기준 값은 상기 리클레임 관리 모듈(133)에 미리 저장될 수 있다.
관심 영역(510)에 속하는 메모리 셀들의 수를 카운팅하는 것은 제1 페이지에 연결된 제1 워드라인에 제1 전압(VTO)을 인가하여 턴-온되는 메모리 셀들의 제1 수를 카운팅하고, 상기 제1 워드라인에 최적 독출 레벨 전압(VORD)을 인가하여 턴-온되는 메모리 셀들의 수를 제2 수를 카운팅하고, 상기 제1 수에서 상기 제2 수를 감산하여 관심 영역(510)에 속하는 메모리 셀들의 수를 카운팅할 수 있다.
실시예에 있어서, 관심 영역(510)에 속하는 메모리 셀들의 수를 카운팅하는 것은 제1 페이지에 연결된 제1 워드라인에 최적 독출 레벨 전압(VORD)을 인가하여 턴-오프되는 메모리 셀들의 수를 제1 수를 카운팅하고, 상기 제1 페이지에 연결된 제1 워드라인에 제1 전압(VTO)을 인가하여 턴-오프되는 메모리 셀들의 제2 수를 카운팅하고, 상기 제1 수에서 상기 제2 수를 감산하여 관심 영역(510)에 속하는 메모리 셀들의 수를 카운팅할 수 있다.
관심 영역(510)에 속하는 메모리 셀들의 수는 관심 영역(510)에 해당하는 프로그램 상태의 열화 정도를 나타낼 수 있다. 즉 관심 영역(510)에 해당하는 프로그램 상태의 열화가 심해질수록 밸리 값은 더 증가하게 되고, 관심 영역(510)에 속하는 메모리 셀들의 수는 증가할 것이다. 따라서 관심 영역(510)에 속하는 메모리 셀들의 수를 카운팅하여 상기 제1 페이지의 리클레임 여부를 결정할 수 있다.
다시 도 15를 참조하면, S440단계에서, 리클레임 관리 모듈(133)은 관심 영역(510)에 속하는 메모리 셀들의 수가 기준 값보다 큰 경우에는 상기 제1 페이지를 리클레임하기로 결정하고, 관심 영역(510)에 속하는 메모리 셀들의 수가 기준 값 이하인 경우에서는 상기 제1 페이지를 리클레임하지 않기로 결정할 수 있다.
도 18, 도 19 및 도 20은 도 15의 S450 단계를 설명하기 위한 도면들이다.
도 19 및 도20에서는 간결한 설명을 위하여, 제 6 및 제 7 프로그램 상태들(P6, P7)의 중첩하는 영역에 밸리가 존재하고, 관심 영역(510)은 최적 독출 레벨 전압(VORD)과 최적 독출 레벨 전압(VORD)보다 오프셋 전압(OFS) 만큼 큰 제1 전압(VTO1)에 의하여 규정되는 영역이라고 가정한다.
도 17을 참조하면, S450 단계는 S451 단계 및 S453 단계를 포함할 수 있다.
S451 단계에서, 리클레임 관리 모듈(133)은 최적 독출 레벨 전압(VORD)을 기준으로 관심 영역(510)에 속하는 메모리 셀들의 문턱 전압 산포의 기울기를 산출할 수 있다.
S453 단계에서, 리클레임 관리 모듈(133)은 산출된 관심 영역의 문턱 전압 산포의 기울기(521)와 기준 기울기를 비교할 수 있다. 여기서 기준 기울기는 상기 제1 페이지의 데이터들의 오류를 포함하지 않는 경우에 상기 관심 영역(510)의 문턱 전압 산포의 기울기를 나타낼 수 있고, 상기 기준 기울기는 상기 리클레임 관리 모듈(133)에 미리 저장될 수 있다.
도 19에서, 최적 독출 레벨 전압(VORD)과 최적 독출 레벨 전압(VORD)보다 오프셋 전압(OFS) 만큼 작은 제2 전압(VTO2)에 의하여 규정되는 영역(520)의 문턱 전압 산포의 기울기(a2)는 기준 기울기보다 큰 것으로 가정한다. 이는 제6 프로그램 상태(P6)의 데이터들의 오류가 제7 프로그램 상태(P7)의 데이터들의 오류보다 작음을 의미한다.
도 20은 도 19에서 관심 영역(510)을 확대하여 나타낸 도면이다.
도 20은 도 19에서 관심 영역(510)의 문턱 전압 산포의 기울기를 산출하는 방법을 설명하기 위한 도면이다.
도 20을 참조하면, 리클레임 관리 모듈(133)은 관심 영역(510)의 문턱 전압 산포의 기울기(a1)를 산출하기 위하여 최적 독출 레벨 전압(VORD)과 최적 독출 레벨 전압(VORD)보다 오프셋 전압(OFS)만큼 큰 제1 전압(VTO1)의 전압 범위를 복수의 서브 구간들로 구분한다. 리클레임 관리 모듈(133)은 최적 독출 레벨 전압(VORD)과 최적 독출 레벨 전압(VORD)보다 구간(OFS/n)만큼 큰 제1 구간 전압(VTOS1)에 의하여 규정되는 제1 서브 영역(531)에 속하는 메모리 셀들의 제1 수를 카운팅한다. 리클레임 관리 모듈(133)은 제1 전압(VTO1)과 제1 전압(VTOS1)보다 구간(OFS/n)만큼 작은 제2 구간 전압(VTOS2)에 의하여 규정되는 제2 서브 영역(532)에 속하는 메모리 셀들의 제2 수를 카운팅한다. 리클레임 관리 모듈(133)은 최적 독출 레벨 전압(VORD), 제1 전압(VTO1), 메모리 셀들의 제1 수 및 메모리 셀들의 제2 수에 기초하여 관심 영역(510)의 문턱 전압 산포의 기울기(a1)를 산출할 수 있다.
관심 영역(510)의 문턱 전압 산포의 기울기(a1)는 관심 영역(510)에 해당하는 프로그램 상태의 열화 정도를 나타낼 수 있다. 즉 관심 영역(510)에 해당하는 프로그램 상태의 열화가 심해질수록 밸리 값은 더 증가하게 되고, 관심 영역(510)의 문턱 전압 산포의 기울기는 이에 따라 감소할 것이다. 따라서 관심 영역(510)의 문턱 전압 산포의 기울기를 산출하여 상기 제1 페이지의 리클레임 여부를 결정할 수 있다.
다시 도 15를 참조하면, S460단계에서, 리클레임 관리 모듈(133)은 관심 영역(510)의 문턱 전압 산포의 기울기(a1)가 기준 기울기보다 작은 경우에는 상기 제1 페이지를 리클레임하기로 결정하고, 관심 영역(510)의 문턱 전압 산포의 기울기(a1)가 기준 기울기 이상인 경우에는 상기 제1 페이지를 리클레임하지 않기로 결정할 수 있다.
도 21은 본 발명의 실시예들에 따른 도 2의 저장 장치에서 수행되는 리클레임 동작을 나타낸다.
도 2, 도 3, 도 8b 및 도 15를 참조하면, 리클레임 관리 모듈(133)이 메모리 블록(BLKi)의 하나의 페이지(PAGE2)의 데이터(DATA2)에 대하여 리클레임을 결정하면, ECC 엔진(120)은 데이터(DATA2)의 에러를 정정하여 정정된 데이터(DATA2')를 비휘발성 메모리 장치(200)에 제공하고, 비휘발성 메모리 장치(200)는 정정된 데이터(DATA2')를 메모리 블록(BLKi)의 데이터가 저장되지 않은 프리 페이지(PAGEN-1)에 프로그램하여 리클레임 동작을 수행할 수 있다.
이상에서 본 발명의 실시예들에 따른 비휘발성 메모리 장치의 리클레임 제어 방법 및 저장 장치의 동작 방법이 하나의 페이지에 대하여 수행되는 것으로 설명되었지만, 본 발명의 실시예들에 따른 방법들은 복수의 페이지들에 대하여 순차적으로 수행될 수 있다.
또한 비휘발성 메모리 장치(200)가 3차원 메모리 블록을 포함하는 경우, 제1 메모리 블록은 제1 워드라인에 연결되는 제1 페이지의 제1 메모리 셀들 및 제2 워드라인에 연결되고, 상기 제1 메모리 셀들 위에 적층되는 제2 메모리 셀들을 포함할 수 있다. 이 경우에, 상술한 최적 독출 레벨 전압은 제1 워드라인 및 제2 워드라인에 대하여 서로 달라질 수 있다. 즉 상술한 밸리 서치 동작이 상기 제1 워드라인에 연결되는 제1 페이지 및 상기 제2 워드라인에 연결되는 제2 페이지에 대하여 각각 수행될 수 있다.
상술한 바와 같이 본 발명의 실시예들에 따르면, 에러를 정정할 수 없는 페이지의 데이터에 대하여 최적 독출 레벨 전압을 기초로 리커버리 독출을 수행한 후, 상기 페이지의 에러가 정정된 경우에, 상기 최적 독출 레벨 전압 부근의 문턱 전압 산포를 기초로 상기 페이지의 리클레임 여부를 판단할 수 있다. 따라서 상기 페이지가 추가적으로 열화되어 정정할 수 없는 에러를 포함하는 페이지로 변화하는 것을 방지할 수 있다. 따라서 저장 장치의 성능 및 데이터 신뢰성을 향상시킬 수 있다.
22는 본 발명의 실시예들에 따른 모바일 장치를 나타내는 블록도이다.
도 22를 참조하면, 모바일 장치(1000)는 어플리케이션 프로세서(1100), 통신 모듈(1200), 디스플레이/터치 모듈(1300), 저장 장치(1400), 및 모바일 램(1500)을 포함한다.
어플리케이션 프로세서(1100)는 모바일 장치(1000)의 전반적인 동작을 제어한다. 통신 모듈(1200)은 외부와의 유선/무선 통신을 제어하도록 구현될 수 있다. 디스플레이/터치 모듈(1300)은 어플리케이션 프로세서(1100)에서 처리된 데이터를 디스플레이 하거나, 터치 패널로부터 데이터를 입력 받도록 구현될 수 있다. 저장 장치(1400)는 사용자의 데이터를 저장하도록 구현될 수 있다.
저장 장치(1400)는 eMMC, SSD, UFS 장치일 수 있다. 저장 장치(1400)는 도 2의 저장 장치(30)로 구현될 수 있다. 따라서 저장 장치(1400)는 메모리 컨트롤러와 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있고, 상기 메모리 컨트롤러는 에러를 정정할 수 없는 페이지의 데이터에 대하여 최적 독출 레벨 전압을 기초로 리커버리 독출을 수행한 후, 상기 페이지의 에러가 정정된 경우에, 상기 최적 독출 레벨 전압 부근의 문턱 전압 산포를 기초로 상기 페이지의 리클레임 여부를 판단할 수 있다. 따라서 상기 페이지가 추가적으로 열화되어 정정할 수 없는 에러를 포함하는 페이지로 변화하는 것을 방지할 수 있다.
모바일 램(1500)은 모바일 장치(1000)의 처리 동작 시 필요한 데이터를 임시로 저장하도록 구현될 수 있다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치 또는 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다.
본 발명은 비휘발성 메모리 장치를 구비하는 임의의 전자 장치에 유용하게 이용될 수 있다. 예를 들어, 본 발명은 비휘발성 메모리 장치를 구비하는 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등에 적용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
20: 호스트 30: 저장 장치
100: 메모리 컨트롤러 131: 독출 관리 모듈
133: 리클레임 관리 모듈
200: 비휘발성 메모리 장치 300: 메모리 셀 어레이
430: 어드레스 디코더 410: 페이지 버퍼 회로
420: 데이터 입출력 회로 450: 제어 회로
700: 전압 생성기

Claims (20)

  1. 복수의 메모리 블록들을 포함하고, 상기 메모리 블록들 각각은 복수의 페이지들을 구비하는 메모리 셀 어레이를 포함하는 비휘발성 메모리 장치의 리클레임 제어 방법으로서,
    상기 메모리 블록들 중 제1 메모리 블록의 제1 페이지로부터 독출된 제1 데이터의 에러가 정정되지 않는 경우, 상기 제1 데이터를 기초로 결정된 최적 독출 레벨 전압을 이용하여 상기 제1 데이터에 대하여 리커버리 독출 동작을 수행하는 단계; 및
    상기 리커버리 독출 동작의 수행 결과 상기 제1 데이터의 에러가 정정되는 경우, 상기 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단하는 단계를 포함하고,
    상기 최적 독출 레벨 전압은 상기 제1 페이지의 메모리 셀들의 복수의 프로그램 상태들 중 두 개의 프로그램 상태들이 중첩하는 영역에서의 밸리(valley)에 해당하는 문턱 전압을 나타내고,
    상기 관심 영역은 상기 두 개의 프로그램 상태들 중 적어도 하나에서 상기 최적 독출 레벨 전압과 상기 최적 독출 레벨 전압과 오프셋 전압의 차이를 가지는 제1 전압에 의하여 규정되는 영역인 비휘발성 메모리 장치의 리클레임 제어 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 제1 페이지의 리클레임 수행 여부를 판단하는 단계는
    상기 제1 페이지의 메모리 셀들 중 상기 관심 영역에 속하는 메모리 셀들의 수를 카운팅하는 단계;
    상기 카운팅된 메모리 셀들의 수를 기준 값과 제1 비교하는 단계; 및
    상기 제1 비교의 결과에 기초하여 상기 제1 페이지의 리클레임을 선택적으로 결정하는 단계를 포함하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  4. 제3항에 있어서,
    상기 카운팅된 메모리 셀들의 수가 상기 기준 값 보다 큰 경우에는 상기 제1 페이지를 리클레임하기로 결정하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  5. 제3항에 있어서,
    상기 카운팅된 메모리 셀들의 수가 상기 기준 값 이하인 경우에는 상기 제1 페이지를 리클레임하지 않기로 결정하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  6. 제3항에 있어서,
    상기 관심 영역에 속하는 메모리 셀들의 수를 카운팅하는 단계는,
    상기 제1 페이지에 상기 제1 전압을 인가하여 상기 제1 페이지의 메모리 셀들 중 턴-온되는 메모리 셀들의 제1 수를 카운팅하는 단계;
    상기 제1 페이지에 상기 최적 독출 레벨 전압을 인가하여 상기 제1 페이지의 메모리 셀들 중 턴-온되는 메모리 셀들의 제2 수를 카운팅하는 단계; 및
    상기 제1 수와 상기 제2 수의 차이를 산출하는 단계를 포함하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  7. 제3항에 있어서, 상기 제1 비교의 결과에 기초하여 상기 제1 페이지를 리클레임하지 않기로 결정한 경우,
    상기 최적 독출 레벨 전압을 기준으로 하여 상기 관심 영역의 문턱 전압 산포의 기울기를 산출하는 단계;
    상기 산출된 기울기와 기준 기울기를 제2 비교하는 단계; 및
    상기 제2 비교의 결과에 기초하여 상기 제1 페이지의 리클레임을 선택적으로 결정하는 단계를 더 포함하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  8. 제7항에 있어서,
    상기 산출된 기울기가 상기 기준 기울기보다 작은 경우에는 상기 제1 페이지를 리클레임하기로 결정하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  9. 제7항에 있어서,
    상기 산출된 기울기가 상기 기준 기울기 이상인 경우에는 상기 제1 페이지를 리클레임하지 않기로 결정하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  10. 제1항에 있어서,
    상기 제1 페이지를 리클레임하기로 결정한 경우, 상기 제1 페이지의 적어도 하나의 에러를 정정하고, 상기 정정된 제1 페이지를 상기 제1 페이지와는 다른 프리 페이지인 제2 페이지에 상기 정정된 제1 페이지를 프로그램하는 비휘발성 메모리 장치의 리클레임 제어 방법.
  11. 제1항에 있어서,
    상기 제1 페이지의 메모리 셀들의 복수의 프로그램 상태들 중 두 개의 프로그램 상태들이 중첩하는 영역에서의 밸리(valley)가 복수 개 존재하는 경우, 상기 최적 독출 레벨 전압은 상기 밸리들이 나타내는 메모리 셀들의 수들 중 최대값에 해당하는 밸리의 문턱 전압을 나타내는 비휘발성 메모리 장치의 리클레임 제어 방법.
  12. 복수의 메모리 블록들을 포함하고, 상기 메모리 블록들 각각은 복수의 페이지들을 구비하는 메모리 셀 어레이를 포함하는 적어도 하나의 비휘발성 메모리 장치 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하는 저장 장치의 동작 방법으로서,
    기본 전압 세트를 기초로 상기 메모리 블록들 중 제1 메모리 블록의 제1 페이지에 대하여 기본 독출 동작을 수행하여 제1 데이터를 생성하는 단계;
    상기 제1 데이터의 에러가 정정되지 않는 경우, 상기 제1 데이터를 기초로 최적 독출 레벨 전압을 결정하고, 상기 최적 독출 레벨 전압에 기초하여 상기 제1 데이터에 대하여 리커버리 독출 동작을 수행하는 단계; 및
    상기 리커버리 독출 동작의 수행 결과, 상기 제1 데이터의 에러가 정정되는 경우, 상기 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 제1 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단하는 단계를 포함하고,
    상기 최적 독출 레벨 전압은 상기 제1 페이지의 제1 메모리 셀들의 복수의 프로그램 상태들 중 두 개의 프로그램 상태들이 중첩하는 영역에서의 밸리(valley)에 해당하는 문턱 전압을 나타내고,
    상기 관심 영역은 상기 두 개의 프로그램 상태들 중 적어도 하나에서 상기 최적 독출 레벨 전압과 상기 최적 독출 레벨 전압과 오프셋 전압의 차이를 가지는 제1 전압에 의하여 규정되는 영역인 저장 장치의 동작 방법.
  13. 삭제
  14. 제12항에 있어서, 상기 제1 페이지의 리클레임 수행 여부를 판단하는 단계는
    상기 제1 페이지의 제1 메모리 셀들 중 상기 관심 영역에 속하는 메모리 셀들의 수를 카운팅하는 단계;
    상기 카운팅된 메모리 셀들의 수를 기준 값과 제1 비교하는 단계; 및
    상기 제1 비교의 결과에 기초하여 상기 제1 페이지의 리클레임을 선택적으로 결정하는 단계를 포함하는 저장 장치의 동작 방법.
  15. 제14항에 있어서, 상기 제1 비교의 결과에 기초하여 상기 제1 페이지를 리클레임하지 않기로 결정한 경우,
    상기 최적 독출 레벨 전압을 기준으로 하여 상기 관심 영역의 문턱 전압 산포의 기울기를 산출하는 단계;
    상기 산출된 기울기와 기준 기울기를 제2 비교하는 단계; 및
    상기 제2 비교의 결과에 기초하여 상기 제1 페이지의 리클레임을 선택적으로 결정하는 단계를 더 포함하는 저장 장치의 동작 방법.
  16. 제12항에 있어서,
    상기 제1 페이지를 리클레임하기로 결정한 경우, 상기 제1 페이지의 적어도 하나의 에러를 정정하고, 상기 정정된 제1 페이지를 상기 제1 페이지와는 다른 프리 페이지인 제2 페이지에 상기 정정된 제1 페이지를 프로그램하는 저장 장치의 동작 방법.
  17. 제12항에 있어서, 상기 제1 메모리 블록은
    제1 워드라인에 연결되는 상기 제1 메모리 셀들; 및
    제2 워드라인에 연결되고, 상기 제1 메모리 셀들 위에 적층되는 제2 메모리 셀들을 포함하고,
    상기 제1 워드라인 및 상기 제2 워드라인에 대하여 상기 최적 독출 레벨 전압이 달라지는 저장 장치의 동작 방법.
  18. 독출 커맨드 및 어드레스에 응답하여 메모리 셀 어레이의 제1 메모리 블록의 제1 페이지로부터 제1 데이터를 독출하는 비휘발성 메모리 장치; 및
    상기 독출 커맨드 및 상기 어드레스를 상기 비휘발성 메모리 장치에 인가하고, 기본 전압 세트를 기초로 상기 제1 데이터가 정정불가능한 에러를 포함하는지 여부를 판단하고, 상기 제1 데이터의 에러가 정정되지 않는 경우, 상기 제1 데이터를 기초로 최적 독출 레벨 전압을 결정하고, 상기 최적 독출 레벨 전압에 기초하여 상기 제1 데이터에 대하여 리커버리 독출 동작을 수행하고, 상기 리커버리 독출 동작의 수행 결과, 상기 제1 데이터의 에러가 정정되는 경우, 상기 최적 독출 레벨 전압 부근의 관심 영역의 상기 제1 페이지의 제1 메모리 셀들의 문턱 전압 산포를 기초로 상기 제1 페이지의 리클레임 수행 여부를 판단하는 메모리 컨트롤러를 포함하고,
    상기 최적 독출 레벨 전압은 상기 제1 페이지의 제1 메모리 셀들의 복수의 프로그램 상태들 중 두 개의 프로그램 상태들이 중첩하는 영역에서의 밸리(valley)에 해당하는 문턱 전압을 나타내고,
    상기 관심 영역은 상기 두 개의 프로그램 상태들 중 적어도 하나에서 상기 최적 독출 레벨 전압과 상기 최적 독출 레벨 전압과 오프셋 전압의 차이를 가지는 제1 전압에 의하여 규정되는 영역인 저장 장치.
  19. 제18항에 있어서,
    상기 메모리 셀 어레이는 상기 제1 메모리 블록을 포함하는 복수의 메모리 블록들을 포함하고, 상기 복수의 메모리 블록들 각각은 비트라인과 공통 소스 라인 사이에 연결되며 기판과 수직한 방향으로 형성되는 복수의 메모리 셀 스트링들을 포함하고,
    상기 메모리 컨트롤러는
    상기 최적 독출 레벨 전압을 검색하여 상기 리커버리 독출 동작을 수행하는 독출 관리 모듈;
    상기 최적 독출 레벨 전압을 제공받아 상기 리클레임 수행 여부를 판단하는 리클레임 관리 모듈; 및
    상기 독출 관리 모듈 및 상기 리클레임 관리 모듈을 제어하는 프로세서를 포함하는 저장 장치.
  20. 제19항에 있어서,
    상기 리클레임 관리 모듈은
    상기 제1 페이지의 제1 메모리 셀들 중 상기 관심 영역에 속하는 메모리 셀들의 수를 카운팅하고, 상기 카운팅된 메모리 셀들의 수를 기준값과 비교하고, 상기 카운팅된 메모리 셀들의 수가 상기 기준 값보다 작은 경우에는 상기 제1 페이지를 리클레임하지 않기로 결정하고,
    상기 리클레임하지 않기로 결정된 상기 제1 페이지에 대하여 상기 최적 독출 레벨 전압을 기준으로 상기 관심 영역의 문턱 전압 산포의 기울기를 산출하고, 상기 산출된 기울기가 기준 기울기보다 작은 경우에는 상기 제1 페이지를 리클레임하기로 결정하는 저장 장치.
KR1020160131977A 2016-10-12 2016-10-12 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 Active KR102687216B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160131977A KR102687216B1 (ko) 2016-10-12 2016-10-12 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치
US15/494,507 US10340947B2 (en) 2016-10-12 2017-04-23 Methods of controlling reclaim of nonvolatile memory devices, methods of operating storage devices, and storage devices
CN201710697138.5A CN107943712B (zh) 2016-10-12 2017-08-15 控制存储器设备的回收的方法、存储设备及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160131977A KR102687216B1 (ko) 2016-10-12 2016-10-12 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치

Publications (2)

Publication Number Publication Date
KR20180040288A KR20180040288A (ko) 2018-04-20
KR102687216B1 true KR102687216B1 (ko) 2024-07-22

Family

ID=61829166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160131977A Active KR102687216B1 (ko) 2016-10-12 2016-10-12 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치

Country Status (3)

Country Link
US (1) US10340947B2 (ko)
KR (1) KR102687216B1 (ko)
CN (1) CN107943712B (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102224564B1 (ko) * 2017-03-29 2021-03-09 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US10430116B2 (en) * 2017-08-31 2019-10-01 Micron Technology, Inc. Correcting power loss in NAND memory devices
KR102532563B1 (ko) * 2018-03-28 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작방법
KR102549548B1 (ko) * 2018-05-08 2023-06-30 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작 방법 및 전자 장치
US11099781B2 (en) 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device
KR102634700B1 (ko) * 2018-08-14 2024-02-13 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
USD905650S1 (en) * 2018-08-29 2020-12-22 Samsung Electronics Co., Ltd. Television receiver
KR20200028255A (ko) * 2018-09-06 2020-03-16 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
JP2020047322A (ja) * 2018-09-14 2020-03-26 キオクシア株式会社 メモリシステム
US11086529B2 (en) 2018-09-26 2021-08-10 Western Digital Technologies, Inc. Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery
KR102535110B1 (ko) * 2018-10-01 2023-05-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10656995B2 (en) 2018-10-03 2020-05-19 Micron Technology, Inc. Copy-back operations in a memory device
KR102610821B1 (ko) * 2018-11-15 2023-12-06 삼성전자주식회사 내구성 저하를 판단하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법
KR102608958B1 (ko) 2018-11-19 2023-12-01 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
KR102610395B1 (ko) * 2019-01-22 2023-12-05 삼성전자주식회사 비휘발성 메모리 장치를 포함하는 메모리 시스템
US11256778B2 (en) 2019-02-14 2022-02-22 Micron Technology, Inc. Methods and apparatus for checking the results of characterized memory searches
US11327551B2 (en) * 2019-02-14 2022-05-10 Micron Technology, Inc. Methods and apparatus for characterizing memory devices
US10866858B2 (en) * 2019-04-16 2020-12-15 Samsung Electronics Co., Ltd. Memory systems having reduced memory channel traffic and methods for operating the same
US12118056B2 (en) 2019-05-03 2024-10-15 Micron Technology, Inc. Methods and apparatus for performing matrix transformations within a memory array
KR102693235B1 (ko) * 2019-05-27 2024-08-09 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
KR102738687B1 (ko) * 2019-08-06 2024-12-09 삼성전자주식회사 스토리지 장치 및 이를 포함하는 스토리지 시스템
KR102704694B1 (ko) * 2019-08-13 2024-09-10 삼성전자주식회사 신뢰성 향상을 위한 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치
US11010244B2 (en) * 2019-09-16 2021-05-18 Macronix International Co., Ltd. Memory data management method
KR20210054396A (ko) * 2019-11-05 2021-05-13 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
KR102715392B1 (ko) * 2019-11-28 2024-10-11 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
CN111026675B (zh) * 2019-12-06 2022-02-15 华中科技大学 一种高效的闪存数据刷新方法及基于闪存的固态硬盘
US10950315B1 (en) 2019-12-16 2021-03-16 Micron Technology, Inc. Preread and read threshold voltage optimization
US11056211B1 (en) * 2020-01-08 2021-07-06 Western Digital Technologies, Inc. Apparatus and method for handling temperature dependent failures in a memory device
US11393534B2 (en) * 2020-05-28 2022-07-19 Micron Technology, Inc. Adjustment of a starting voltage corresponding to a program operation in a memory sub-system
US11314583B2 (en) * 2020-08-18 2022-04-26 Micron Technology, Inc. Memory data correction using multiple error control operations
KR20220060572A (ko) * 2020-11-04 2022-05-12 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법
CN113223593B (zh) * 2021-04-23 2023-04-11 联芸科技(杭州)股份有限公司 存储单元的读取电压优化方法、3d存储器的控制器及其操作方法
KR102491652B1 (ko) 2021-09-17 2023-01-27 삼성전자주식회사 산포 타입을 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법
CN114038494A (zh) * 2021-11-23 2022-02-11 长江存储科技有限责任公司 非易失性存储装置及其操作方法
EP4318248A1 (en) * 2022-08-04 2024-02-07 Samsung Electronics Co., Ltd. Non-volatile memory device determining read reclaim, method of operating the same, and method of operating storage device including the same
KR102546274B1 (ko) 2022-08-04 2023-06-21 삼성전자주식회사 리드 리클레임을 결정하는 비-휘발성 메모리 장치, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법
KR20240050918A (ko) 2022-10-12 2024-04-19 삼성전자주식회사 비휘발성 메모리 장치, 저장 장치, 스토리지 컨트롤러의 동작 방법, 및 저장 장치의 동작 방법
KR20240175251A (ko) * 2023-06-12 2024-12-19 삼성전자주식회사 읽기 리클레임 모듈을 포함하는 저장 장치 및 그것의 리클레임 동작 방법
CN117636967B (zh) * 2024-01-25 2024-04-30 合肥兆芯电子有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160246674A1 (en) 2013-11-28 2016-08-25 Seagate Technology Llc Flash Channel with Selective Decoder Likelihood Dampening

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077284A1 (en) 2006-12-27 2008-07-03 Intel Corporation Initiative wear leveling for non-volatile memory
US8595593B2 (en) * 2008-12-24 2013-11-26 Hynix Semiconductor Inc. Nonvolatile memory device having a copy back operation and method of operating the same
KR20100093885A (ko) * 2009-02-17 2010-08-26 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR20100102925A (ko) 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
US20130159610A1 (en) 2011-12-16 2013-06-20 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device related method of operation
KR102025263B1 (ko) * 2012-10-05 2019-09-25 삼성전자주식회사 메모리 시스템 및 그것의 읽기 교정 방법
KR20140045168A (ko) * 2012-10-08 2014-04-16 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
KR102089532B1 (ko) 2013-02-06 2020-03-16 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
KR102025193B1 (ko) 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
KR102110767B1 (ko) 2013-12-24 2020-06-09 삼성전자 주식회사 메모리 컨트롤러 구동방법 및 메모리 컨트롤러
KR102174030B1 (ko) * 2014-05-13 2020-11-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법
KR20150140496A (ko) * 2014-06-05 2015-12-16 삼성전자주식회사 실시간 데이터 복구를 위한 리드 리클레임 방법 및 그에 따른 메모리 시스템
KR102128406B1 (ko) 2014-09-26 2020-07-10 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102287760B1 (ko) 2014-10-29 2021-08-09 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
US9606733B2 (en) 2014-11-10 2017-03-28 Silicon Motion, Inc. Data storage device and operating method
KR102282947B1 (ko) 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160246674A1 (en) 2013-11-28 2016-08-25 Seagate Technology Llc Flash Channel with Selective Decoder Likelihood Dampening

Also Published As

Publication number Publication date
KR20180040288A (ko) 2018-04-20
CN107943712B (zh) 2023-03-07
US10340947B2 (en) 2019-07-02
US20180102790A1 (en) 2018-04-12
CN107943712A (zh) 2018-04-20

Similar Documents

Publication Publication Date Title
KR102687216B1 (ko) 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치
KR102302187B1 (ko) 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치
US9690654B2 (en) Operation method of nonvolatile memory system
KR102435873B1 (ko) 스토리지 장치 및 그것의 리드 리클레임 방법
KR102290974B1 (ko) 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법
US9478300B2 (en) Operation method of nonvolatile memory system
KR102634700B1 (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
US10528420B2 (en) Flash memory system having abnormal wordline detector and abnormal wordline detection method
KR102190241B1 (ko) 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템
KR102452994B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR102585221B1 (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
US9064545B2 (en) Nonvolatile memory device having adjustable program pulse width
KR20170097267A (ko) 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치
KR102669409B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
US9036422B2 (en) Semiconductor memory device and method of operating the same
US10672481B2 (en) Semiconductor memory device and operating method thereof
US8218371B2 (en) Multi-bit flash memory device and method of analyzing flag cells of the same
KR102617350B1 (ko) 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
KR101642930B1 (ko) 더미 셀을 갖는 불휘발성 메모리 장치 및 그것의 프로그램 방법
US11941271B2 (en) Storage devices performing secure erase and operating methods thereof
KR102694842B1 (ko) 비휘발성 메모리 장치의 동작 방법, 스토리지 장치의 동작 방법 및 스토리지 장치

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20161012

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20211006

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20161012

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240227

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20240530

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20240717

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20240718

End annual number: 3

Start annual number: 1

PG1601 Publication of registration