KR102148389B1 - 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법 - Google Patents

오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법 Download PDF

Info

Publication number
KR102148389B1
KR102148389B1 KR1020140070959A KR20140070959A KR102148389B1 KR 102148389 B1 KR102148389 B1 KR 102148389B1 KR 1020140070959 A KR1020140070959 A KR 1020140070959A KR 20140070959 A KR20140070959 A KR 20140070959A KR 102148389 B1 KR102148389 B1 KR 102148389B1
Authority
KR
South Korea
Prior art keywords
memory
memory cells
data
word line
level
Prior art date
Application number
KR1020140070959A
Other languages
English (en)
Other versions
KR20150142792A (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 KR1020140070959A priority Critical patent/KR102148389B1/ko
Priority to US14/731,003 priority patent/US9627388B2/en
Publication of KR20150142792A publication Critical patent/KR20150142792A/ko
Application granted granted Critical
Publication of KR102148389B1 publication Critical patent/KR102148389B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B12/00Dynamic random access memory [DRAM] devices
    • H10B12/30DRAM devices comprising one-transistor - one-capacitor [1T-1C] memory cells
    • H10B12/34DRAM devices comprising one-transistor - one-capacitor [1T-1C] memory cells the transistor being at least partially in a trench in the substrate
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5671Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
    • 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/0466Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
    • 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
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/528Geometry or layout of the interconnection structure
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L28/00Passive two-terminal components without a potential-jump or surface barrier for integrated circuits; Details thereof; Multistep manufacturing processes therefor
    • H01L28/40Capacitors
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B12/00Dynamic random access memory [DRAM] devices
    • H10B12/30DRAM devices comprising one-transistor - one-capacitor [1T-1C] memory cells
    • H10B12/31DRAM devices comprising one-transistor - one-capacitor [1T-1C] memory cells having a storage electrode stacked over the transistor
    • H10B12/315DRAM devices comprising one-transistor - one-capacitor [1T-1C] memory cells having a storage electrode stacked over the transistor with the capacitor higher than a bit line
    • 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
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels

Abstract

본 발명은 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법을 개시한다. 불휘발성 메모리 장치는 기판과 수직한 방향으로 적층된 복수의 메모리 셀들을 포함하는 메모리 블록을 복수로 가진다. 선택된 메모리 블록의 워드라인에 연결된 메모리 셀들의 데이터가 리드될 시 상기 리드된 데이터의 에러비트 수준에 근거하여 리클레임 필요성이 결정된다. 상기 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들이 소프트 프로그램 상태로 되어 있는 경우에 상기 리드된 데이터는 상기 선택된 메모리 블록의 상기 워드라인에 연결된 상기 메모리 셀들에 그대로 오버 라이트된다.

Description

오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법{MEMORY SYSTEM HAVING OVERWRITING OPERATION AND THEREFORE OPERATION CONTROL METHOD}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 불휘발성 반도체 메모리를 기반으로 하는 메모리 시스템 및 그에 따른 동작 제어방법에 관한 것이다.
반도체 메모리 장치는 일반적으로 DRAM, SRAM 등과 같은 휘발성 메모리 장치와 EEPROM, FRAM, PRAM, MRAM, 플래시 메모리 등과 같은 불휘발성 메모리 장치로 구분될 수 있다.
휘발성 메모리 장치는 전원이 차단될 때 저장된 데이터를 잃지만, 불휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다. 특히, 플래시 메모리는 높은 프로그래밍 속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점을 갖는다. 따라서 플래시 메모리를 포함하는 메모리 시스템은 데이터 저장 매체로 널리 사용되고 있다.
일반적으로, 플래시 메모리 장치는 절연막으로 차단된 전도성 부유게이트(Floating Gate)에 전하를 주입하여 비트정보를 저장한다. 그러나, 메모리 셀 간 또는 메모리 셀과 선택 트랜지스터(SSL, GSL) 간 존재하는 용량성 커플링(Capacitive Coupling) 문제로 인해 전도성 부유 게이트 구조가 고집적화에 물리적 한계를 가진 구조로서 인식되고 있다. 전도성 부유 게이트 간의 용량성 커플링 문제를 해결하기 위한 대안으로, 기존의 전도성 부유 게이트 대신에 Si3N4, Al2O3, HfAlO, HfSiO 등과 같은 절연막을 전하 저장층으로 이용하는 차지 트랩형 플래시(Charge Trap Flash, "CTF"라 불림) 메모리 구조가 제안되고 있다.
차지 트랩형 플래시 메모리 장치는 고집적화의 물리적 한계 극복을 위해 3차원 구조를 갖는 플래시 메모리(3D Flash Memory)장치에도 적용 될 수 있다. 차지 트랩형 플래시 메모리 장치는 절연막을 전하 저장층으로 이용하는 구조적인 특징 때문에, 프로그램 또는 소거 동작 이후에 전하 저장층의 전자 및 홀들이 재배열/재결합되어 플래시 메모리 셀들의 문턱전압들이 변화될 수 있다.
또한, 리드 동작 시에 디스터브 현상에 기인하여 플래시 메모리 셀들의 문턱전압들이 변화되면 리드된 데이터에서의 UECC(Uncorrectable Error Correction Code)가 발생될 수 있다.
본 발명이 해결하고자 하는 기술적 과제는, 불휘발성 메모리의 수명을 연장하고 리클레임 처리 속도를 높일 수 있는 메모리 시스템 및 그에 따른 동작 제어방법을 제공함에 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 일 양상(an aspect)에 따라, 기판과 수직한 방향으로 적층된 복수의 메모리 셀들을 포함하는 메모리 블록을 복수로 가지는 불휘발성 메모리 장치를 제어하는 방법은,
선택된 메모리 블록의 워드라인에 연결된 메모리 셀들의 데이터를 리드하고;
상기 리드된 데이터의 에러비트 수준에 근거하여 리클레임 필요성을 결정하고;
상기 워드라인에 연결된 메모리 셀들에 대한 소프트 프로그램 상태 레벨을 체크하여 상기 소프트 프로그램 상태 레벨이 제1 설정 범위를 벗어나지 않는 것으로 판정한 경우에 상기 리드된 데이터를 상기 선택된 메모리 블록의 상기 워드라인에 연결된 상기 메모리 셀들에 그대로 오버 라이트하는 단계들을 포함한다.
본 발명의 일실시 예에서, 소프트 프로그램 상태 레벨의 리드는 상기 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들에 대해 수행수 있다.
본 발명의 일실시 예에서, 상기 소프트 프로그램 상태 레벨이 상기 제1 설정 범위를 벗어나서 제2 설정 범위에 있는 것으로 판정한 경우에 상기 리드된 데이터를 오버 라이트 하기 이전에 상기 워드라인에 연결된 상기 메모리 셀들을 소프트 소거하는 단계가 더 포함될 수 있다.
본 발명의 일실시 예에서, 상기 오버 라이트 시 상기 메모리 셀들에 오버 라이트되는 상기 리드 데이터는 에러 정정 처리된 데이터일 수 있다.
본 발명의 일실시 예에서, 상기 소프트 프로그램 상태 레벨이 상기 제2 설정 범위를 벗어난 것으로 판정한 경우에 상기 리드된 데이터를 상기 선택된 메모리 블록과는 다른 메모리 블록에 라이트하는 것을 더 포함할 수 있다.
본 발명의 일실시 예에서, 상기 불휘발성 메모리 장치는 3차원 낸드 플래시 메모리 장치를 구성하는 메모리 셀 어레이를 가질 수 있다.
본 발명의 일실시 예에서, 상기 오버 라이트는 메모리 블록 단위의 풀 페이지 프로그램으로 수행되거나, 워드라인 단위의 풀 페이지 프로그램으로 수행될 수 있다.
본 발명의 일실시 예에서, 상기 메모리 셀들은 2비트 이상의 멀티 레벨 셀들을 포함할 수 있다.
본 발명의 일실시 예에서, 상기 리클레임 필요성을 결정할 시의 상기 리드된 데이터의 에러비트 수준은 ECC 회로에 의해 에러정정 가능한 범위 내의 에러비트 수준일 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 또 다른 양상에 따라, 기판과 수직한 방향으로 적층된 복수의 메모리 셀들을 포함하는 메모리 블록을 복수로 가지는 불휘발성 메모리 장치를 제어하는 방법은,
제1 메모리 블록의 워드라인에 연결된 메모리 셀들에 라이트된 데이터를 리드하고;
상기 리드된 데이터의 에러비트 수준에 근거하여 리클레임 필요성을 결정하고;
상기 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들에 대한 소프트 프로그램 상태 레벨을 체크하여 상기 소프트 프로그램 상태 레벨이 제1 설정 범위에 있는 것으로 판정한 경우에 상기 리드된 데이터를 상기 제1 메모리 블록의 상기 워드라인에 연결된 상기 메모리 셀들에 그대로 오버 라이트하고;
상기 소프트 프로그램 상태 레벨이 제1 설정 범위를 일정 범위 만큼 벗어난 것으로 판정한 경우에 상기 리드된 데이터를 상기 제1 메모리 블록과는 다른 제2 메모리 블록에 라이트하는 것을 포함한다.
본 발명의 일실시 예에서, 소프트 프로그램 상태 레벨이 제1 설정 범위을 일정 범위 만큼 벗어나지 않고 상기 일정 범위 내에 있는 것으로 판정한 경우에 상기 리드된 데이터를 상기 메모리 셀들에 오버 라이트 하기 이전에 소프트 소거를 더 수행할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 또 다른 양상에 따라, 메모리 시스템은,
기판과 수직한 방향으로 적층된 복수의 메모리 셀들을 포함하는 메모리 블록을 복수로 가지는 불휘발성 메모리; 및
오버 라이팅 매니저를 갖는 메모리 컨트롤러를 포함하되,
상기 오버 라이팅 매니저는, 상기 복수의 메모리 블록들 중 하나의 메모리 블록의 선택된 워드라인에 연결된 메모리 셀들에 저장된 데이터가 상기 메모리 컨트롤러로 리드된 결과, 상기 리드된 데이터의 에러비트 수준이 리클레임이 필요한 것으로 결정되면,
상기 워드라인에 연결된 메모리 셀들에 대한 소프트 프로그램 상태 레벨을 체크한 결과가 일정 범위 이내이면 상기 리드된 데이터가 상기 선택된 메모리 블록의 상기 워드라인에 연결된 상기 메모리 셀들에 그대로 오버 라이트되도록 한다. 본 발명의 일실시 예에서, 상기 소프트 프로그램 상태 레벨의 체크는 상기 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들에 대해 수행되고,
상기 오버 라이트는 상기 워드라인에 연결된 메모리 셀들 중 프로그램 상태를 갖는 메모리 셀들에 대해 수행될 수 있다.
본 발명의 일실시 예에서, 상기 메모리 셀들에 오버 라이트 되는 상기 데이터는 ECC 디코딩에 의해 에러 정정 처리된 데이터일 수 있다.
본 발명의 일실시 예에서, 워드라인에 연결된 메모리 셀들에 대한 소프트 프로그램 상태 레벨을 체크한 결과가 일정 범위 이상이면 상기 리드된 데이터는 상기 선택된 메모리 블록과는 다른 뉴 메모리 블록에 라이트될 수 있다.
본 발명의 일실시 예에서, 상기 메모리 셀들이 2비트 이상의 멀티 레벨 셀들인 경우에 상기 오버 라이트는 상기 메모리 셀들의 워드라인에 대하여 복수의 페이지 프로그램들 중에서 라스트 페이지 프로그램을 한번만 수행함에 구현될 수 있다.
본 발명의 실시 예들의 구성에 따르면, 오버 라이트 동작을 통해 새로운 메모리 블록의 사용 횟수가 줄어들므로 메모리 제품의 수명이 연장된다. 또한, 어드레스 맵핑 테이블의 변화없이 열화된 데이터에 대한 리클레임이 수행되므로 리클레임 처리 속도가 증가된다.
도 1은 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 메모리 컨트롤러를 예시적으로 보여주는 블록도이다.
도 3은 도 1에 도시된 메모리 컨트롤러의 또 다른 실시 예를 보여주는 블록도이다.
도 4는 본 발명에 사용되는 플래시 메모리를 예시적으로 보여주는 블록도이다.
도 5는 도 4에 도시된 메모리 블록(BLK1)의 3차원 구조를 예시적으로 보여주는 사시도이다.
도 6은 도 5에 도시된 메모리 블록(BLK1)의 등가 회로도이다.
도 7은 SLC(single level cell)의 차지 로스(charge loss) 현상을 설명하기 위한 도면이다.
도 8은 2비트 멀티 레벨 셀(MLC)의 차지 로스 현상을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예에 따라 오버 라이트 동작을 포함하는 리클레임 동작을 설명하기 위한 순서도이다.
도 10은 일반적인 리클레임 처리 방법의 예를 설명하기 위한 개념도이다.
도 11은 본 발명의 실시 예에 따른 리클레임 처리 방법의 예를 설명하기 위한 개념도이다.
도 12는 도 9에 따른 리클레임 동작 시의 소프트 프로그램 상태 레벨의 판정을 예시적으로 보여주는 도면이다.
도 13은 본 발명에 따라 오버 라이트 동작 시의 맵핑 테이블의 맵핑을 예시적으로 보여주는 도면이다.
도 14 및 도 15는 본 발명에 따른 메모리 시스템의 또 다른 다양한 적용 예들을 보여주는 블록도 들이다.
도 16은 본 발명의 실시 예에 따른 메모리 시스템을 메모리 카드 시스템에 적용한 예를 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 메모리 시스템을 솔리드 스테이트 드라이브(SSD) 시스템에 적용한 예를 보여주는 블록도이다.
도 18은 도 17에 도시된 SSD 컨트롤러(4210)의 구성을 예시적으로 보여주는 블록도이다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 전자 장치로 구현한 예를 보여주는 블록도이다.
위와 같은 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은, 이해의 편의를 제공할 의도 이외에는 다른 의도 없이, 개시된 내용이 보다 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 소자 또는 라인들이 대상 소자 블록에 연결된다 라고 언급된 경우에 그것은 직접적인 연결뿐만 아니라 어떤 다른 소자를 통해 대상 소자 블록에 간접적으로 연결된 의미까지도 포함한다.
또한, 각 도면에서 제시된 동일 또는 유사한 참조 부호는 동일 또는 유사한 구성 요소를 가급적 나타내고 있다. 일부 도면들에 있어서, 소자 및 라인들의 연결관계는 기술적 내용의 효과적인 설명을 위해 나타나 있을 뿐, 타의 소자나 회로블록들이 더 구비될 수 있다.
여기에 설명되고 예시되는 각 실시 예는 그것의 상보적인 실시 예도 포함될 수 있으며, 플래시 메모리와 같은 불휘발성 반도체 메모리의 소거, 프로그램(또는 라이트), 리드 동작 등과 같은 기본적 동작 및 그러한 기본적 동작을 수행하기 위한 내부 기능회로에 관한 세부는 본 발명의 요지를 모호하지 않도록 하기 위해 상세히 설명되지 않음을 유의(note)하라.
도 1은 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 1을 참조하면, 본 발명에 따른 메모리 시스템(1000)은 메모리 장치(1100) 및 메모리 컨트롤러(1200)를 포함한다. 상기 메모리 컨트롤러(1200)는 호스트(1300)와 연결될 수 있다.
메모리 장치(1100)는 메모리 컨트롤러(1200)에 의해서 제어되며, 메모리 컨트롤러(1200)의 요청에 대응하는 동작들(예를 들면, 리드(또는 읽기) 또는 프로그램(쓰기) 동작 등)을 수행할 수 있다. 메모리 장치(1100)는 버퍼 영역(1111)과 메인 영역(1112)을 포함한다.
버퍼 영역(1111)은 셀 당 1-비트 데이터를 저장하는 단일-레벨 셀(Single level cell)로 구성될 수 있다. 메인 영역(1112)은 셀 당 N-비트 데이터(N은 2 또는 그보다 큰 정수)를 저장하는 멀티-레벨 셀(Multi level cell)로 구성될 수 있다. 또는, 버퍼 및 메인 영역(1111, 1112) 각각은 멀티-레벨 셀로 구성될 수 있다. 이러한 경우, 버퍼 영역(1111)의 멀티-레벨 셀은 단일-레벨 셀과같이 동작하도록 LSB 프로그램 동작만을 수행할 수 있다.
한편, 버퍼 및 메인 영역(1111, 1112) 각각은 단일-레벨 셀로도 구성될 수 있다. 메인 영역(1112)과 버퍼 영역(1111)은 하나의 메모리 장치로 구현 되거나, 별도의 메모리 장치로 구현될 수 있다. 버퍼 영역(1111)에 저장된 데이터는 호스트(1300)의 쓰기 요청에 의해 외부로부터 제공된 데이터일 수도 있다.
메모리 컨트롤러(1200)는 메모리 장치(1100)와 호스트(1300) 사이에 연결된다. 메모리 컨트롤러(1200)는 호스트(1300)의 요청에 응답하여 메모리 장치(1100)에 대한 읽기 및 쓰기 동작 들을 제어한다. 메모리 컨트롤러(1200)는 호스트(1300)로부터 호스트 데이터(Data_h)를 입력받고, 메모리 장치(1100)로 데이터(DATA)를 전송할 수 있다. 메모리 컨트롤러(1200)는 메모리 장치(1100)로 커맨드(CMA; command), 어드레스(ADDR; address), 데이터(DATA), 그리고 제어 신호(CTRL)을 제공할 수 있다.
메모리 컨트롤러(1200)는 논리적 어드레스(Logical Address, 이하, LA)와 물리적 어드레스(Physical Address, 이하, PA)의 정보를 포함하는 매핑 테이블(Mapping table)을 관리한다.
계속해서 도 1을 참조하면, 메모리 컨트롤러(1200)는 오버 라이팅 매니저(1250)를 포함한다. 오버 라이팅 매니저(1250)는 메모리 컨트롤러(1200)내에서 오버 라이팅 동작을 제어한다.
메모리 컨트롤러(1200)는 리드 동작 시에 선택된 메모리 블록의 워드라인에 연결된 메모리 셀들의 데이터를 일정 단위로 리드한다. 이 경우에 일정단위로 리드되는 데이터는 메모리 셀들이 SLC인 경우에는 하나의 워드라인 당 1페이지 데이터 분량이 되고, 2비트 MLC인 경우에는 하나의 워드라인 당 2 페이지 데이터 분량이 된다.
메모리 컨트롤러(1200)는 리드된 데이터의 에러비트 수준에 근거하여 리클레임 필요성을 결정한다. 에러비트 수준은 ECC 회로(또는 ECC 엔진)를 통해 검출된다. 리클레임 처리의 필요 시 상기 워드라인에 연결된 메모리 셀들에 대한 소프트 프로그램 상태 레벨을 체크한다. 메모리 컨트롤러(1200)는 상기 소프트 프로그램 상태 레벨이 제1 레벨의 범위를 벗어나지 않는 것으로 판정한 경우에 상기 리드된 데이터를 상기 선택된 메모리 블록의 상기 워드라인에 연결된 상기 메모리 셀들에 그대로 오버 라이트한다. 여기서, 소프트 프로그램 상태 레벨의 리드는 상기 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들에 대해 수행될 수 있다. 메모리 컨트롤러(1200)는 소프트 프로그램 상태 레벨이 상기 제1 레벨의 범위를 벗어나서 제2 레벨의 범위에 있는 것으로 판정한 경우에 상기 리드된 데이터를 오버 라이트 하기 이전에 상기 워드라인에 연결된 상기 메모리 셀들을 소프트 소거를 수행할 수 있다.
상기 오버 라이트는 열화된 데이터를 에러 정정한 다음 데이터 리드가 수행된 워드라인에 연결된 메모리 셀들에 에러 정정된 데이터를 다시 라이트하는 것이므로 상기 메모리 블록들의 논리 어드레스에 대응적으로 맵핑된 물리 어드레스의 변동은 없게된다. 따라서, 오버 라이트는 맵핑 테이블 내의 맵핑을 그대로 유지하는 상태에서 수행될 수 있다.
상기 오버 라이트는 메모리 블록 단위의 풀 페이지 프로그램으로 수행되거나, 워드라인 단위의 풀 페이지 프로그램으로 수행될 수 있다. 여기서 풀 페이지 프로그램은 하나의 블록 전체에 속한 모든 페이지들을 프로그램하는 것을 의미한다.
한편, 상기 불휘발성 메모리 장치는 3차원 낸드 플래시 메모리 장치를 구성하는 메모리 셀 어레이를 가질 수 있다.
본 발명의 일실시 예에서, 상기 리클레임 필요성을 결정할 시의 상기 리드된 데이터의 에러비트 수준은 ECC 디코딩에 의해 에러정정 가능한 범위 내의 에러비트 수준일 수 있다.
도 1과 같은 메모리 시스템(1000)에서는 오버 라이트 동작을 통해 새로운 메모리 블록의 사용 횟수가 줄어들므로 메모리 제품의 수명이 연장된다. 또한, 어드레스 맵핑 테이블의 변화 없이 열화된 데이터에 대한 리클레임이 수행되므로 리클레임 처리 속도가 증가된다.
도 2는 도 1에 도시된 메모리 컨트롤러(1200)를 예시적으로 보여주는 블록도이다.
도 2를 참조하면, 메모리 컨트롤러(1200a)는 시스템 버스(1210), 호스트 인터페이스(1220), 컨트롤 유닛(1230), SRAM(Static Random Access Memory, 1240), 오버 라이팅 매니저(1250), ECC(Error Correcting Code)부(1260), 메모리 인터페이스(1270)를 포함한다.
시스템 버스(1210)는 호스트 인터페이스(1220), 컨트롤 유닛(1230), SRAM(1240), 카운팅 부(1250), ECC부(1260), 메모리 인터페이스(1270) 사이에 채널을 제공한다.
호스트 인터페이스(1220)는 특정한 통신 규격에 따라 호스트(도 1 참조, 1300)와 통신할 수 있다. 예시적으로, 메모리 컨트롤러(1200)은 USB (Universal Serial Bus), 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), 그리고 파이어와이어(Firewire) 등과 같은 다양한 통신 규격들 중 적어도 하나를 통해 호스트(1300)와 통신할 수 있다.
컨트롤 유닛(1230)은 호스트(1300)로부터 호스트 데이터(Data_h) 및 커맨드를 입력받고, 메모리 컨트롤러(1200)의 제반 동작을 제어할 수 있다.
SRAM(1240)은 메모리 컨트롤러(1200)의 내부 동작의 동작 메모리, 캐시 메모리, 또는 버퍼 메모리 중 적어도 하나로 이용될 수 있다.
오버 라이팅 매니저(1250)는 도 1에 설명한 바와 같이, 상기 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들이 제1 레벨의 범위 내에서 소프트 프로그램 상태로 되어 있는 경우에 상기 리드된 데이터를 상기 선택된 메모리 블록의 상기 워드라인에 연결된 상기 메모리 셀들에 그대로 오버 라이트한다.
ECC 회로로서 전술된 ECC부(1260)는 호스트(1300)로부터 수신되는 데이터를 ECC 인코딩하고 부호화 데이터를 생성한다. 또한 메모리 장치(1100)로부터 수신되는 부호화 데이터를 ECC 디코딩 하고 원본 데이터를 생성한다. 이하에서는, ECC 인코딩 및 ECC 디코딩 동작은 ECC 동작(ECC operation)이라고 한다.
메모리 인터페이스(1270)는 메모리 장치(1100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스(1270)는 낸드 플래시 인터페이스 또는 VNAND(Vertical NAND) 인터페이스 등을 포함할 수 있다. 본 발명의 실시 예에서 VNAND는 3차원 낸드 플래시 메모리를 의미할 수 있다.
도 3은 도 1에 도시된 메모리 컨트롤러(1200)의 또 다른 실시 예를 보여주는 블록도이다.
도 3을 참조하면 메모리 컨트롤러(1200b)는 시스템 버스(1210), 호스트 인터페이스(1220), 컨트롤 유닛(1230), RAM(Random Access Memory, 1240), 오버 라이팅 매니저(1250), ECC(Error Correcting Code)부(1260), 및 메모리 인터페이스(1270)를 포함한다.
컨트롤 유닛(1230)은 리클레임 정보를 저장하기 위한 리클레임 큐(1232)를 포함할 수 있다.
도 3에서 오버 라이팅 매니저(1250)는 RAM(1240)내에 소프트웨어 또는 펌웨어 등의 프로그램으로서 구현될 수 있다.
도 3에서의 나머지 구성 요소는 도 2와 동일함으로 중복적인 설명은 생략하도록 한다.
도 1에 따른 메모리 장치(1100)는 2차원 구조를 갖는 플래시 메모리뿐만 아니라 3차원 구조를 갖는 플래시 메모리(3D Flash Memory)에도 적용될 수 있다.
도 4는 본 발명에 사용되는 플래시 메모리를 예시적으로 보여주는 블록도이다.
도 4에서의 메모리 장치(1100)는 3차원 플래시 메모리를 예시적으로 보여준다. 메모리 장치(1100)는 3차원 메모리 셀 어레이(1110), 데이터 입출력 회로(1120), 어드레스 디코더(1130), 페이지 버퍼 회로(1150), 그리고 제어 로직(1140)을 포함한다.
3차원 메모리 셀 어레이(1110)는 버퍼 영역(1111)과 메인 영역(1112)을 포함한다. 3차원 메모리 셀 어레이(1110)는 복수의 메모리 블록(BLK1~BLKz)을 포함한다. 버퍼 및 메인 영역(1111, 1112) 각각은 복수의 메모리 블록으로 구성될 수 있다. 상기 복수의 메모리 블록(BLK1~BLKz)은 각기 페이지(1113)를 복수 개 포함한다. SLC의 경우에 하나의 페이지(1113)는 하나의 워드라인을 가리킨다. 한편, 2비트 MLC의 경우에 LSB 페이지와 MSB 페이지가 하나의 워드라인에 대응되어 있다. 각각의 메모리 블록은 3차원 구조 (또는 수직 구조)를 가질 수 있다. 2차원 구조 (또는 수평 구조)를 갖는 메모리 블록에서는, 메모리 셀들이 기판과 수평 방향으로 형성된다. 그러나 3차원 구조를 갖는 메모리 블록에서는, 메모리 셀들이 기판과 수직 방향으로 형성된다. 각각의 메모리 블록은 메모리 장치(1100)의 소거 단위를 이룬다.
데이터 입출력 회로(1120)는 복수의 비트 라인(BLs)에 연결된 페이지 버퍼 회로(1150)를 통해 3차원 메모리 셀 어레이(1110)와 연결된다. 데이터 입출력 회로(1120)는 외부로부터 데이터(DATA)를 입력받거나, 3차원 메모리 셀 어레이(1110)로부터 읽은 데이터(DATA)를 외부로 출력한다.
페이지 버퍼 회로(1150)는 프로그램 즉 쓰기 동작에서는 쓰기 드라이버로서 기능하고, 리드 즉 읽기 동작에서는 데이터 저장 래치로서 기능한다.
어드레스 디코더(1130)는 복수의 워드 라인(WLs) 및 선택 라인(GSL, SSL)을 통해 3차원 메모리 셀 어레이(1110)와 연결된다. 어드레스 디코더(1130)는 어드레스(ADDR)를 입력받고 워드 라인을 선택한다.
제어 로직(1140)은 메모리 장치(1100)의 프로그램, 읽기, 소거 등의 동작을 제어한다. 예를 들면, 제어 로직(1140)은 프로그램 동작 시에, 어드레스 디코더(1130)를 제어함으로 선택 워드 라인으로 프로그램 전압이 제공되도록 하고, 데이터 입출력 회로(1120) 및 페이지 버퍼 회로(1150)를 제어함으로 데이터가 프로그램 되도록 할 수 있다.
도 5는 도 4에 도시된 메모리 블록(BLK1)의 3차원 구조를 예시적으로 보여주는 사시도이다.
도 5는 도 4에 도시된 메모리 블록(BLK1)의 3차원 구조를 예시적으로 보여주는 사시도이다. 도 5를 참조하면, 메모리 블록(BLK1)은 기판(SUB)과 수직 방향으로 형성되어 있다. 기판(SUB)에는 n+ 도핑 영역이 형성된다. 기판(SUB) 위에는 게이트 전극막(gate electrode layer)과 절연막(insulation layer)이 교대로 증착된다. 그리고 게이트 전극막(gate electrode layer)과 절연막(insulation layer) 사이에는 전하 저장막(charge storage layer)이 형성될 수 있다.
게이트 전극막과 절연막을 수직 방향으로 패터닝(vertical patterning)하면, V자 모양의 필라(pillar)가 형성된다. 필라는 게이트 전극막과 절연막을 관통하여 기판(SUB)과 연결된다. 필라(Pillar)의 외곽 부분(O)은 채널 반도체로 구성될 수 있고, 내부(I)는 실리콘 산화물(Silicon Oxide)과 같은 절연 물질로 구성될 수 있다.
계속해서 도 5를 참조하면, 메모리 블록(BLK1)의 게이트 전극막(gate electrode layer)은 접지 선택 라인(GSL), 복수의 워드 라인(WL1~WL8), 그리고 스트링 선택 라인(SSL)에 연결될 수 있다. 그리고 메모리 블록(BLK1)의 필라(pillar)는 복수의 비트 라인(BL1~BL3)과 연결될 수 있다. 도 5에서는, 하나의 메모리 블록(BLK1)이 2개의 선택 라인(GSL, SSL), 8개의 워드 라인(WL1~WL8), 그리고 3개의 비트 라인(BL1~BL3)을 갖는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다.
도 5의 구조를 통해 알 수 있는 바로서, 인접 워드라인들 간의 용량성 커플링 현상은 낸드 스트링이 기판과는 수직적으로 설치되는 것에 기인하여, 플래너 타입의 플래시 메모리에 비해 월등히 적다. 그러므로 UECC 를 막기 위해 수행되는 리클레임 처리 시에 도 5의 구조는 오버 라이팅에 의한 문제를 최소화 또는 줄일 수 있게 한다.
도 6은 도 5에 도시된 메모리 블록(BLK1)의 등가 회로도이다.
도 6은 도 5에 도시된 메모리 블록(BLK1)의 등가 회로도이다. 도 6을 참조하면, 비트 라인(BL1~BL3)과 공통 소스 라인(CSL) 사이에는 낸드 스트링(NS11~NS33)이 연결되어 있다. 각각의 낸드 스트링(예를 들면, NS11)은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀(MC1~MC8), 그리고 접지 선택 트랜지스터(GST)를 포함한다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(String Selection Line; SSL1~SSL3)에 연결되어 있다. 복수의 메모리 셀(MC1~MC8)은 각각 대응하는 워드 라인(WL1~WL8)에 연결되어 있다. 그리고 접지 선택 트랜지스터(GST)는 접지 선택 라인(Ground Selection Line; GSL)에 연결되어 있다. 스트링 선택 트랜지스터(SST)는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL; Common Source Line)에 연결되어 있다.
계속해서 도 6을 참조하면, 동일 높이의 워드 라인(예를 들면, WL1) 및 접지 선택 라인(GSL)은 공통으로 연결되어 있고, 스트링 선택 라인(SSL1~SSL3)은 분리되어 있다. 제 1 워드 라인(WL1)에 연결되어 있고 낸드 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들(이하, 페이지라 함)을 프로그램하는 경우에는, 제 1 워드 라인(WL1)과 제 1 선택 라인(SSL)이 선택된다.
도 7은 SLC(single level cell)의 차지 로스(charge loss) 현상을 설명하기 위한 도면이다.
도 7을 참조하면, 차지 로스 현상은 플래시 메모리 장치의 전하 저장층(예를 들어, 부유 게이트(floating gate) 또는 터널 산화물 층(tunnel oxide layer))에 포획(trap)된 전자들이 시간이 지남에 따라, 포획된 전하 중 일부가 전하 저장층으로부터 빠져 나오는 것을 의미한다. 또한, 프로그램 및 소거를 반복하는 회수가 증가하면 터널 산화물 층(tunnel oxide layer)이 열화되고, 이에 따라 차지 로스 현상이 더 심하게 발생될 수 있다.
구체적으로, 도 7에서 x축은 문턱전압을 나타내며, y축은 메모리 셀의 개수를 나타낸다. 제1 프로그램 상태 산포(1-a)는 프로그램 동작 직후의 프로그램 상태 산포를 나타내며(즉, 차지 로스 현상이 발생되지 않는 상태), 제2 프로그램 상태 산포(1-b)는 차지 로스 현상이 발생된 후의 프로그램 상태 산포를 나타낸다. 즉, 차지 로스 현상이 발생됨에 따라, 제1 프로그램 상태 산포(1-a)는 제2 프로그램 상태 산포(1-b)로 이동하게 된다. 따라서, 제1 프로그램 상태 산포(1-a)는 베리파이 전압(Vverify)보다 우측에 위치하는 반면, 제2 프로그램 상태 산포(1-b)의 일부 산포(1-c)는 베리파이 전압(Vverify) 좌측에 위치하게 된다. 제2 프로그램 상태 산포(1-b)의 일부 산포(1-c)에 해당하는 불휘발성 메모리 셀의 개수가 많아지면, 일부 산포(1-c)에 해당하는 불휘발성 메모리 셀은 ECC(error correction code)를 이용하여 정정할 수 없다.
도 8은 2비트 멀티 레벨 셀(MLC)의 차지 로스 현상을 설명하기 위한 도면이다.
도 8은 2비트 멀티 레벨 셀(MLC) 플래시 메모리 장치의 차지 로스(charge loss) 현상을 설명하기 위한 도면이다.
MLC 불휘발성 메모리장치의 경우, 하나의 메모리 셀에 k개의 비트를 프로그램하려면, 2k 2k개의 문턱 전압들 중 어느 하나가 상기 메모리 셀에 형성되어야 한다. 2비트를 하나의 셀에 저장하는 경우 메모리 셀들 간의 미세한 전기적 특성의 차이로 인해, 동일한 데이터가 프로그램된 메모리 셀들의 문턱 전압들은 일정한 범위의 문턱전압 산포(threshold voltage distribution)를 형성할 수 있다. 각각의 문턱전압 분포는 k개의 비트에 의해 생성될 수 있는 2k 개의 데이터 값 각각에 대응될 수 있다.
도 8을 참조하면, 2비트 MLC 불휘발성 메모리 장치의 경우, 프로그램 동작 직후의 상태 산포인 P1(2-e), P2(2-c), P3(2-a)인 3개의 프로그램 문턱전압 상태 산포를 형성하며, 하나의 소거 상태(state)의 문턱전압 산포인 E(2-g)가 형성된다. P1(2-e), P2(2-c), P3(2-a)는 프로그램 후 차지 로스(charge loss)가 발생하지 않아, 상태 산포가 E(2-g), P1(2-e), P2(2-c), 및 P3(2-a) 끼리는 서로 중첩되지 않는다. 도 8에서 각 문턱전압의 상태 산포별로 대응되는 각각의 리드전압이 존재하게 된다. 따라서 2비트인 경우 VreadA, VreadB, VreadC로 총 3개의 리드전압이 정해진다. VreadA, VreadB, VreadC는 제조과정에서 미리 정해진 디폴트 전압일 수 있으나, 이에 한정되는 것은 아니다. 또한, 도면에서는 편의를 위하여 2비트를 예를 들어 설명하였으나, 이에 한정된 것은 아니다. 3비트 불휘발성 메모리의 경우 7개의 프로그램 산포와 1개의 소거 산포를 가지며, 4비트 불휘발성 메모리의 경우 15개의 프로그램 산포와 1개의 소거 산포를 가진다.
도 8을 통해, 2비트 멀티 레벨 셀(MLC) 불휘발성 메모리 장치가 프로그램 수행 후 시간이 경과하고, 또한 프로그램 및 소거(이레이즈)를 반복하여 시간이 경과한 경우, 플래시 메모리 셀의 리텐션 특성 열화로 인하여 프로그램 및 소거 상태의 문턱 전압 산포가 차지 로스(charge loss)에 기인하여 변형될 수 있음을 알 수 있다. 여기서 리텐션 특성은 메모리 셀이 저장된 데이터를 잃어버림 없이 계속적으로 보존할 수 있는 능력을 가리킨다. 메모리 셀에 데이터를 프로그램 한 후 시간이 경과되거나, 또한 프로그램 및 소거(이레이즈)가 반복되어 시간이 경과된 경우에, 메모리 셀의 문턱전압이 변동됨에 따라 리텐션 특성은 열화된다.
도 7을 통해서도 설명된 바와 같이, 불휘발성 메모리 장치의 경우, 시간이 지남에 따라, 플로팅 게이트(floating gate) 또는 터널 산화물 층(tunnel oxide layer)에 포획(trap)된 전자들이 방출되는 차지 로스가 프로그램된 메모리 셀에 대하여 발생한다. 한편, 소거 상태를 갖는 메모리 셀에 대해서는 차지 로스와는 반대되는 개념의 차지 게인이 발생된다. 여기서, 차지 게인(gain)은 소거된 메모리 셀의 플로팅 게이트 또는 터널 산화물 층으로 전자들이 주입되는 현상을 가리킨다. 또한 프로그램 및 소거를 반복하면서 플로팅 게이트나 터널 산화물 층(tunnel oxide layer)의 열화는 차지 로스나 차지 게인을 더욱 증가 시킬 수 있다.
차지 로스는 메모리 셀의 문턱전압을 감소시킬 수 있어, 문턱전압의 산포를 도면을 기준으로 왼쪽으로 이동 시킬 수 있다. 따라서, 도시된 것과 같이, 인접한 각 상태의 문턱전압 산포들이 서로 중첩될 수 있다. 예시적으로 한 것과 같이, E(2-g)와 P1'(2-f)가 서로 중첩될 수 있고, P1'(2-f)와 P2'(2-d)가 서로 중첩될 수도 있고, P2'(2-d)와 P3'(2-b)가 서로 중첩될 수도 있다. 문턱전압 산포들이 서로 중첩되면 특정 리드전압 인가 시, 리드되는 데이터에는 많은 오류가 포함될 수 있다. 예를 들면, VreadA를 인가 시에, 온(on)상태이면 P2 쪽에 있는 리드 데이터를 말하고, 오프(off)상태이면 P3 쪽에 있는 데이터를 말한다. 그러나, 겹쳐진 부분의 경우, P3인 메모리 셀의 상태일지라도 메모리 셀이 온(on) 상태로 리드될 수 있어 에러 비트를 초래할 수 있다. 따라서, 문턱전압 산포가 중첩됨에 따라, 리드된 데이터에는 많은 에러 비트들이 포함될 수 있다.
NAND 플래시 메모리의 특성 상 메모리 블록의 프로그램 후 오랜 시간이 지나면, 프로그램되어 있던 메모리 셀들에서 차지 로스가 발생된다. 도 7에서 설명된 바와 같이 차지 로스는 메모리 셀의 문턱전압을 소거된 메모리 셀의 산포 방향으로 이동시키므로 소프트 소거 현상을 유발한다. . 그로 인해 해당 메모리 블록이나 워드라인에 연결된 메모리 셀들을 리드 시에 에러 비트 수준이 증가하게 된다. 그리고 더욱 시간이 흐르게 되면 ECC 회로가 정정가능한 에러 범위를 넘어서게 되어, UECC (Uncorrectable Error Correcting Code)가 발생하게 된다. 이런 현상을 막기 위해 UECC 발생 전 에러 비트 수준을 낮춰주는 동작이 필요하다.
UECC 발생을 방지하기 위해 사전에 리텐션 특성에 의해 열화된 메모리 블록(소스 블록)의 데이터를 새로운 프레시 블록(Fresh Block, 데스티네이션 블록)으로 옮겨주는 동작이 메모리 시스템에서 수행되는데 이를 리클레임(reclaim)이라고 한다. 이와 같이 리텐션(retention)에 의해 열화된 메모리 블록의 데이터가 신규 메모리 블록으로 이동되면 호스트로부터 쓰기(write)요청된 데이터가 오랜 시간 동안 보관될 수 있다. 즉, 소스 블록의 열화된 데이터가 뉴 메모리 블록인 데스티네이션 블록으로 라이트되는 리클레임 처리에 의해, 호스트의 라이트 커맨드에 따라 메모리 셀들에 라이트된 데이터는 리드 에러 없이 오랜 시간동안 유지된다.
그렇지만, 위와 같은 일반적인 리클레임 처리는 새로운 메모리 블록(Fresh Memory Block)이 사용됨으로 인해 소거 카운트(Erase Count)가 증가하므로, 결국 메모리 제품 수명을 감소시키게 된다. 그리고 플래시 메모리 장치 내에 데이터를 실질적으로 저장하는 복수의 페이지들을 포함하는 메모리 블록이 변경됨에 따라 어드레스 맵핑 테이블(Mapping Table)도 변경이 되기 때문에, 리클레임 시 리텐션 블록의 처리 이외에 추가적인 프로그램 동작(Program Operation) 발생된다. 여기서, 리텐션 블록의 처리는 리텐션 특성이 열화된 블록 내의 페이지들에 저장된 데이터를 새로운 메모리 블록으로 옮기는 동작을 포함한다. 그리고, 리클레임 처리 시에 데스티네이션 메모리 블록에 대해 메모리 블록 내의 모든 페이지들을 프로그램하는 풀 페이지 프로그램(Full Page Program)을 수행해야 하기 때문에 처리 시간이 오래 걸리게 된다.
로지컬 어드레스는 메모리 컨트롤러(1200)가 호스트로부터 동작 커맨드를 받아 데이터를 저장할 때 사용되는 어드레스이다. 피지컬 어드레스는 메모리 장치(1100)에 실제로 데이터가 저장되어 있는 어드레스를 가리킨다. 상기 어드레스 맵핑 테이블에는 로지컬 어드레스에 대응되는 피지컬 어드레스가 후술되는 도 13에서와 같이 맵핑되어 있다.
본 발명의 실시 예에서는 리텐션에 의해 열화된 블록의 데이터를 신규 메모리 블록으로 옮기는 것이 아니라, 소거 상태를 갖는 메모리 셀이 일정한 범위 내에서 소프트 프로그램된 경우에 리클레임 처리 대상이 되는 메모리 블록 자체가 그대로 재사용되는 것을 이해하여야 한다.
NAND 플래시 메모리의 경우, 이미 프로그램이 되어 있는 워드라인에 기 프로그램되어 있던 데이터와는 다른 데이터를 라이트하게 되면(Overwrite 를 의미) 해당 워드라인(wordline)의 셀 문턱전압(Cell Vth)이 코럽션(corruption)된다. 따라서 코럽션에 기인하여 그 워드라인에 연결된 메모리 셀들로부터는 데이터가 정상적으로 리드되기 어렵다. 그러나, 프로그램되어 있는 워드라인에 연결된 메모리 셀들에 라이트 되어 있던 동일한 데이터를 가지고 오버라이트가 수행되면, 셀 문턱전압의 코럽션이 발생되지 않을 수 있다. 이와 함께 프로그램된 메모리 셀들이 가져야 할 문턱전압 레벨(Vth level: verify level을 의미)보다 낮은 Vth를 가지고 있는 메모리 셀들은 다시 한번 프로그램이 되어 베리파이 레벨(verify level)보다 높은 Vth를 지니게 된다. 이러한 것은 리차징(recharging) 효과라고 불려진다.
그리고 오버 라이트에 의해 디스터브(Disturb)발생 가능성이 있을 경우, 프로그램된 메모리 셀들에 대해 소프트 소거를 수행하면 디스터브에 대한 보상이 이루어져 오버 라이트 동작 후의 디스터브 문제들이 해결될 수 있다.
도 9는 본 발명의 실시 예에 따라 오버 라이트 동작을 포함하는 리클레임 동작을 설명하기 위한 순서도이다. 또한, 도 10은 일반적인 리클레임 처리 방법의 예를 설명하기 위한 개념도이고, 도 11은 본 발명의 실시 예에 따른 리클레임 처리 방법의 예를 설명하기 위한 개념도이다.
먼저, 도 9를 참조하면, 메모리 컨트롤러(1200)는 리드 선택된 메모리 블록의 데이터를 리드한 후 ECC 부(1260)를 통해 에러 비트 수준을 체크한다. UECC 수준을 초과하지 않는 범위 내에서 에러 비트 수준이 설정된 수준 이상이면 S910 단계에서, 메모리 컨트롤러(1200)는 열화된 데이터에 대한 리클레임 처리가 필요한 것으로 결정한다.
S912 단계에서, 메모리 컨트롤러(1200)는 소거상태를 갖는 메모리 셀들에 대하여 소프트 프로그램 상태의 수준을 체크한다. 프로그램된 메모리 셀들이 차아지 로스에 기인하여 리텐션 특성이 열화되는 경우에 소거상태를 갖는 메모리 셀들에 대해서는 차아지 게인이 발생된다. 후술되는 도 12에서와 같이 소거 메모리 셀들의 산포는 차아지 게인에 기인하여 소프트 프로그램되면 소거 산포(E1)에서 소거 산포(E2)로 변화될 수 있다. 소프트 프로그램의 수준이 더욱 증가될 경우에 소거 산포(E1)는 소거 산포들(E3,E4)2)로 변화될 수 있다. 결국, 본 발명의 실시 예에서는 프로그램된 메모리 셀들의 차지 로스에 의한 소프트 소거 수준을 결정하기 위해 소거 상태를 갖는 메모리 셀들에 대한 소프트 프로그램 수준을 체크한다.
S914 단계에서, 소거된 메모리 셀들에 대한 문턱전압 변동 수준이 제1 수준(도 12의 경우에 L1에 대응)인 것으로 체크되면, S916 단계가 도 10과 같이 수행되어 일반적인 리클레임 처리가 이루어진다. 도 10을 참조하면, 메모리 장치(1100)내의 소스 블록(1101)내의 열화된 데이터는 화살부호 AR3를 통해 나타낸 바와 같이, 리클레임 처리를 위해 버퍼로서 기능하는 SRAM(1240)에 저장된다. 그리고, SRAM(1240)에 저장된 데이터(에러 정정된 데이터)는 화살부호 AR4를 통해 나타낸 바와 같이, 신규 메모리 블록인 데스티네이션 블록(1104)으로 이동된다. 이와 같은 일반적인 리클레임 처리에서는 맵핑 테이블(1251)의 어드레스 맵 영역(1252)이 변경되어야, 화살부호 AR1를 통해 나타낸 바와 같은 선택 경로가 화살부호 AR2를 통해 나타낸 바와 같은 선택 경로로 바뀌어, 이 후의 메모리 동작에서 소스 블록(1101)이 선택됨이 없이 데스티네이션 블록(1104)이 선택될 수 있다.
한편, S918 단계에서, 소거 상태를 갖는 메모리 셀들에 대한 문턱전압 변동 수준이 제2 수준(도 12의 경우에 L2에 대응)보다 작은 제3 수준(도 12의 경우에 L3에 대응)인 것으로 체크되면, S920 단계가 도 11과 같이 수행되어 리클레임 처리 대상이 된 메모리 블록에 리드된 데이터를 그대로 덮어 쓰는 오버 라이트 동작이 이루어진다.
도 11을 도 10과 대조하면서 참조하면, 메모리 장치(1100)내의 소스 블록(1101)내의 열화된 데이터는 화살부호 AR10를 통해 나타낸 바와 같이, 리클레임 처리를 위해 버퍼로서 기능하는 SRAM(1240)에 저장된다. 그리고, SRAM(1240)에 저장된 데이터(에러 정정된 데이터)는 화살부호 AR11를 통해 나타낸 바와 같이, 리클레임 처리 대상이 되었던 소스 메모리 블록(1101)에 오버 라이트된다. 이와 같은 오버 라이트 동작을 갖는 리클레임 처리에서는 로지컬 어드레스 대 피지컬 어드레스의 맵핑이 변경되지 않으므로 맵핑 테이블(1251)의 어드레스 맵 영역(1252)이 변경될 필요가 없다. 그러므로 오버 라이팅 시에는 메모리 컨트롤러가 맵핑 테이블 내의 로지컬 어드레스에 대응되는 피지컬 어드레스를 변경하는 동작이 필요 없으므로 리클레임 처리에 걸리는 시간이 단축된다.
한편, S918 단계에서, 소거 상태를 갖는 메모리 셀들에 대한 문턱전압 변동 수준이 제1 수준보다 작은 제2 수준(도 12의 경우에 L2에 대응)인 것으로 체크되면, S922, S924 단계들이 차례로 수행된 후 상기 S920 단계가 수행된다.
S922 단계에서 데이터가 버퍼에 버퍼링된 후, S924 단계에서 프로그램된 메모리 셀들에 대한 소프트 소거가 수행되면, 오버 라이트되는 메모리 셀들에서 발생될 수 있는디스터브 문제들이 해결된다.
소프트 소거 동작은 소거 상태를 갖는 메모리 셀들에 대한 문턱전압 변동 수준이 제1 수준보다 작은 제2 수준(도 12의 경우에 L2에 대응)인 것으로 체크된 경우에, 오버 라이트 동작 이전에 메모리 셀들의 문턱전압 산포를 소거 셀 산포 방향으로 이동시키거나 산포를 좁게 하기 위해 수행된다.
소프트 소거는 소거전압보다 낮은 약 소거전압이 벌크영역에 인가되는 점을 제외하고는 정상적인 소거 바이어스 조건과 동일할 수 있다. 즉, 소프트 소거의 수행 시에 선택된 블럭의 모든 워드라인들에 0V가 인가되고, 벌크영역에만 약 20V의 약 소거전압이 인가될 수 있다.
따라서, 일단 소프트 소거가 수행된 프로그램 메모리 셀들은, 오버라이트 후에 오버라이트된 메모리 셀들의 디스터브 문제가 방지 또는 최소화된다.
도 12는 도 9에 따른 리클레임 동작 시의 소프트 프로그램 상태 레벨의 판정을 예시적으로 보여주는 도면이다.
도 12를 참조하면, 가로축은 문턱전압을 나타내고, 세로축은 메모리 셀들의 개수를 가리킨다. 오버 라이트 동작의 결정을 위해서 본 발명의 실시 예에서는 소거 상태를 갖는 메모리 셀들의 차지 게인에 의한 소프트 프로그램 상태의 수준을 체크함에 의해 프로그램 메모리 셀들의 차지 로스의 수준을 판별한다.
왜냐하면, 프로그램된 메모리 셀들이 차아지 로스에 기인하여 리텐션 특성이 열화되는 경우에 소거상태를 갖는 메모리 셀들에 대해서는 차아지 게인이 발생되기 때문이다. 소거 메모리 셀들의 문턱전압 산포가 차지 게인에 의해 변동되면, 원래의 소거 산포(E1)에서 소거 산포(E2)로 변화될 수 있다. 소거 산포(E1)에서 소거 산포(E2)로 변화되는 것을 제1 설정 범위라고 하면 이는 도 12내에서 제3 레벨(L3)에 대응된다. 제1 설정 범위는 소거 문턱전압들(EV1,EV2) 사이에 존재한다. 소거 상태를 갖는 메모리 셀들이 제1 설정 범위에 있는 경우에 프로그램된 메모리 셀들에 대한 오버 라이트가 수행된다.
원래의 소거 산포(E1)에서 소거 산포(E3)로 변화되는 것을 제2 설정 범위라고 하면 이는 도 12내에서 제2 레벨(L2)에 대응된다. 제2 설정 범위는 소거 문턱전압들(EV1,EV3) 사이에 존재한다. 소거 상태를 갖는 메모리 셀들이 제2 설정 범위에 있는 경우에 프로그램된 메모리 셀들에 대한 오버 라이트는 소프트 소거 동작을 거친 후에 수행된다.
원래의 소거 산포(E1)에서 소거 산포(E4)로 변화되는 것을 제3 설정 범위라고 하면 이는 도 12내에서 제1 레벨(L1)에 대응된다. 제3 설정 범위는 소거 문턱전압들(EV1,EV4) 사이에 존재한다. 소거 상태를 갖는 메모리 셀들이 제3 설정 범위에 있는 경우에 프로그램된 메모리 셀들에 대한 오버 라이트는 수행되지 않고, 일반적인 리클레임 동작이 수행된다.
도 13은 본 발명에 따라 오버 라이트 동작 시의 맵핑 테이블의 맵핑을 예시적으로 보여주는 도면이다.
맵핑 테이블은 메모리 컨트롤러의 장치 드라이버로서 기능한 FTL(Flash Translation Layer)에 의해 관리될 수 있다.
다양한 맵핑 스키마들 중에서 페이지 맵 테이블 사이즈를 줄일 수 있는 블록 레벨 맵핑 스키마의 예시는 도 13에 나타나 있다.
NAND Flash 메모리의 메모리 블록(Block)은 피지컬 블록 넘버들(PBN:0~PBN:k)로 구분되고 각 PBN내의 페이지 오프셋(Page Offset)은 0~3까지이다.
맵핑 테이블은 로지컬 블록 넘버(LBN)에 대응되는 피지컬 블록 넘버(PBN)가 맵핑되어 있다.
예를 들어  라이트 동작에서 로지컬 페이지 어드레스(LPA)가 LPA=5로서 메모리 컨트롤러에 인가되면 LPA 5는 설정된 페이지 오프셋 값 4로 나뉘어져 5/4=1이 된다.
이에 따라 LBN은 1로, 페이지 오프셋(PO)는 1이 된다. 맵핑 테이블에서 LBN 1은 피지컬 블록 넘버(PBN) 0으로 맵핑되어 있고 페이지 오프셋은 1이므로 NAND Flash 메모리의 피지컬 블록 넘버(PBN:0)의 2번째 페이지(PPN1)에 프로그램 데이터가 맵핑 경로(CA1)를 따라 도시된 바와 같이 저장된다.
본 발명의 실시 예에서의 오버 라이트 동작의 경우에도 상기 2번째 페이지(PPN1)로부터 리드된 데이터가 다시 상기 2번째 페이지(PPN1)에 쓰여지는 것이므로, 맵핑 테이블에서 LBN 1: PBN 0의 맵핑 관계는 변동없이 그대로 유지된다.
한편, 뉴 메모리 블록으로 데이터가 이동되는 리클레임 처리 시에는 맵핑 테이블에서 LBN 1: PBN 1로 예시된 바와 같이 변동된다. 상기 리클레임 처리 시에는 변경된 맵핑 경로(CA2)를 따라 도시된 바와 같이 피지컬 블록 넘버(PBN:1)의 2번째 페이지(PPN5)에 새롭게 저장된다. 또한, 피지컬 블록 넘버(PBN:0)에 저장된 데이터는 블록 카피(BC)경로를 통해 나타낸 바와 같이 변경된 피지컬 블록 넘버(PBN:1)로 블록 카피된다.
이와 같이, 본 발명의 실시 예에서는 NAND 플래시 메모리의 오버 라이트 특성이 리클레임 처리에 사용된다. 특정한 메모리 블록이 리텐션 혹은 디스터브 등에 의해 에러 비트 수준이 증가하게 될 경우에, 리드된 워드라인에 연결된 메모리 셀들에 쓰여져 있는 데이터와 동일한 데이터를 상기 워드라인에 연결된 메모리 셀들에 오버 라이트 하면 에러비트 수준이 낮아진다.
오버 라이팅을 통한 리클레임 처리는 신규(Fresh) 메모리 블록의 사용 회수를 줄일 수 있어 NAND 플래시 메모리 제품의 수명이 연장될 수 있다. 그리고 로지컬 어드레스 대 피지컬 어드레스에 대한 맵핑 정보 변경이 필요 없으므로 맵핑 테이블(Mapping Table) 관리 동작이 발생하지 않는다. 그러므로 리클레임 처리 속도 또한 높일 수 있다.
도 14 및 도 15는 본 발명에 따른 메모리 시스템의 또 다른 다양한 적용 예들을 보여주는 블록도 들이다.
도 14 및 도 15를 참조하면, 메모리 시스템(2000a, 2000b)은 저장 장치(2100a, 2100b) 및 호스트(2200a, 2200b)를 포함한다. 저장 장치(2100a, 2100b)는 플래시 메모리(2110a, 2110b) 및 메모리 컨트롤러(2120a, 2120b)를 포함할 수 있다.
저장 장치(2100a, 2100b)는 메모리 카드(예를 들면, SD, MMC 등)나 착탈 가능한 이동식 저장 장치(예를 들면, USB 메모리 등)와 같은 저장 매체를 포함할 수 있다. 저장 장치(2100a, 2100b)는 호스트(2200a, 2200b)와 연결되어 사용될 수 있다. 저장 장치(2100a, 2100b)는 호스트 인터페이스를 통해 호스트와 데이터를 주고 받는다. 저장 장치(2100a, 2100b)는 호스트(2200a, 2200b)로부터 전원을 공급받아서 내부 동작을 수행할 수 있다.
도 14의 경우에 메모리 컨트롤러(2120a)는 리클레임 동작에서 오버 라이팅 동작을 제어하는 오버 라이팅 매니저(2101a)를 구비한다. 한편, 도 15의 경우에 호스트(2200b)는 오버 라이팅 동작을 제어하는 오버 라이팅 매니저(2201b)를 구비한다.
오버 라이팅 매니저는 도 9와 동작 제어 흐름에 따라 리클레임 동작 시 오버 라이팅 동작을 제어할 수 있다.
따라서, 저장 장치(2100a, 2100b)의 수명이 연장되고 리클레임 처리 시의 동작 속도가 높아진다.
도 16은 본 발명의 실시 예에 따른 메모리 시스템을 메모리 카드 시스템에 적용한 예를 보여주는 블록도이다.
도 16을 참조하면, 메모리 카드 시스템(3000)은 호스트(3100)와 메모리 카드(3200)를 포함한다. 호스트(3100)는 호스트 컨트롤러(3110), 호스트 접속 유닛(3120), 그리고 디램(3130)을 포함한다.
호스트(3100)는 메모리 카드(3200)에 데이터를 쓰거나, 메모리 카드(3200)에 저장된 데이터를 읽는다(리드). 호스트 컨트롤러(3110)는 커맨드(예를 들면, 쓰기 커맨드), 호스트(3100) 내에서 생성된 클록 신호(CLK), 그리고 데이터(DAT)를 호스트 접속 유닛(3120)을 통해 메모리 카드(3200)로 전송한다. 디램(3130)은 호스트(3100)의 메인 메모리이다.
메모리 카드(3200)는 카드 접속 유닛(3210), 카드 컨트롤러(3220), 그리고 플래시 메모리(3230)를 포함할 수 있다. 카드 컨트롤러(3220)는 카드 접속 유닛(3210)을 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(3220) 내에서 발생한 클록 신호에 동기하여 데이터를 플래시 메모리(3230)에 저장한다. 플래시 메모리(3230)는 호스트(3100)로부터 전송된 데이터를 저장한다. 예를 들어, 호스트(3100)가 디지털 카메라인 경우에는 영상 데이터를 저장한다.
메모리 카드 시스템(3000)은 호스트 컨트롤러(3110), 카드 컨트롤러(3220), 또는 플래시 메모리(3230) 내에 오버 라이팅 매니저를 포함할 수 있다. 앞에서 설명한 바와 같이, 오버 라이팅 매니저의 구비에 의해, 시스템의 수명이 최대화 또는 늘어 나면서 맵핑 테이블의 관리 동작이 필요없어 리클레임의 처리 속도가 높아진다.
도 17은 본 발명의 실시 예에 따른 메모리 시스템을 솔리드 스테이트 드라이브(SSD) 시스템에 적용한 예를 보여주는 블록도이다.
도 17을 참조하면, SSD 시스템(4000)은 호스트(4100)와 SSD(4200)를 포함한다. 호스트(4100)는 호스트 인터페이스(4111), 호스트 컨트롤러(4120), 그리고 디램(4130)을 포함한다.
호스트(4100)는 SSD(4200)에 데이터를 쓰거나, SSD(4200)에 저장된 데이터를 읽는다. 호스트 컨트롤러(4120)는 커맨드, 어드레스, 제어 신호 등의 신호(SGL)를 호스트 인터페이스(4111)를 통해 SSD(4200)로 전송한다. 디램(4130)은 호스트(4100)의 메인 메모리로서 기능한다.
SSD(4200)는 호스트 인터페이스(4211)를 통해 호스트(4100)와 신호(SGL)를 주고 받으며, 전원 커넥터(power connector, 4221)를 통해 전원을 입력받는다. SSD(4200)는 복수의 불휘발성 메모리(4201~420n), SSD 컨트롤러(4210), 그리고 보조 전원 장치(4220)를 포함할 수 있다. 여기에서, 복수의 불휘발성 메모리(4201~420n)는 낸드 플래시 메모리 이외에도 PRAM, MRAM, ReRAM, FRAM 등으로 구현될 수 있다.
복수의 불휘발성 메모리(4201~420n)는 SSD(4200)의 저장 매체로서 사용된다. 복수의 불휘발성 메모리(4201~420n)는 복수의 채널(CH1~CHn)을 통해 SSD 컨트롤러(4210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 불휘발성 메모리가 연결될 수 있다. 하나의 채널에 연결되는 불휘발성 메모리는 동일한 데이터 버스에 연결될 수 있다.
SSD 컨트롤러(4210)는 호스트 인터페이스(4211)를 통해 호스트(4100)와 신호(SGL)를 주고 받는다. 여기에서, 신호(SGL)에는 커맨드, 어드레스, 데이터 등이 포함될 수 있다. SSD 컨트롤러(4210)는 호스트(4100)의 커맨드에 따라 해당 불휘발성 메모리에 데이터를 쓰거나 해당 불휘발성 메모리로부터 데이터를 읽어낸다. SSD 컨트롤러(4210)의 내부 구성은 도 18을 참조하여 상세하게 후술될 것이다.
보조 전원 장치(4220)는 전원 커넥터(4221)를 통해 호스트(4100)와 연결된다. 보조 전원 장치(4220)는 호스트(4100)로부터 전원(PWR)을 입력받고, 충전할 수 있다. 한편, 보조 전원 장치(4220)는 SSD(4200) 내에 위치할 수도 있고, SSD(4200) 밖에 위치할 수도 있다. 예를 들면, 보조 전원 장치(4220)는 메인 보드에 위치하며, SSD(4200)에 보조 전원을 제공할 수도 있다.
도 18은 도 17에 도시된 SSD 컨트롤러(4210)의 구성을 예시적으로 보여주는 블록도이다.
도 18을 참조하면, SSD 컨트롤러(4210)는 NVM 인터페이스(4211), 호스트 인터페이스(4212), 오버 라이팅 매니저(4213), 제어 유닛(4214), 그리고 SRAM(4215)을 포함한다.
NVM 인터페이스(4211)는 호스트(4100)의 메인 메모리로부터 전달된 데이터를 각각의 채널들(CH1~CHn)로 스캐터링(Scattering)한다. 그리고 NVM 인터페이스(4211)는 불휘발성 메모리(4201~420n)로부터 읽은 데이터를 호스트 인터페이스(4212)를 경유하여 호스트(4100)로 전달한다.
호스트 인터페이스(4212)는 호스트(4100)의 프로토콜에 대응하여 SSD(4200)와의 인터페이싱을 제공한다. 호스트 인터페이스(4212)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등을 이용하여 호스트(4100)와 통신할 수 있다. 또한, 호스트 인터페이스(4212)는 호스트(4100)가 SSD(4200)를 하드 디스크 드라이브(HDD)로 인식하도록 지원하는 디스크 에뮬레이션(Disk Emulation) 기능을 수행할 수 있다.
오버 라이팅 매니저(4213)는 앞에서 설명한 바와 같이 불휘발성 메모리(4201~420n)의 리클레임 동작 시 오버 라이팅 동작을 제어할 수 있다.
제어 유닛(4214)은 호스트(4100)로부터 입력된 신호(SGL)를 분석하고 처리한다. 제어 유닛(4214)은 호스트 인터페이스(4212)나 NVM 인터페이스(4211)를 통해 호스트(4100)나 불휘발성 메모리(4201~420n)를 제어한다. 제어 유닛(4214)은 SSD(4200)을 구동하기 위한 펌웨어에 따라서 불휘발성 메모리(4201~420n)의 동작을 제어한다. 상기 오버 라이팅 매니저(4213)의 기능은 상기 제어 유닛(4214)에 합체될 수도 있다.
SRAM(4215)은 불휘발성 메모리(4201~420n)의 효율적 관리를 위해 사용되는 소프트웨어(S/W)를 구동하는 데 사용될 수 있다. 또한, SRAM(4215)은 호스트(4100)의 메인 메모리로부터 입력받은 메타 데이터를 저장하거나, 캐시 데이터를 저장할 수 있다. 서든 파워 오프 동작 시에, SRAM(4215)에 저장된 메타 데이터나 캐시 데이터는 보조 전원 장치(4220)를 이용하여 불휘발성 메모리(4201~420n)에 저장될 수 있다.
다시 도 17을 참조하면, 본 발명의 실시 예에 따른 SSD 시스템(4000)은 앞에서 설명한 바와 같은 리클레임 동작 시 오버 라이팅 기능의 수행에 의해, 리드 동작 시 복수의 불휘발성 메모리(4201~420n)의 디스터브 현상으로 발생하는 리드 에러를 줄일 수 있다. 그러한 경우에 시스템의 제품 수명이 연장되고 리클레임 처리 속도도 개선된다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 전자 장치로 구현한 예를 보여주는 블록도이다.
여기에서, 전자 장치(5000)는 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 태블릿 컴퓨터(tablet computer), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), DMB (Digital Multimedia Broadcasting) 재생기, 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 데이터 센터를 구성하는 스토리지, 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로서 제공될 수도 있다.
도 19를 참조하면, 전자 장치(5000)는 메모리 시스템(5100), 전원 장치(5200), 보조 전원 장치(5250), 중앙처리장치(5300), 디램(5400), 그리고 사용자 인터페이스(5500)를 포함한다. 메모리 시스템(5100)은 플래시 메모리(5110) 및 메모리 컨트롤러(5120)를 포함한다. 메모리 시스템(5100)은 전자 장치(5000)에 내장될 수 있다.
앞에서 설명한 바와 같이, 본 발명에 따른 전자 장치(5000)는 플래시 메모리(5110)의 디스터브 현상으로 발생하는 리드 에러를 오버 라이팅 동작을 실행함에 의해 효율적으로 줄일 수 있다.
이상에서와 같이 도면과 명세서를 통해 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다.
예를 들어, 플래시 메모리를 갖는 메모리 시스템에서의 리클레임 동작 위주로 설명되었으나, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이, 도면들의 회로 및 방법적 구성을 변경하거나 가감하여, 오버 라이팅 동작을 포함하는 리클레임 처리를 다르게 할 수 있을 것이다. 또한, 본 발명의 개념에서는 메모리 컨트롤러가 리클레임을 제어하는 것을 주로 예로 들었으나, 이에 한정됨이 없이 호스트나 메모리 장치를 통해 오버 라이팅 동작을 포함하는 리클레임 처리를 수행하는 것도 가능할 것이다.
1000: 메모리 시스템 1100: 메모리 장치
1200: 메모리 컨트롤러 1300: 호스트
1210: 시스템 버스 1220: 호스트 인터페이스
1230: 컨트롤 유닛 1240: SRAM
1250: 오버 라이팅 매니저 1260: ECC부
1270: 메모리 인터페이스 1110: 3차원 메모리 셀 어레이
1111: 버퍼 영역 1112: 메인 영역

