[go: up one dir, main page]

KR20160146332A - 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법 - Google Patents

복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20160146332A
KR20160146332A KR1020150083442A KR20150083442A KR20160146332A KR 20160146332 A KR20160146332 A KR 20160146332A KR 1020150083442 A KR1020150083442 A KR 1020150083442A KR 20150083442 A KR20150083442 A KR 20150083442A KR 20160146332 A KR20160146332 A KR 20160146332A
Authority
KR
South Korea
Prior art keywords
storage area
value
read
pages
operations
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.)
Withdrawn
Application number
KR1020150083442A
Other languages
English (en)
Inventor
양찬우
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020150083442A priority Critical patent/KR20160146332A/ko
Priority to TW105106177A priority patent/TWI686811B/zh
Priority to US15/063,065 priority patent/US10354743B2/en
Priority to CN201610342093.5A priority patent/CN106250054B/zh
Publication of KR20160146332A publication Critical patent/KR20160146332A/ko
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • G11C29/789Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

본 발명의 실시 예에 따른 메모리 시스템의 동작 방법은, 각 저장 영역에 포함된 청크들에 대해 에러 정정 동작들을 수행하여 저장 영역들에 각각 대응하는 신뢰값들을 산출하는 단계, 신뢰값들에 기반하여 저장 영역들에 각각 대응하는 테스트 읽기 주기들을 설정하는 단계, 저장 영역들에 각각 대응하는 액세스 카운트들을 관리하는 단계, 그리고 저장 영역들 중 제 1 저장 영역의 액세스 카운트가 해당 테스트 읽기 주기에 도달할 때 제 1 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행하는 단계를 포함한다.

Description