Claims (10)

  1. 기판과 수직한 방향으로 적층된 복수의 메모리 셀들을 포함하는 메모리 블록을 복수로 가지는 불휘발성 메모리 장치를 제어하는 방법에 있어서:
    선택된 메모리 블록의 워드라인에 연결된 메모리 셀들의 데이터를 리드하는 단계;
    상기 리드된 데이터의 에러 비트 수준에 근거하여 리클레임 필요성을 결정하는 단계; 및
    상기 워드라인에 연결된 메모리 셀들에 대한 소프트 프로그램 상태 레벨을 체크하여, 상기 소프트 프로그램 상태 레벨이 제1 설정 범위를 벗어나지 않는 것으로 판정된 경우에, 상기 리드된 데이터를 상기 선택된 메모리 블록의 상기 워드라인에 연결된 상기 메모리 셀들에 오버 라이트 하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 소프트 프로그램 상태 레벨의 리드는 상기 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들에 대해 수행되는 방법.
  3. 제 1 항에 있어서,
    상기 오버 라이트 하는 단계에서 상기 메모리 셀들에 오버 라이트 되는 상기 리드된 데이터는 에러 정정 처리된 데이터인 방법.
  4. 제 1 항에 있어서,
    상기 불휘발성 메모리 장치는 3차원 낸드 플래시 메모리 장치를 구성하는 메모리 셀 어레이를 가지는 방법.
  5. 제 1 항에 있어서,
    상기 리클레임 필요성을 결정하는 단계에서 상기 리드된 데이터의 상기 에러 비트 수준은 ECC 회로에 의해 에러 정정 가능한 범위 내의 에러 비트 수준인 방법.
  6. 제 1 항에 있어서,
    상기 소프트 프로그램 상태 레벨이 상기 제1 설정 범위를 벗어나서 제2 설정 범위에 있는 것으로 판정된 경우에, 상기 리드된 데이터를 오버 라이트 하기 이전에 상기 워드라인에 연결된 상기 메모리 셀들을 소프트 소거하는 단계를 더 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 소프트 프로그램 상태 레벨이 상기 제2 설정 범위를 벗어난 것으로 판정된 경우에, 상기 리드된 데이터를 상기 선택된 메모리 블록과는 다른 메모리 블록에 라이트하는 단계를 더 포함하는 방법.
  8. 기판과 수직한 방향으로 적층된 복수의 메모리 셀들을 포함하는 메모리 블록을 복수로 가지는 불휘발성 메모리 장치; 및
    오버 라이팅 매니저를 갖는 메모리 컨트롤러를 포함하고,
    상기 오버 라이팅 매니저는, 상기 복수의 메모리 블록들 중 하나의 메모리 블록의 선택된 워드라인에 연결된 메모리 셀들에 저장된 데이터가 상기 메모리 컨트롤러로 리드된 결과, 상기 리드된 데이터의 에러 비트 수준이 리클레임이 필요한 것으로 결정되고, 상기 워드라인에 연결된 상기 메모리 셀들에 대한 소프트 프로그램 상태 레벨을 체크한 결과가 일정 범위 이내이면, 상기 리드된 데이터가 상기 워드라인에 연결된 상기 메모리 셀들에 오버 라이트 되도록 제어하는 메모리 시스템.
  9. 제 8 항에 있어서,
    상기 소프트 프로그램 상태 레벨의 체크는 상기 워드라인에 연결된 상기 메모리 셀들 중 소거 상태를 갖는 메모리 셀들에 대해 수행되고,
    상기 오버 라이트는 상기 워드라인에 연결된 상기 메모리 셀들 중 프로그램 상태를 갖는 메모리 셀들에 대해 수행되는 메모리 시스템.
  10. 제 8 항에 있어서,
    상기 메모리 셀들에 오버 라이트 되는 상기 리드된 데이터는 ECC 디코딩에 의해 에러 정정 처리된 데이터인 메모리 시스템.
KR1020140070959A 2014-06-11 2014-06-11 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법 KR102148389B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140070959A KR102148389B1 (ko) 2014-06-11 2014-06-11 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법
US14/731,003 US9627388B2 (en) 2014-06-11 2015-06-04 Memory system having overwrite operation control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140070959A KR102148389B1 (ko) 2014-06-11 2014-06-11 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법

Publications (2)

Publication Number Publication Date
KR20150142792A KR20150142792A (ko) 2015-12-23
KR102148389B1 true KR102148389B1 (ko) 2020-08-27

Family

ID=54836699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140070959A KR102148389B1 (ko) 2014-06-11 2014-06-11 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법

Country Status (2)

Country Link
US (1) US9627388B2 (ko)
KR (1) KR102148389B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102564563B1 (ko) * 2016-06-27 2023-08-11 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
US10026486B1 (en) * 2017-03-06 2018-07-17 Sandisk Technologies Llc First read countermeasures in memory
CN108538331B (zh) * 2017-03-06 2022-04-19 桑迪士克科技有限责任公司 存储器中的第一读取对策
KR102224564B1 (ko) 2017-03-29 2021-03-09 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US10140042B1 (en) 2017-09-13 2018-11-27 Toshiba Memory Corporation Deterministic read disturb counter-based data checking for NAND flash
KR102431238B1 (ko) 2017-10-11 2022-08-11 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190075353A (ko) 2017-12-21 2019-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102369391B1 (ko) * 2017-12-27 2022-03-02 삼성전자주식회사 비휘발성 메모리 장치의 데이터 소거 방법 및 이를 수행하는 비휘발성 메모리 장치
KR20190088184A (ko) 2018-01-18 2019-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102565913B1 (ko) * 2018-06-12 2023-08-11 에스케이하이닉스 주식회사 저장 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 이의 동작 방법
KR20200125231A (ko) 2019-04-26 2020-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US10892025B2 (en) * 2019-06-13 2021-01-12 Western Digital Technologies, Inc. Soft erase and programming of nonvolatile memory
US11755237B2 (en) * 2021-08-31 2023-09-12 Micron Technology, Inc. Overwriting at a memory system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882841B1 (ko) 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392241A (en) * 1993-12-10 1995-02-21 International Business Machines Corporation Semiconductor memory circuit with block overwrite
JP3812933B2 (ja) 2001-04-19 2006-08-23 シャープ株式会社 ファイルシステムおよびその制御方法
JP2004259144A (ja) 2003-02-27 2004-09-16 Renesas Technology Corp 半導体記憶装置
US7483324B2 (en) 2004-10-21 2009-01-27 Nxp B.V. Memory device and method providing an average threshold based refresh mechanism
US20060149891A1 (en) 2004-12-30 2006-07-06 Rudelic John C Relocated reclaim block
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
KR100875292B1 (ko) 2006-09-19 2008-12-23 삼성전자주식회사 플래시 메모리 장치 및 그것의 리프레쉬 방법
JP4160625B1 (ja) * 2007-04-04 2008-10-01 シャープ株式会社 誤り検出制御システム
US7822791B2 (en) 2007-06-28 2010-10-26 Intel Corporation Method and apparatus for flash memory reclaim
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US8938655B2 (en) 2007-12-20 2015-01-20 Spansion Llc Extending flash memory data retension via rewrite refresh
US7859932B2 (en) 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
KR20100102925A (ko) * 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR20110001058A (ko) 2009-06-29 2011-01-06 주식회사 하이닉스반도체 불휘발성 메모리 소자의 동작 방법
KR101678909B1 (ko) 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR20130037555A (ko) 2011-10-06 2013-04-16 삼성전자주식회사 불휘발성 메모리 장치의 제어 방법
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
JP5494086B2 (ja) 2010-03-24 2014-05-14 パナソニック株式会社 不揮発性記憶装置および不揮発性メモリコントローラ
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
KR101832934B1 (ko) * 2012-01-27 2018-02-28 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그것의 블록 관리 방법, 프로그램 방법 및 소거 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882841B1 (ko) 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법

Also Published As

Publication number Publication date
KR20150142792A (ko) 2015-12-23
US20150364199A1 (en) 2015-12-17
US9627388B2 (en) 2017-04-18

Similar Documents

Publication Publication Date Title
KR102148389B1 (ko) 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법
KR102609130B1 (ko) 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치
KR102231441B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR102517129B1 (ko) 메모리 시스템 및 그의 동작방법
US10170190B2 (en) Memory controller having reclaim controller and method of controlling operation of the memory controller
KR102083547B1 (ko) 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법
US20150355845A1 (en) Memory systems that support read reclaim operations and methods of operating same to thereby provide real time data recovery
US8689082B2 (en) Method of operating memory controller, and memory system, memory card and portable electronic device including the memory controller
US9478296B2 (en) Erase method of nonvolatile memory device and storage device employing the same
KR102309471B1 (ko) 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
KR102514388B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN106776352B (zh) 存储器系统和存储器系统的操作方法
CN106910521B (zh) 存储器系统及其操作方法
KR20160127524A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210057202A (ko) 패리티 보호 기능을 갖는 다수의 메모리 장치들
KR20170044780A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102258117B1 (ko) 불휘발성 메모리 장치 및 그것의 소거 방법
KR102438552B1 (ko) 메모리 시스템 및 그 동작방법
KR20170099018A (ko) 메모리 시스템 및 그의 동작방법
KR20160132204A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
TWI775879B (zh) 記憶體系統及其操作方法
TWI720985B (zh) 記憶體系統及其操作方法
KR20170059049A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20170076883A (ko) 메모리 시스템 및 그의 동작방법
KR20170057902A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법

Legal Events

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