복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법{MEMORY SYSTEM INCLUDING PLURALITY OF STORAGE AREAS AND METHOD OF OPERATING THE SAME}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리(Nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM (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) 등이 있다. 플래시 메모리는 크게 노어 타입과 낸드 타입으로 구분된다.
본 발명의 실시 예는 향상된 동작 속도를 갖는 메모리 시스템 및 그것의 동작 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 메모리 시스템의 동작 방법은 각 저장 영역에 포함된 청크들에 대해 에러 정정 동작들을 수행하여 저장 영역들에 각각 대응하는 신뢰값들을 산출하는 단계; 상기 신뢰값들에 기반하여, 상기 저장 영역들에 각각 대응하는 테스트 읽기 주기들을 설정하는 단계; 상기 각 저장 영역에 대한 노멀 읽기 동작들의 횟수를 카운트하여 상기 저장 영역들에 각각 대응하는 액세스 카운트들을 관리하는 단계; 및 상기 저장 영역들 중 제 1 저장 영역의 액세스 카운트가 해당 테스트 읽기 주기에 도달할 때, 상기 제 1 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행하는 단계를 포함한다.
실시 예로서, 상기 적어도 한번의 테스트 읽기 동작에 따라 상기 제 1 저장 영역의 청크들이 읽어진다. 이때, 상기 동작 방법은 상기 제 1 저장 영역의 상기 청크들에 대해 상기 에러 정정 동작들을 수행하는 단계; 및 상기 에러 정정 동작들의 결과 상기 제 1 저장 영역의 상기 청크들 중 임계치 이상의 에러 비트들을 포함하는 청크가 감지될 때, 상기 제 1 저장 영역에 대한 읽기 리클레임(read reclaim)을 수행하는 단계를 더 포함할 수 있다.
실시 예로서, 상기 읽기 리클레임을 수행하는 단계는, 상기 제 1 저장 영역에 저장된 데이터를 상기 저장 영역들 중 제 2 저장 영역에 복사하는 단계를 포함한다.
실시 예로서, 상기 신뢰값들을 산출하는 단계는, 상기 각 저장 영역에 포함된 상기 청크들에 대해 상기 에러 정정 동작들을 수행함으로써 상기 청크들에 각각 대응하는 에러값들을 산출하는 단계; 및 상기 에러값들 중 최대 에러값을 해당 저장 영역에 대응하는 신뢰값으로서 정의하는 단계를 포함한다.
실시 예로서, 상기 최대 에러값이 기준값보다 클 때 상기 해당 저장 영역의 테스트 읽기 주기는 제 1 값이고, 상기 최대 에러값이 상기 기준값보다 적거나 같을 때 상기 해당 저장 영역의 상기 테스트 읽기 주기는 제 2 값일 수 있다. 이때, 상기 제 2 값은 상기 제 1 값보다 크다.
실시 예로서, 상기 최대 에러값이 클수록 상기 해당 저장 영역의 테스트 읽기 주기는 감소하고, 상기 최대 에러값이 적을수록 상기 해당 저장 영역의 상기 테스트 읽기 주기는 증가할 수 있다.
실시 예로서, 상기 저장 영역들 각각은 복수의 페이지들을 포함하고, 상기 에러 정정 동작들이 수행되는 상기 청크들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들 중 하나의 대표(representative) 페이지에 포함될 수 있다. 이때, 상기 각 저장 영역에 대한 상기 노멀 읽기 동작들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들에 대해 수행될 것이다. 그리고, 상기 적어도 한번의 테스트 읽기 동작은 상기 제 1 저장 영역의 상기 대표 페이지에 대해 수행될 것이다.
실시 예로서, 상기 저장 영역들 각각은 복수의 페이지들을 포함하고, 상기 에러 정정 동작들이 수행되는 상기 청크들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들 중 2 이상의 대표 페이지들에 포함될 수 있다. 이때, 상기 각 저장 영역에 대한 상기 노멀 읽기 동작들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들에 대해 수행될 것이다. 그리고, 상기 적어도 한번의 테스트 읽기 동작은 상기 제 1 저장 영역의 상기 대표 페이지들에 대해 수행될 것이다.
본 발명의 다른 실시 예에 따른 메모리 시스템의 동작 방법은, 외부로부터의 제 1 요청들에 응답하여, 복수의 저장 영역들 중 선택된 저장 영역에 대해 제 1 노멀 읽기 동작들을 수행하는 단계; 상기 제 1 노멀 읽기 동작들이 수행된 횟수가 소정의 횟수보다 클 때, 상기 선택된 저장 영역에 포함된 청크들에 대해 에러 정정 동작들을 수행하여 상기 선택된 저장 영역에 대응하는 신뢰값을 산출하는 단계; 상기 신뢰값에 기반하여, 상기 선택된 저장 영역에 대응하는 테스트 읽기 주기를 설정하는 단계; 외부로부터의 제 2 요청들에 응답하여, 상기 선택된 저장 영역에 대해 제 2 노멀 읽기 동작들을 수행하는 단계; 상기 제 2 노멀 읽기 동작들이 수행된 횟수를 카운트하여 상기 선택된 저장 영역에 대응하는 액세스 카운트를 관리하는 단계; 및 상기 액세스 카운트가 상기 테스트 읽기 주기에 도달할 때, 상기 선택된 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행하는 단계를 포함한다.
본 발명의 다른 일면은 반도체 메모리 장치 및 컨트롤러를 포함하는 메모리 시스템에 관한 것이다. 본 발명의 실시 예에 따른 메모리 시스템은 복수의 메모리 셀들을 갖는 저장 영역들을 포함하는 반도체 메모리 장치; 및 상기 반도체 메모리 장치를 액세스하는 컨트롤러를 포함하되, 상기 컨트롤러는, 각 저장 영역에 포함된 청크들에 대한 에러 정정 동작들에 기초하여 상기 저장 영역들에 각각 대응하는 신뢰값들을 산출하는 메모리 제어부; 상기 신뢰값들에 기반하여 상기 저장 영역들에 각각 대응하는 테스트 읽기 주기들을 설정하는 테스트 읽기 제어부; 상기 테스트 읽기 주기들을 저장하는 램; 상기 각 저장 영역에 대한 노멀 읽기 동작들의 횟수를 카운트하여 상기 저장 영역들에 각각 대응하는 액세스 카운트들을 관리하는 액세스 카운터를 포함한다. 이때, 상기 테스트 읽기 제어부는 상기 저장 영역들 중 액세스 카운트가 해당 테스트 읽기 주기에 도달한 저장 영역을 검출하고, 상기 메모리 제어부는 상기 검출된 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행하여 읽기 리클레임의 수행 여부를 결정한다.
본 발명의 실시 예에 따르면, 향상된 동작 속도를 갖는 메모리 시스템 및 그것의 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1의 반도체 메모리 장치의 일 실시 예를 보여주는 블록도이다.
도 3은 복수의 메모리 블록들 중 어느 하나를 보여주는 블록도이다.
도 4는 도 1의 반도체 메모리 장치의 다른 실시 예를 보여주는 블록도이다.
도 5는 도 1의 반도체 메모리 장치의 또 다른 실시 예를 보여주는 블록도이다.
도 6은 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 보여주는 순서도이다.
도 7은 하나의 저장 영역에 대응하는 신뢰값을 산출하는 실시 예를 설명하기 위한 도면이다.
도 8은 최대 에러값에 기반하여 테스트 읽기 주기를 결정하는 실시 예를 설명하기 위한 도면이다.
도 9는 테스트 읽기 주기들을 저장하는 제 1 테이블을 보여주는 도면이다.
도 10은 액세스 카운트들을 저장하는 제 2 테이블을 보여주는 도면이다.
도 11은 각 저장 영역 내 페이지들 중 대표 페이지를 보여주는 도면이다.
도 12는 각 저장 영역 내 페이지들 중 2 이상의 대표 페이지들을 보여주는 도면이다.
도 13은 읽기 리클레임의 수행 여부를 결정하는 방법을 설명하기 위한 도면이다.
도 14는 읽기 리클레임을 설명하기 위한 개념도이다.
도 15는 본 발명의 다른 실시 예에 따른 메모리 시스템의 동작 방법을 보여주는 순서도이다.
도 16은 도 1의 컨트롤러를 구현하기 위한 일 실시 예를 보여주는 블록도이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(1000)을 보여주는 블록도이다.
도 1을 참조하면, 메모리 시스템(1000)은 반도체 메모리 장치(100) 및 컨트롤러(200)를 포함한다.
반도체 메모리 장치(100)는 컨트롤러(200)의 제어에 응답하여 동작한다. 반도체 메모리 장치(100)는 복수의 저장 영역들(110~1n0)을 포함한다. 복수의 저장 영역들(110~1n0) 각각은 복수의 페이지들을 포함한다.
반도체 메모리 장치(100)는 컨트롤러(200)의 제어에 따라, 복수의 저장 영역들(110~1n0)에 데이터를 프로그램하고, 복수의 저장 영역들(110~1n0)로부터 읽어진 데이터를 컨트롤러(200)에 출력하고, 복수의 저장 영역들(110~1n0)에 저장된 데이터를 소거하도록 구성된다.
컨트롤러(200)는 반도체 메모리 장치(100)의 제반 동작을 제어한다. 컨트롤러(200)는 외부 호스트(미도시)로부터의 요청에 응답하여 반도체 메모리 장치(100)를 액세스하도록 구성된다.
컨트롤러(200)는 메모리 제어부(210), 에러 정정 블록(220), 테스트 읽기 제어부(230), 램(240), 및 액세스 카운터(250)를 포함한다.
메모리 제어부(210)는 반도체 메모리 장치(100)의 읽기 동작, 프로그램 동작, 소거 동작, 그리고 배경(background) 동작을 제어하도록 구성된다. 메모리 제어부(210)는 반도체 메모리 장치(100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
호스트로부터 읽기 요청(request)을 수신할 때, 메모리 제어부(210)는 읽기 요청에 해당하는 페이지(즉, 선택된 페이지)의 데이터를 읽기 위해 읽기 동작을 나타내는 커맨드(이하, 읽기 커맨드)를 반도체 메모리 장치(100)에 제공할 것이다. 메모리 제어부(210)는 읽기 요청에 포함된 논리 블록 어드레스(Logical Block Address)를 물리 블록 어드레스(Physical Block Address)로 변환할 것이다. 실시 예로서, 메모리 제어부(210)는 플래시 변환 레이어(Flash Translation Layer, FTL)의 기능을 수행한다. 메모리 제어부(210)는 읽기 커맨드와 함께 생성된 물리 블록 어드레스를 반도체 메모리 장치(100)에 제공할 것이다. 읽기 커맨드에 응답하여, 반도체 메모리 장치(100)는 선택된 저장 영역의 선택된 페이지로부터 데이터를 읽고, 읽어진 데이터를 컨트롤러(200)에 전송한다.
에러 정정 블록(220)은 읽어진 데이터에 포함된 에러를 정정하도록 구성된다. 에러 정정 블록(220)은 정해진 수의 데이터 비트들의 단위로 에러 정정 동작을 수행할 것이다. 예를 들면, 하나의 페이지는 4개의 청크(chunk)들로 구성되고, 각 에러 정정 동작은 하나의 청크에 대해 수행될 것이다. 하나의 페이지 전체에 해당하는 데이터가 읽어진 경우 4번의 에러 정정 동작들이 수행될 수 있다.
에러 정정 블록(220)는 읽어진 데이터를 에러 정정 코드(Error Correction Code)에 따라 디코드할 것이다. 에러 정정 코드로서 다양한 방식들이 이용될 수 있음이 이해될 것이다. 예를 들면, BCH 코드(Bose, Chaudhri, Hocquenghem Code), 리드 솔로몬 코드(Reed Solomon Code), 해밍 코드(Hamming code), LDPC 코드(low density parity check Code) 등 다양한 방식들의 에러 정정 코드들이 이용될 수 있음이 이해될 것이다.
하나의 청크의 데이터 비트들 중 에러 비트들의 수가 보장된 개수보다 클 때, 에러 정정 블록(220)은 해당 청크의 에러를 정정할 수 없다. 청크의 데이터 비트들이 보장된 개수보다 많은 수의 에러 비트들을 포함할 때 에러 정정 동작은 실패할 것이다. 청크의 데이터 비트들이 보장된 개수보다 적거나 같은 에러 비트들을 포함할 때, 에러 정정 동작은 성공할 것이다.
본 발명의 실시 예에 따르면, 테스트 읽기 주기를 설정하기 위해, 메모리 제어부(210)는 외부 호스트로부터의 읽기 요청 없이도 각 저장 영역에 포함된 페이지에 대해 읽기 동작을 수행한다. 메모리 제어부(210)는 읽어진 데이터에 대해 에러 정정 동작들을 수행하도록 에러 정정 블록(220)을 제어한다. 메모리 제어부(210)는 에러 정정 동작들에 기반하여 제 1 내지 제 n 저장 영역들(110~1n0)에 각각 대응하는 제 1 내지 제 n 신뢰값들을 산출하도록 구성된다.
테스트 읽기 제어부(230)는 메모리 제어부(210)의 제어에 따라 동작한다. 테스트 읽기 제어부(230)는 산출된 제 1 내지 제 n 신뢰값들에 기반하여 제 1 내지 제 n 테스트 읽기 주기들을 설정하도록 구성된다. 제 1 내지 제 n 테스트 읽기 주기들은 제 1 내지 제 n 저장 영역들(110~1n0)에 각각 대응한다. 제 1 내지 제 n 테스트 읽기 주기들은 서로 독립적이다.
테스트 읽기 제어부(230)는 제 1 내지 제 n 테스트 읽기 주기들을 램(240)에 저장한다.
액세스 카운터(250)는 제 1 내지 제 n 테스트 읽기 주기들이 설정된 후, 각 저장 영역에 대응하는 노멀 읽기 동작들의 횟수를 카운트한다. 예를 들면, 액세스 카운터(250)는 메모리 제어부(210)로부터 반도체 메모리 장치(100)로 전송되는 물리 블록 어드레스를 모니터링하고, 물리 블록 어드레스에 따라 카운트를 수행할 것이다. 카운트에 따라, 제 1 내지 제 n 액세스 카운트들이 생성되어 램(240)에 저장된다. 제 1 내지 제 n 액세스 카운트들은 각각 제 1 내지 제 n 저장 영역들(110~1n0)이 겪은 노멀 읽기 동작들의 횟수들에 해당할 것이다.
액세스 카운트가 증가하는 것은 해당 저장 영역이 겪는 노멀 읽기 동작들의 횟수가 증가함을 의미한다.
노멀 읽기 동작 시 저장 영역은 높은 전압으로 바이어스 될 수 있다. 노멀 읽기 동작 시 페이지들과 연결된 워드 라인들, 그리고 비트 라인들은 특정 전압들로 바이어스된다. 예를 들면, 워드 라인들 중 비선택된 페이지들과 연결된 워드 라인들에 고 전압이 인가될 수 있다. 저장 영역 내 메모리 셀들은 데이터에 해당하는 문턱 전압들을 가지는데, 저장 영역이 노멀 읽기 동작을 반복적으로 겪을수록 메모리 셀들의 문턱 전압들은 변경될 수 있다. 특히, 비선택된 페이지들은 해당 워드 라인들을 통해 고 전압을 제공받고, 그에 따라 해당 메모리 셀들의 문턱 전압들이 변경될 확률은 높다. 메모리 셀들의 문턱 전압들이 변경되는 것은 메모리 셀들에 저장된 데이터의 리텐션 정도가 저하됨을 의미한다.
테스트 읽기 제어부(230)는 제 1 내지 제 n 저장 영역들(110~1n0) 중 액세스 카운트가 해당 테스트 읽기 주기에 도달한 저장 영역을 검출한다. 메모리 제어부(210)는 검출된 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행할 것이다. 테스트 읽기 동작에 따라, 데이터가 읽어질 것이다. 예를 들면, 메모리 제어부(210)는 테스트 읽기 동작 시 저장 영역의 적어도 하나의 페이지의 데이터를 읽고, 읽어진 데이터에 대해 에러 정정 동작을 수행하도록 에러 정정 블록(220)을 제어할 것이다. 읽어진 데이터에 포함된 에러 비트들의 개수가 임계치 이상일 때, 메모리 제어부(210)는 해당 저장 영역에 대한 읽기 리클레임(read reclaim)을 수행한다. 메모리 제어부(210)는 해당 저장 영역에 저장된 데이터를 다른 저장 영역에 복사할 것이다.
만약, 저장 영역들(110~1n0)에 공통의 테스트 읽기 주기가 설정된다고 가정한다. 설령 반도체 메모리 장치(100) 별로 제조 시 특성 및 동작 특성 등 다양한 인자들이 고려되어 테스트 읽기 주기를 설정한다고 하더라도, 하나의 반도체 메모리 장치(100)에 대응하는 테스트 읽기 주기는 저장 영역들(110~1n0) 중 가장 나쁜 신뢰성을 갖는 저장 영역을 기준으로 설정될 것이다. 즉, 저장 영역들(110~1n0)에 일률적인 테스트 읽기 주기가 적용되어, 저장 영역들(110~1n0) 중 일부는 상대적으로 좋은 신뢰성을 가짐에도 불구하고 과도하게 짧은 테스트 읽기 주기를 가질 것이다. 예를 들면, 저장 영역들(110~1n0) 중 일부는 x번의 읽기 동작들을 겪더라도 높은 신뢰성의 데이터 리텐션(retention) 정도를 제공함에도 불구하고, x번보다도 더 적은 y번의 읽기 동작들이 수행될 때마다 해당 저장 영역에 대해 테스트 읽기 동작이 수행될 수 있다. 이는 불필요한 테스트 읽기 동작들이 수행됨을 의미하며, 테스트 읽기 동작이 빈번하게 수행되는 것은 반도체 메모리 장치(100)의 동작 속도가 감소함을 의미한다.
본 발명의 실시 예에 따르면, 반도체 메모리 장치(100) 내 저장 영역 별로 독립적인 테스트 읽기 주기가 설정된다. 낮은 신뢰성을 갖는 저장 영역은 짧은 테스트 읽기 주기를 갖고, 높은 신뢰성을 갖는 저장 영역은 긴 테스트 읽기 주기를 가질 것이다. 이에 따라, 테스트 읽기 동작들이 수행되는 횟수는 감소할 것이다. 따라서, 메모리 시스템(1000)의 동작 속도는 향상된다.
도 2는 도 1의 반도체 메모리 장치(100)의 일 실시 예(10)를 보여주는 블록도이다. 도 3은 복수의 메모리 블록들(BLK1~BLKn) 중 어느 하나(BLK1)를 보여주는 블록도이다.
도 2를 참조하면, 반도체 메모리 장치(10)는 메모리 셀 어레이(12) 및 주변 회로(14)를 포함한다. 메모리 셀 어레이(12)는 복수의 메모리 블록들(BLK1~BLKn)을 포함한다. 도 3을 참조하면, 하나의 메모리 블록(BLK1)은 복수의 페이지들(PG1~PGp)을 포함한다. 하나의 페이지는 하나의 워드 라인과 연결된 메모리 셀들(미도시)로 구성됨이 이해될 것이다. 반도체 메모리 장치(10)의 소거 동작은 메모리 블록 단위로 수행된다. 반도체 메모리 장치(10)의 프로그램 동작 및 읽기 동작은 페이지 단위로 수행된다. 하나의 페이지는 복수의 청크들(CK1~CK4)을 포함한다. 에러 정정 블록(220)의 에러 정정 동작은 청크 단위로 수행된다.
본 발명의 실시 예에 따르면, 제 1 내지 제 n 메모리 블록들(BLK1~BLKn)은 각각 제 1 내지 제 n 저장 영역들(110~1n0, 도 1 참조)로서 제공될 수 있다.
다시 도 2를 참조하면, 주변 회로(14)는 컨트롤러(200)의 제어에 응답하여 동작한다.
프로그램 동작 시에, 주변 회로(14)는 컨트롤러(200)로부터 프로그램 동작을 나타내는 커맨드, 물리 블록 어드레스(Physical Block Address), 및 쓰기 데이터를 수신할 것이다. 물리 블록 어드레스에 의해 하나의 메모리 블록과 그것에 포함된 하나의 페이지가 선택될 것이다. 주변 회로(14)는 선택된 페이지에 쓰기 데이터를 프로그램할 것이다.
읽기 동작 시에, 주변 회로(14)는 컨트롤러(200)로부터 읽기 동작을 나타내는 커맨드(이하, 읽기 커맨드), 물리 블록 어드레스를 수신할 것이다. 물리 블록 어드레스에 의해 하나의 메모리 블록과 그것에 포함된 하나의 페이지가 선택될 것이다. 주변 회로(14)는 선택된 페이지로부터 데이터를 읽고, 읽어진 데이터를 컨트롤러(200)에 출력할 것이다.
소거 동작 시에, 주변 회로(14)는 컨트롤러(200)로부터 소거 동작을 나타내는 커맨드 및 물리 블록 어드레스를 수신할 것이다. 물리 블록 어드레스에 의해 하나의 메모리 블록이 선택될 것이다. 주변 회로(14)는 물리 블록 어드레스에 대응하는 메모리 블록의 데이터를 소거할 것이다.
반도체 메모리 장치(100)는 불휘발성(nonvolatile) 메모리 장치이다. 실시 예로서, 반도체 메모리 장치(100)는 플래시 메모리 장치(Flash Memory Device)일 수 있다.
도 4는 도 1의 반도체 메모리 장치(100)의 다른 실시 예(20)를 보여주는 블록도이다.
도 4를 참조하면, 반도체 메모리 장치(20)는 복수의 반도체 메모리 칩들(21~2n)을 포함한다. 복수의 반도체 메모리 칩들(21~2n)은 각각 제 1 내지 제 n 채널들(CH1~CHn)을 통해 컨트롤러(200, 도 1 참조)와 통신하도록 구성된다. 각 반도체 메모리 칩은 도 2를 참조하여 설명된 반도체 메모리 장치(10)와 마찬가지로 구성되고, 동작할 것이다. 컨트롤러(200)는 제 1 내지 제 n 채널들(CH1~CHn)을 통해 제 1 내지 제 n 반도체 메모리 칩들(21~2n)을 각각 제어할 것이다.
제 1 내지 제 n 반도체 메모리 칩들(21~2n) 각각은 복수의 메모리 블록들을 포함하고, 복수의 메모리 블록들 각각은 복수의 페이지들을 포함할 것이다.
실시 예로서, 제 1 내지 제 n 반도체 메모리 칩들(21~2n)은 각각 제 1 내지 제 n 저장 영역들(110~1n0, 도 1 참조)로서 제공될 수 있다. 다른 실시 예로서, 반도체 메모리 칩들(21~2n) 내에 포함된 다수의 메모리 블록들이 각각 저장 영역들로서 제공될 수 있다.
도 5는 도 1의 반도체 메모리 장치(100)의 또 다른 실시 예(30)를 보여주는 블록도이다.
도 5를 참조하면, 반도체 메모리 장치(30)는 복수의 반도체 메모리 칩들을 포함한다. 복수의 반도체 메모리 칩들은 복수의 그룹들로 분할된다.
도 5에서, 복수의 그룹들은 각각 제 1 내지 제 n 채널들(CH1~CHn)을 통해 컨트롤러(200)와 통신한다. 각 반도체 메모리 칩은 도 2를 참조하여 설명된 반도체 메모리 장치(10)와 마찬가지로 구성되고, 동작할 것이다.
각 그룹은 하나의 공통 채널을 통해 컨트롤러(200)와 통신하도록 구성된다. 컨트롤러(200)는 제 1 내지 제 n 채널들(CH1~CHn)을 통해 복수의 그룹들을 각각 제어할 것이다.
본 발명의 실시 예에 따르면, 복수의 그룹들은 각각 제 1 내지 제 n 저장 영역들(110~1n0, 도 1 참조)로서 제공될 수 있다. 다른 실시 예로서, 반도체 메모리 칩들 내에 포함된 다수의 메모리 블록들이 각각 저장 영역들로서 제공될 수 있다.
이하, 설명의 편의를 위해 제 1 내지 제 n 메모리 블록들(BLK1~BLKn, 도 2 참조)이 제 1 내지 제 n 저장 영역들(110~1n0, 도 1 참조)로서 제공된다고 가정한다.
도 6은 본 발명의 실시 예에 따른 메모리 시스템(1000)의 동작 방법을 보여주는 순서도이다.
도 1 및 도 6을 참조하면, S110단계에서, 각 저장 영역에 포함된 청크들에 대해 에러 정정 동작들을 수행하여 제 1 내지 제 n 저장 영역들(110~1n0)에 각각 대응하는 신뢰값들이 산출된다.
메모리 제어부(210)는 제 1 저장 영역(110)에 포함된 청크들의 데이터를 읽고, 읽어진 청크들에 대한 에러 정정 동작들을 수행하도록 에러 정정 블록(220)을 제어할 것이다. 에러 정정 블록(220)은 청크들에 각각 대응하는 에러 비트들의 개수들을 에러값들로서 판별할 것이다. 메모리 제어부(210)는 에러값들 중 최대 에러값을 제 1 저장 영역(110)에 대응하는 신뢰값으로서 산출할 것이다.
마찬가지 방법으로, 메모리 제어부(210)는 제 2 내지 제 n 저장 영역들(120~1n0)에 각각 대응하는 신뢰값들을 산출할 것이다.
실시 예로서, 각 저장 영역의 미리 정해진 하나의 페이지에 포함된 청크들에 대해 에러 정정 동작들이 수행되어 저장 영역들(110~1n0)에 각각 대응하는 신뢰값들이 산출될 수 있다. 다른 실시 예로서, 각 저장 영역의 미리 정해진 복수의 페이지들에 포함된 청크들에 대해 에러 정정 동작들이 수행되어 저장 영역들(110~1n0)에 각각 대응하는 신뢰값들이 산출될 수 있다.
S120단계에서, 신뢰값들에 기반하여 제 1 내지 제 n 저장 영역들(110~1n0)에 각각 대응하는 테스트 읽기 주기들이 설정된다. 실시 예로서, 최대 에러값이 클수록 해당 저장 영역에 대응하는 테스트 읽기 주기는 감소하고, 최대 에러값이 적을수록 해당 저장 영역에 대응하는 테스트 읽기 주기는 증가할 수 있다. 실시 예로서, 최대 에러값이 특정 기준값보다 클 때 해당 저장 영역의 테스트 읽기 주기는 제 1 값이고, 최대 에러값이 특정 기준값보다 적거나 같을 때 해당 저장 영역의 테스트 읽기 주기는 제 1 값보다 큰 제 2 값일 수 있다.
한편, 각 저장 영역 별로 액세스 카운트가 관리될 것이다. 액세스 카운터(250)는 각 저장 영역에 대한 노멀 읽기 동작들의 횟수를 카운트하여 해당 저장 영역의 액세스 카운트를 산출할 것이다.
실시 예로서, 각 저장 영역의 미리 정해진 적어도 하나의 페이지에 대한 노멀 읽기 동작들의 횟수가 카운트될 수 있다. 다른 실시 예로서, 각 저장 영역의 모든 페이지들에 대한 노멀 읽기 동작들의 횟수가 카운트될 수 있다.
S130단계에서, 액세스 카운트가 해당 테스트 읽기 주기에 도달하는 저장 영역이 존재할 때, S140단계가 수행된다. 설명의 편의를 위해, 저장 영역들(110~1n0) 중 제 1 저장 영역(110)의 액세스 카운트가 해당 테스트 읽기 주기에 도달했다고 가정한다.
S140단계에서, 제 1 저장 영역(110)에 대한 적어도 한번의 테스트 읽기 동작이 수행된다. 메모리 제어부(210)는 제 1 저장 영역(110)의 적어도 하나의 페이지로부터 데이터를 읽고, 읽어진 데이터에 대해 에러 정정 동작들을 수행하도록 에러 정정 블록(220)을 제어할 것이다.
실시 예로서, 해당 저장 영역의 미리 정해진 하나의 페이지에 대해 테스트 읽기 동작이 수행될 수 있다. 다른 실시 예로서, 해당 저장 영역의 미리 정해진 복수의 페이지들에 대해 테스트 읽기 동작들이 수행될 수 있다.
S150단계에서, 읽어진 데이터에 포함된 에러 비트들의 개수가 임계치보다 큰지 여부가 판별된다. 만약 그렇다면, S160단계가 수행된다. 만약 그렇지 않다면, S130단계가 수행된다.
임계치는, 에러 정정 블록(220)에 의해 정정 가능한 에러 비트들의 개수보다 적을 것이다. 읽어진 데이터에 포함된 에러 비트들의 개수가 임계치보다 적거나 같은 것은, 해당 저장 영역의 데이터가 비교적 높은 신뢰성을 가짐을 의미한다. 읽어진 데이터에 포함된 에러 비트들의 개수가 임계치보다 큰 것은, 해당 저장 영역의 데이터가 비교적 낮은 신뢰성을 가짐을 의미한다. 한편, 읽어진 데이터에 포함된 에러 비트들의 개수가 에러 정정 블록(220)에 의해 정정 가능한 에러 비트들의 개수보다도 큰 것은, 읽어진 데이터의 에러를 정정할 수 없음을 의미한다.
S160단계에서, 제 1 저장 영역(110)에 대한 읽기 리클레임이 수행된다. 메모리 제어부(210)는 제 1 저장 영역(110)의 데이터를 읽고, 읽어진 데이터를 예를 들면 제 2 저장 영역(120)에 프로그램할 것이다. 그리고, 메모리 제어부(210)는 제 1 저장 영역(110)의 데이터를 소거할 것이다.
S170단계에서, 제 1 저장 영역(110)의 액세스 카운트가 초기화된다. 이후, S130단계가 수행된다.
본 발명의 실시 예에 따르면, 반도체 메모리 장치 내 저장 영역 별로 독립적인 테스트 읽기 주기가 설정된다. 테스트 읽기 동작들이 수행되는 횟수는 감소하고, 메모리 시스템의 동작 속도는 향상된다.
도 7은 하나의 저장 영역에 대응하는 신뢰값을 산출하는 실시 예를 설명하기 위한 도면이다.
도 1 및 도 7을 참조하면, 메모리 제어부(210)는 각 저장 영역에 포함된 제 1 내지 제 q 청크들(CK1~CKq)을 읽는다. 이후, 에러 정정 블록(220)은 제 1 내지 제 q 청크들(CK1~CKq)에 대해 에러 정정 동작들을 수행한다. 이에 따라 제 1 내지 제 q 청크들(CK1~CKq)에 포함된 에러 비트들의 개수들이 제 1 내지 제 q 에러값들(VEB1~VEBq)로서 산출된다. 메모리 제어부(210)는 제 1 내지 제 q 에러값들(VEB1~VEBq) 중 최대 에러값을 해당 저장 영역에 대응하는 신뢰값으로서 산출할 것이다. 도 7에서, 제 1 내지 제 q 에러값들(VEB1~VEBq) 중 가장 큰 것은 제 1 에러값(VEB1)이고, 제 1 에러값(VEB1)이 최대 에러값으로서 결정되는 것이 예시된다.
이러한 방식으로, 제 1 내지 제 n 저장 영역들(110~1n0)에 각각 대응하는 신뢰값들이 산출된다.
도 8은 최대 에러값에 기반하여 테스트 읽기 주기를 결정하는 실시 예를 설명하기 위한 도면이다.
도 8을 참조하면, S210단계에서, 최대 에러값이 제 1 기준값보다 큰지 여부가 판별된다. 제 1 기준값은 제 2 기준값보다 크다. 만약 최대 에러값이 제 1 기준값보다 크다면, S220단계가 수행된다. 만약 그렇지 않다면, S230단계가 수행된다.
S220단계에서, 해당 저장 영역의 테스트 읽기 주기가 제 1 값으로 설정된다. 최대 에러값이 제 1 기준값보다 큰 것은 해당 저장 영역의 신뢰성이 낮다는 것을 의미한다. 제 1 값은 제 2 값 및 제 3 값보다 적을 것이다.
S230단계에서, 최대 에러값이 제 2 기준값보다 큰지 여부가 판별된다. 만약 그렇다면, S240단계가 수행된다. 만약 그렇지 않다면, S250단계가 수행된다.
S240단계에서, 해당 저장 영역의 테스트 읽기 주기가 제 2 값으로 설정된다.
S250단계에서, 해당 저장 영역의 테스트 읽기 주기가 제 3 값으로 설정된다. 최대 에러값이 제 2 기준값보다 적은 것은, 해당 저장 영역의 신뢰성이 높다는 것을 의미한다. 제 3 값은 제 1 값 및 제 2 값보다 클 것이다.
도 9는 테스트 읽기 주기들(VL1~VLn)을 저장하는 제 1 테이블(TBL1)을 보여주는 도면이다.
도 9를 참조하면, 제 1 테이블(TBL1)은 제 1 내지 제 n 저장 영역들(110~1n0)에 각각 대응하는 제 1 내지 제 n 테스트 읽기 주기들(VL1~VLn)을 포함한다. 그러한 제 1 테이블(TBL1)은 램(240)에 저장될 것이다. 제 1 테이블(TBL1)의 제 1 내지 제 n 테스트 읽기 주기들(VL1~VLn)은 테스트 읽기 제어부(230)에 의해 설정될 것이다.
도 10은 액세스 카운트들(ACCNT1~ACCNTn)을 저장하는 제 2 테이블(TBL2)을 보여주는 도면이다.
도 10을 참조하면, 제 2 테이블(TBL2)은 제 1 내지 제 n 저장 영역들(110~1n0)에 각각 대응하는 제 1 내지 제 n 액세스 카운트들(ACCNT1~ACCNTn)을 포함한다. 각 액세스 카운트는 해당 저장 영역에 대한 노멀 읽기 동작이 수행될 때마다 액세스 카운터(250)에 의해 카운트될 것이다.
제 1 테이블(TBL1) 및 제 2 테이블(TBL2)은 테스트 읽기 제어부(230)에 의해 조회될 것이다.
도 11은 각 저장 영역 내 페이지들(PG1~PGp) 중 대표 페이지를 보여주는 도면이다.
도 11을 참조하면, 제 1 내지 제 p 페이지들(PG1~PGp) 중 하나의 페이지(PG1)가 대표 페이지로서 설정된다. 대표 페이지는 미리 정해질 수 있다. 대표 페이지는, 반도체 메모리 장치(100, 도 1 참조)의 제조 공정, 동작 특성, 활용 제품 등을 참조하여 결정될 수 있다. 대표 페이지는, 제 1 내지 제 p 페이지들(PG1~PGp) 중 가장 낮은 신뢰성을 가질 것으로 예상되는 페이지로서 결정될 수 있다. 예를 들면, 제 1 내지 제 p 페이지들(PG1~PGp) 중 드레인 선택 트랜지스터들(미도시)과 인접한 페이지가 대표 페이지로서 정해질 수 있다. 다른 예로서, 제 1 내지 제 p 페이지들(PG1~PGp) 중 소스 선택 트랜지스터들(미도시)과 인접한 페이지가 대표 페이지로서 정해질 수 있다.
실시 예로서, 해당 저장 영역의 신뢰값은 대표 페이지를 기준으로 산출될 수 있다. 테스트 읽기 동작이 대표 페이지에 대해 수행되어 해당 저장 영역에 대해 읽기 리클레임을 수행할지 여부가 결정될 수 있다. 좀 더 구체적으로, 도 6의 S110단계에서, 각 저장 영역의 대표 페이지에 포함된 청크들에 대해 에러 정정 동작들이 수행되어 해당 저장 영역의 신뢰값을 산출할 수 있다. 도 6의 S140단계에서, 테스트 읽기 동작에 의해 제 1 저장 영역(110) 중 대표 페이지가 읽어지고, 대표 페이지의 청크들에 대해 에러 정정 동작들이 수행될 것이다.
다른 실시 예로서, 해당 저장 영역의 신뢰값은 각 저장 영역 내 모든 페이지들(PG1~PGp)을 기준으로 산출될 수 있다. 모든 페이지들(PG1~PGp)에 대해 테스트 읽기 동작들이 수행되어 해당 저장 영역에 대한 읽기 리클레임을 수행할지 여부를 결정할 수 있다.
도 12는 각 저장 영역 내 페이지들(PG1~PGp) 중 2 이상의 대표 페이지들을 보여주는 도면이다.
도 12를 참조하면, 제 1 내지 제 p 페이지들(PG1~PGp) 중 복수의 페이지들(PG1~PG3)가 대표 페이지들로서 설정된다.
실시 예로서, 복수의 대표 페이지들을 기준으로 해당 저장 영역의 신뢰값이 산출될 수 있다. 대표 페이지들에 대해 테스트 읽기 동작들이 수행됨으로써 해당 저장 영역에 대한 읽기 리클레임을 수행할지 여부가 결정될 수 있다. 더 많은 수의 페이지들이 대표 페이지들로서 설정될수록, 해당 저장 영역 내 메모리 셀들의 특성은 더 정확히 신뢰값에 반영되고 테스트 읽기 주기에 반영될 것이다. 더 많은 수의 페이지들이 대표 페이지들로서 설정될수록, 해당 저장 영역 내 메모리 셀들에 저장된 데이터의 리텐션 정도는 테스트 읽기 동작들에 의해 더 정확히 판별될 것이다.
도 13은 읽기 리클레임의 수행 여부를 결정하는 방법을 설명하기 위한 도면이다.
도 1 및 도 7을 참조하면, 액세스 카운트가 해당 테스트 읽기 주기에 도달한 저장 영역이 감지되면, 메모리 제어부(210)는 테스트 읽기 동작을 통해 해당 저장 영역에 포함된 제 1 내지 제 q 청크들(CK1~CKq)을 읽는다. 제 1 내지 제 q 청크들(CK1~CKq)은, 도 11을 참조한 설명과 같이 하나의 대표 페이지에 포함된 청크들일 수 있다. 제 1 내지 제 q 청크들(CK1~CKq)은, 도 12를 참조한 설명과 같이 2 이상의 대표 페이지들에 포함된 청크들일 수 있다. 제 1 내지 제 q 청크들(CK1~CKq)은, 해당 저장 영역의 모든 페이지들에 포함된 청크들일 수 있다.
이후, 에러 정정 블록(220)은 제 1 내지 제 q 청크들(CK1~CKq)에 대해 에러 정정 동작들을 수행한다. 이에 따라 제 1 내지 제 q 청크들(CK1~CKq)에 각각 대응하는 에러 비트들의 개수들(NEB1~NEBq)이 산출된다.
에러 비트들의 개수들(NEB1~NEBq) 중 임계치보다 큰 것이 존재하는 것은, 해당 저장 영역에 저장된 데이터 중 일부가 곧 훼손될 수 있음을 의미한다. 즉, 해당 저장 영역에 저장된 데이터 중 일부의 리텐션 정도는 저하되어 있다. 에러 비트들의 개수들(NEB1~NEBq) 중 임계치보다 큰 것이 존재할 때, 해당 저장 영역에 대한 읽기 리클레임이 수행될 것이다.
도 14는 읽기 리클레임을 설명하기 위한 개념도이다.
제 1 저장 영역(110)에 대해 읽기 리클레임이 수행된다고 가정한다. 도 1 및 도 14를 참조하면, 제 1 저장 영역(110)에 저장된 데이터는 다른 저장 영역에 복사된다. 설명의 편의를 위해 다른 저장 영역은 제 2 저장 영역(120)이라고 가정한다. 메모리 제어부(210)는 먼저 제 1 저장 영역(110)에 저장된 데이터를 읽을 것이다. 제 1 저장 영역(110) 중 데이터를 저장하는 페이지들에 대해 읽기 동작들을 수행할 것이다. 이후, 메모리 제어부(210)는 읽어진 데이터를 제 2 저장 영역(120)에 프로그램할 것이다. 실시 예로서, 메모리 제어부(210)는 제 2 저장 영역(120)의 순차적으로 증가하는 페이지 어드레스들에 읽어진 데이터를 프로그램할 것이다.
도 15는 본 발명의 다른 실시 예에 따른 메모리 시스템(1000)의 동작 방법을 보여주는 순서도이다.
도 1 및 도 15를 참조하면, S310단계에서, 읽기 요청에 응답하여 선택된 저장 영역에 대해 노멀 읽기 동작이 수행된다. 메모리 제어부(210)는 외부 호스트로부터 읽기 요청이 수신될 때 선택된 저장 영역에 대해 노멀 읽기 동작을 수행할 것이다. S320단계에서, 각 저장 영역에 대한 노멀 읽기 동작들이 소정의 횟수보다 큰지 여부가 판별된다. 만약 그렇지 않다면, S310단계가 수행된다. 만약 그렇다면, S330단계가 수행된다.
즉, S310단계 및 S320단계에서, 노멀 읽기 동작들이 수행된 횟수가 소정의 횟수보다 큰 저장 영역이 발생되는지 여부가 판별된다. 소정의 횟수는 반도체 메모리 장치(100, 도 1 참조)의 제조 공정, 동작 특성, 활용 제품 등을 참조하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 노멀 읽기 동작들이 수행된 횟수가 소정의 횟수보다 큰 저장 영역이 감지될 때 감지된 저장 영역에 대해 S330단계가 수행된다. 이에 따라, 테스트 읽기 주기를 설정하기 위한 일련의 동작들(S330단계 및 S340단계)이 각 저장 영역 별로 상이한 시점에 수행될 수 있다. 테스트 읽기 주기를 설정하기 위한 동작들이 저장 영역들(110~1n0)에 대해 일률적으로 수행될 때보다, 해당 동작들에 의해 메모리 시스템(1000)에 걸리는 부하는 감소할 수 있다.
S330단계에서, 노멀 읽기 동작들이 수행된 횟수가 소정의 횟수보다 큰 저장 영역과 관련하여, 신뢰값을 산출한다. S340단계에서, 해당 저장 영역에 대응하는 테스트 읽기 주기가 설정된다.
S350단계 내지 S390단계는 도 6의 S130단계 내지 S170단계와 각각 마찬가지로 설명된다. 이하, 중복되는 설명은 생략된다.
도 16은 도 1의 컨트롤러(200)를 구현하기 위한 일 실시 예(1200)를 보여주는 블록도이다.
도 16을 참조하면, 컨트롤러(1200)는 램(1210, Random Access Memory), 프로세싱 유닛(1220, processing unit), 호스트 인터페이스(1230, host interface), 메모리 인터페이스(1240, memory interface) 및 에러 정정 블록(1250)을 포함한다.
프로세싱 유닛(1220)은 컨트롤러(1200)의 제반 동작을 제어한다. 램(1210)은 프로세싱 유닛(1220)의 동작 메모리, 반도체 메모리 장치(100, 도 1 참조) 및 호스트 사이의 캐시 메모리, 그리고 반도체 장치(100) 및 호스트 사이의 버퍼 메모리 중 적어도 하나로서 이용될 수 있다. 프로세싱 유닛(1220) 및 램(1210)은 도 1의 메모리 제어부(220), 테스트 읽기 제어부(230) 및 액세스 카운터(250)의 기능들을 수행할 것이다. 예를 들면, 프로세싱 유닛(1220)은 프로그램 명령, 데이터 파일, 데이터 구조 등을 램(1210)에 로드하고, 로드된 데이터를 실행함으로써 메모리 제어부(220), 테스트 읽기 제어부(230) 및 액세스 카운터(250)의 기능을 수행할 것이다.
추가적으로, 램(1210)은 도 1의 램(240)으로 이용될 수 있다. 도 16에는 하나의 램(1210)이 제공되는 것이 도시되나, 2 이상의 램들이 제공될 수 있음이 이해될 것이다.
호스트 인터페이스(1230)는 호스트 및 컨트롤러(1200) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 실시 예로서, 컨트롤러(1200)는 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) 프로토콜, 사유(private) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트와 통신하도록 구성된다.
메모리 인터페이스(1240)는 반도체 메모리 장치(100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스(1240)는 낸드 인터페이스 또는 노어 인터페이스를 포함할 수 있다. 에러 정정 블록(1250)은 도 1의 에러 정정 블록(220)의 기능을 수행할 것이다.
컨트롤러(1200) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적될 수 있다. 실시 예로서, 컨트롤러(1200) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(1200) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다.
컨트롤러(1200) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 컨트롤러(1200) 및 반도체 메모리 장치(100)가 반도체 드라이브(SSD)로 이용되는 경우, 호스트(Host)의 동작 속도는 획기적으로 개선된다.
다른 예로서, 컨트롤러(1200) 및 반도체 메모리 장치(100)는 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
실시 예로서, 컨트롤러(1200) 및 반도체 메모리 장치(100)는 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 컨트롤러(1200) 및 반도체 메모리 장치(100)는 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 integrated circuit (SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline Package(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
본 발명의 실시 예에 따르면, 반도체 메모리 장치 내 저장 영역 별로 독립적인 테스트 읽기 주기가 설정된다. 이에 따라, 저장 영역들에 대한 테스트 읽기 동작들의 수행 횟수는 감소할 것이다. 따라서, 메모리 시스템의 동작 속도는 향상된다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1000: 메모리 시스템
100: 반도체 메모리 장치
110~1n0: 제 1 내지 제 n 저장 영역들
210: 메모리 제어부
220: 에러 정정 블록
230: 테스트 읽기 제어부
240: 램
250: 액세스 카운터

Claims (20)

  1. 저장 영역들을 포함하는 메모리 시스템의 동작 방법에 있어서:
    각 저장 영역에 포함된 청크들에 대해 에러 정정 동작들을 수행하여 상기 저장 영역들에 각각 대응하는 신뢰값들을 산출하는 단계;
    상기 신뢰값들에 기반하여, 상기 저장 영역들에 각각 대응하는 테스트 읽기 주기들을 설정하는 단계;
    상기 각 저장 영역에 대한 노멀 읽기 동작들의 횟수를 카운트하여 상기 저장 영역들에 각각 대응하는 액세스 카운트들을 관리하는 단계; 및
    상기 저장 영역들 중 제 1 저장 영역의 액세스 카운트가 해당 테스트 읽기 주기에 도달할 때, 상기 제 1 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행하는 단계를 포함하는 동작 방법.
  2. 제 1 항에 있어서,
    상기 적어도 한번의 테스트 읽기 동작에 따라 상기 제 1 저장 영역의 청크들이 읽어지며,
    상기 제 1 저장 영역의 상기 청크들에 대해 상기 에러 정정 동작들을 수행하는 단계; 및
    상기 에러 정정 동작들의 결과 상기 제 1 저장 영역의 상기 청크들 중 임계치 이상의 에러 비트들을 포함하는 청크가 감지될 때, 상기 제 1 저장 영역에 대한 읽기 리클레임(read reclaim)을 수행하는 단계를 더 포함하는 동작 방법.
  3. 제 2 항에 있어서,
    상기 읽기 리클레임을 수행하는 단계는,
    상기 제 1 저장 영역에 저장된 데이터를 상기 저장 영역들 중 제 2 저장 영역에 복사하는 단계를 포함하는 동작 방법.
  4. 제 1 항에 있어서,
    상기 신뢰값들을 산출하는 단계는,
    상기 각 저장 영역에 포함된 상기 청크들에 대해 상기 에러 정정 동작들을 수행함으로써 상기 청크들에 각각 대응하는 에러값들을 산출하는 단계; 및
    상기 에러값들 중 최대 에러값을 해당 저장 영역에 대응하는 신뢰값으로서 정의하는 단계를 포함하는 동작 방법.
  5. 제 4 항에 있어서,
    상기 최대 에러값이 기준값보다 클 때 상기 해당 저장 영역의 테스트 읽기 주기는 제 1 값이고,
    상기 최대 에러값이 상기 기준값보다 적거나 같을 때 상기 해당 저장 영역의 상기 테스트 읽기 주기는 제 2 값이고,
    상기 제 2 값은 상기 제 1 값보다 큰 동작 방법.
  6. 제 4 항에 있어서,
    상기 최대 에러값이 클수록 상기 해당 저장 영역의 테스트 읽기 주기는 감소하고, 상기 최대 에러값이 적을수록 상기 해당 저장 영역의 상기 테스트 읽기 주기는 증가하는 동작 방법.
  7. 제 1 항에 있어서,
    상기 저장 영역들 각각은 복수의 페이지들을 포함하고,
    상기 에러 정정 동작들이 수행되는 상기 청크들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들 중 하나의 대표(representative) 페이지에 포함되는 동작 방법.
  8. 제 7 항에 있어서,
    상기 각 저장 영역에 대한 상기 노멀 읽기 동작들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들에 대해 수행되는 동작 방법.
  9. 제 7 항에 있어서,
    상기 적어도 한번의 테스트 읽기 동작은 상기 제 1 저장 영역의 상기 대표 페이지에 대해 수행되는 동작 방법.
  10. 제 1 항에 있어서,
    상기 저장 영역들 각각은 복수의 페이지들을 포함하고,
    상기 에러 정정 동작들이 수행되는 상기 청크들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들 중 2 이상의 대표 페이지들에 포함되는 동작 방법.
  11. 제 10 항에 있어서,
    상기 각 저장 영역에 대한 상기 노멀 읽기 동작들은 상기 각 저장 영역에 포함된 상기 복수의 페이지들에 대해 수행되는 동작 방법.
  12. 제 10 항에 있어서,
    상기 적어도 한번의 테스트 읽기 동작은 상기 제 1 저장 영역의 상기 대표 페이지들에 대해 수행되는 동작 방법.
  13. 복수의 저장 영역들을 포함하는 메모리 시스템의 동작 방법에 있어서:
    외부로부터의 제 1 요청들에 응답하여, 상기 복수의 저장 영역들 중 선택된 저장 영역에 대해 제 1 노멀 읽기 동작들을 수행하는 단계;
    상기 제 1 노멀 읽기 동작들이 수행된 횟수가 소정의 횟수보다 클 때, 상기 선택된 저장 영역에 포함된 청크들에 대해 에러 정정 동작들을 수행하여 상기 선택된 저장 영역에 대응하는 신뢰값을 산출하는 단계;
    상기 신뢰값에 기반하여, 상기 선택된 저장 영역에 대응하는 테스트 읽기 주기를 설정하는 단계;
    외부로부터의 제 2 요청들에 응답하여, 상기 선택된 저장 영역에 대해 제 2 노멀 읽기 동작들을 수행하는 단계;
    상기 제 2 노멀 읽기 동작들이 수행된 횟수를 카운트하여 상기 선택된 저장 영역에 대응하는 액세스 카운트를 관리하는 단계; 및
    상기 액세스 카운트가 상기 테스트 읽기 주기에 도달할 때, 상기 선택된 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행하는 단계를 포함하는 동작 방법.
  14. 제 13 항에 있어서,
    상기 신뢰값을 산출하는 단계는,
    상기 선택된 저장 영역에 포함된 상기 청크들에 대해 상기 에러 정정 동작들을 수행하여 상기 청크들에 각각 대응하는 에러값들을 산출하는 단계; 및
    상기 에러값들 중 최대 에러값을 상기 신뢰값으로서 정의하는 단계를 포함하는 동작 방법.
  15. 제 13 항에 있어서,
    상기 최대 에러값이 기준값보다 클 때 상기 테스트 읽기 주기는 제 1 값이고,
    상기 최대 에러값이 상기 기준값보다 적거나 같을 때 상기 테스트 읽기 주기는 제 2 값이고,
    상기 제 2 값은 상기 제 1 값보다 큰 동작 방법.
  16. 제 13 항에 있어서,
    상기 복수의 저장 영역들 각각은 복수의 페이지들을 포함하고,
    상기 에러 정정 동작들이 수행되는 상기 청크들은 상기 복수의 페이지들 중 하나의 대표 페이지에 포함되는 동작 방법.
  17. 제 16 항에 있어서,
    상기 적어도 한번의 테스트 읽기 동작은 상기 선택된 저장 영역의 상기 대표 페이지에 대해 수행되고,
    상기 제 1 노멀 읽기 동작들 및 상기 제 2 노멀 읽기 동작들은 상기 선택된 저장 영역의 상기 복수의 페이지들에 대해 수행되는 동작 방법.
  18. 제 13 항에 있어서,
    상기 복수의 저장 영역들 각각은 복수의 페이지들을 포함하고,
    상기 에러 정정 동작들이 수행되는 상기 청크들은 상기 복수의 페이지들 중 2 이상의 대표 페이지들에 포함되는 동작 방법.
  19. 제 18 항에 있어서,
    상기 적어도 한번의 테스트 읽기 동작은 상기 선택된 저장 영역의 상기 대표 페이지들에 대해 수행되고,
    상기 제 1 노멀 읽기 동작들 및 상기 제 2 노멀 읽기 동작들은 상기 선택된 저장 영역의 상기 복수의 페이지들에 대해 수행되는 동작 방법.
  20. 복수의 메모리 셀들을 갖는 저장 영역들을 포함하는 반도체 메모리 장치; 및
    상기 반도체 메모리 장치를 액세스하는 컨트롤러를 포함하되,
    상기 컨트롤러는,
    각 저장 영역에 포함된 청크들에 대한 에러 정정 동작들에 기초하여 상기 저장 영역들에 각각 대응하는 신뢰값들을 산출하는 메모리 제어부;
    상기 신뢰값들에 기반하여 상기 저장 영역들에 각각 대응하는 테스트 읽기 주기들을 설정하는 테스트 읽기 제어부;
    상기 테스트 읽기 주기들을 저장하는 램;
    상기 각 저장 영역에 대한 노멀 읽기 동작들의 횟수를 카운트하여 상기 저장 영역들에 각각 대응하는 액세스 카운트들을 관리하는 액세스 카운터를 포함하되,
    상기 테스트 읽기 제어부는 상기 저장 영역들 중 액세스 카운트가 해당 테스트 읽기 주기에 도달한 저장 영역을 검출하고,
    상기 메모리 제어부는 상기 검출된 저장 영역에 대해 적어도 한번의 테스트 읽기 동작을 수행하여 읽기 리클레임의 수행 여부를 결정하는 메모리 시스템.
KR1020150083442A 2015-06-12 2015-06-12 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법 Withdrawn KR20160146332A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150083442A KR20160146332A (ko) 2015-06-12 2015-06-12 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법
TW105106177A TWI686811B (zh) 2015-06-12 2016-03-01 包括複數個記憶體區域的記憶體系統和操作該記憶體系統的方法
US15/063,065 US10354743B2 (en) 2015-06-12 2016-03-07 Memory system including plurality of memory regions and method of operating the same
CN201610342093.5A CN106250054B (zh) 2015-06-12 2016-05-20 包括多个存储器区域的存储器系统和操作该存储器系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150083442A KR20160146332A (ko) 2015-06-12 2015-06-12 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20160146332A true KR20160146332A (ko) 2016-12-21

Family

ID=57517287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150083442A Withdrawn KR20160146332A (ko) 2015-06-12 2015-06-12 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법

Country Status (4)

Country Link
US (1) US10354743B2 (ko)
KR (1) KR20160146332A (ko)
CN (1) CN106250054B (ko)
TW (1) TWI686811B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133483A (ko) * 2018-05-23 2019-12-03 에스케이하이닉스 주식회사 메모리 시스템, 컨트롤러 및 그 동작방법
KR20200065298A (ko) * 2018-11-30 2020-06-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102344380B1 (ko) * 2021-06-02 2021-12-28 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US10157677B2 (en) * 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10545810B2 (en) * 2016-12-22 2020-01-28 Western Digital Technologies, Inc. Method and apparatus for monitoring non-volatile memory read errors using background media scan
US10691536B2 (en) 2017-09-22 2020-06-23 SK Hynix Inc. Method to select flash memory blocks for refresh after read operations
CN110570892A (zh) * 2019-07-31 2019-12-13 联芸科技(杭州)有限公司 控制存储器刷新的方法、装置以及控制器
KR20230086446A (ko) * 2021-12-08 2023-06-15 에스케이하이닉스 주식회사 저장 장치, 호스트 장치 및 그들의 동작 방법
CN117995255B (zh) * 2024-04-02 2024-07-02 中科鉴芯(北京)科技有限责任公司 存储器自测试动态分组方法及装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0862762B1 (en) * 1996-08-16 2002-10-09 Tokyo Electron Device Limited Semiconductor memory device having error detection and correction
US6684353B1 (en) * 2000-12-07 2004-01-27 Advanced Micro Devices, Inc. Reliability monitor for a memory array
JP4237109B2 (ja) * 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
WO2007010829A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法
KR20090053960A (ko) * 2006-04-06 2009-05-28 가부시키가이샤 어드밴티스트 시험 장치 및 시험 방법
CN101558452B (zh) * 2006-12-07 2012-08-29 Nxp股份有限公司 用于在闪速eeprom存储页中重构可靠性数据的方法和装置
US7934130B2 (en) * 2008-08-29 2011-04-26 Cadence Design Systems, Inc. System and method for managing non-volatile memory based on health
US9063874B2 (en) * 2008-11-10 2015-06-23 SanDisk Technologies, Inc. Apparatus, system, and method for wear management
US9170897B2 (en) * 2012-05-29 2015-10-27 SanDisk Technologies, Inc. Apparatus, system, and method for managing solid-state storage reliability
KR20100102925A (ko) 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
JP2010237822A (ja) * 2009-03-30 2010-10-21 Toshiba Corp メモリコントローラおよび半導体記憶装置
US8151137B2 (en) * 2009-05-28 2012-04-03 Lsi Corporation Systems and methods for governing the life cycle of a solid state drive
US8176367B2 (en) * 2009-05-28 2012-05-08 Agere Systems Inc. Systems and methods for managing end of life in a solid state drive
US8467249B2 (en) * 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8458568B2 (en) * 2010-09-24 2013-06-04 International Business Machines Corporation Systems and methods for memory devices
JP5002719B1 (ja) * 2011-03-10 2012-08-15 株式会社東芝 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
US8756474B2 (en) * 2011-03-21 2014-06-17 Denso International America, Inc. Method for initiating a refresh operation in a solid-state nonvolatile memory device
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
EP2745203B1 (en) * 2011-08-19 2016-09-21 Kabushiki Kaisha Toshiba Information processing apparatus
US8687421B2 (en) * 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US9299455B2 (en) * 2012-03-06 2016-03-29 Hitachi, Ltd. Semiconductor storage device having nonvolatile semiconductor memory
CN102945380B (zh) * 2012-10-09 2015-10-07 深圳西龙同辉技术股份有限公司 一种读写装置及其控制方法
CN102903395B (zh) * 2012-10-19 2016-09-28 上海华虹宏力半导体制造有限公司 存储器的可靠性测试方法
US8930778B2 (en) * 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
US20140173239A1 (en) * 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
US9195396B2 (en) * 2013-03-14 2015-11-24 SanDisk Technologies, Inc. Estimating access frequency statistics for storage device
US20150378800A1 (en) * 2013-03-19 2015-12-31 Hitachi, Ltd. Storage device and storage device control method
KR102081588B1 (ko) * 2013-08-08 2020-02-26 삼성전자 주식회사 Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러
KR20150029402A (ko) * 2013-09-10 2015-03-18 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
CN103646669B (zh) * 2013-11-29 2016-08-24 北京奇虎科技有限公司 一种移动存储设备的可靠性检测方法及装置
US9389956B2 (en) * 2014-01-10 2016-07-12 International Business Machines Corporation Implementing ECC control for enhanced endurance and data retention of flash memories
KR20150095360A (ko) * 2014-02-13 2015-08-21 에스케이하이닉스 주식회사 저항성 메모리 장치 및 동작 방법
US9563373B2 (en) * 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US9552171B2 (en) * 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9990279B2 (en) * 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133483A (ko) * 2018-05-23 2019-12-03 에스케이하이닉스 주식회사 메모리 시스템, 컨트롤러 및 그 동작방법
KR20200065298A (ko) * 2018-11-30 2020-06-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102344380B1 (ko) * 2021-06-02 2021-12-28 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법
US11735278B2 (en) 2021-06-02 2023-08-22 Samsung Electronics Co., Ltd. Non-volatile memory device, controller for controlling the same, storage device having the same, and method of operating the same

Also Published As

Publication number Publication date
US20160365158A1 (en) 2016-12-15
CN106250054B (zh) 2020-05-12
CN106250054A (zh) 2016-12-21
TW201707006A (zh) 2017-02-16
TWI686811B (zh) 2020-03-01
US10354743B2 (en) 2019-07-16

Similar Documents

Publication Publication Date Title
KR20160146332A (ko) 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법
KR102356072B1 (ko) 메모리 시스템 및 그 동작 방법
KR101655306B1 (ko) 메모리 시스템 및 그것의 액세스 방법
US9921908B2 (en) Storage device and read reclaim and read method thereof
US9653176B2 (en) Read disturb reclaim policy
KR102564774B1 (ko) 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법
US10108506B2 (en) Controller of semiconductor memory device and method of operating the same
KR20100093885A (ko) 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US10074412B2 (en) Semiconductor memory device and method for operating the same
KR20170052066A (ko) 메모리 시스템 및 이의 동작 방법
KR20160070920A (ko) 맵 테이블을 갖는 컨트롤러 및 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
KR20250001967A (ko) 컨트롤러 및 컨트롤러의 동작방법
US20150117125A1 (en) Semiconductor memory device, memory system including the same and operating method thereof
KR20190133483A (ko) 메모리 시스템, 컨트롤러 및 그 동작방법
KR20200001310A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US10248538B2 (en) Controller of semiconductor memory device for detecting event and storing event information and operating method thereof
US9256494B2 (en) Memory system and operating method thereof
KR102389542B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US9478289B1 (en) Semiconductor memory device and operating method thereof
US20150121168A1 (en) Memory system including randomizer and de-randomizer
KR101926860B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
US12093562B2 (en) Controller with smart scheduling and method of operating the controller
CN115934406A (zh) 从多个内核输出测试数据的系统及其方法
KR102496678B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20160094789A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20150612

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination