KR102585221B1 - 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 - Google Patents
메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 Download PDFInfo
- Publication number
- KR102585221B1 KR102585221B1 KR1020160048952A KR20160048952A KR102585221B1 KR 102585221 B1 KR102585221 B1 KR 102585221B1 KR 1020160048952 A KR1020160048952 A KR 1020160048952A KR 20160048952 A KR20160048952 A KR 20160048952A KR 102585221 B1 KR102585221 B1 KR 102585221B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- read
- memory
- counting
- memory device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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 codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
메모리 장치, 메모리 시스템 및 이의 동작 방법이 개시된다. 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 복수의 메모리 셀들로부터 독출된 데이터에 대한 카운팅을 수행하여 카운팅 결과를 제공하는 카운팅 회로, 및 메모리 컨트롤러의 개입 없이, 상기 카운팅 회로의 카운팅 결과에 따라 데이터 복구 동작을 수행하는 제어 로직을 포함 할 수 있다.
Description
본 개시의 기술적 사상은 메모리 장치에 관한 것으로서, 더욱 상세하게는, 비휘발성 메모리 장치 및 비휘발성 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되며, 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분된다. 휘발성 메모리 장치는 전원이 제거될 때 데이터는 유지되지 않는다. 그러나 비휘발성 메모리 장치는 전원이 제거되더라도 데이터는 유지된다.
비휘발성 메모리 장치의 예로서 플래시 메모리 시스템은 USB(Universal Serial Bus) 드라이브, 디지털 카메라, 이동 전화기, 스마트폰, 태블릿, PC, 메모리 카드 및 SSD(Solid State Drive) 등에서 널리 사용되고 있다.
이러한 비휘발성 메모리 장치에 포함된 프로그램된 다수개의 메모리 셀들의 문턱 전압들은 여러가지 원인, 예컨대, 리텐션(Retension), 플로팅 게이트 커플링(floating gate coupling), 또는 시간의 경과에 따른 전하 손실(charge loss) 등에 따라 변화가능하고 이러한 변화는 독출 데이터의 신뢰성(reliability)을 약화시킬 수 있다. 이렇게 문턱 전압들이 여러가지 원인에 의해 변화하는 현상을 이하 ‘열화(Degradation)’라고 통칭한다.
본 개시의 기술적 사상이 해결하려는 과제는 정정 불가능한 에러의 경우에 대한 데이터 복구 과정을 메모리 장치에서 수행하는 메모리 장치 및 메모리 시스템을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 상기 복수의 메모리 셀들로부터 독출된 데이터에 대한 카운팅을 수행하여 카운팅 결과를 제공하는 카운팅 회로, 및 메모리 컨트롤러의 개입 없이, 상기 카운팅 회로의 카운팅 결과에 따라 데이터 복구 동작을 수행하는 제어 로직을 포함 할 수 있다.
본 개시의 예시적 실시예에 따라, 상기 카운팅 회로는 제1 리드 레벨을 기준으로 하여 독출된 제1 데이터와 제2 리드 레벨을 기준으로 하여 독출된 제2 데이터에 기반하여, 상기 제1 리드 레벨과 상기 제2 리드 레벨 사이의 산포 영역에 속하는 메모리 셀들의 개수를 카운팅 할 수 있다.
본 개시의 예시적 실시예에 따라, 상기 카운팅 결과는 상기 메모리 셀 어레이의 열화된 셀 개수와 매칭될 수 있다.
본 개시의 예시적 실시예에 따라, 상기 제어 로직은, 상기 카운팅 결과와 기준 값을 비교하여 에러 정정 가능 여부를 판단하는 비교부, 및 상기 비교부로부터의 비교 결과에 따라, 상기 데이터 복구 동작을 위한 복구 알고리즘을 수행하는 데이터 복구부를 포함하는 것을 특징으로 할 수 있다.
본 개시의 예시적 실시예에 따라, 상기 비교부는 상기 카운팅 결과와 제1 기준 값을 비교하고, 상기 카운팅 결과가 상기 제1 기준 값보다 큰 경우 상기 데이터 복구부에 에러 정정 불가함을 나타내는 비교 결과를 출력하고, 상기 데이터 복구부는 상기 비교 결과에 따라 상기 데이터 복구 동작을 수행할 수 있다.
본 개시의 예시적 실시예에 따라, 상기 데이터 복구부는, 상기 데이터 복구 동작으로서 데이터 리커버 리드(Data Recover Read) 동작 및 소프트 디시젼 데이터(Soft Decision Data) 생성 동작 중 적어도 하나를 수행할 수 있다.
본 개시의 예시적 실시예에 따라, 상기 독출된 데이터는 제1 페이지에 대한 노말 독출 동작에 따라 독출된 데이터이고, 상기 데이터 리커버 리드 수행시, 상기 제1 페이지에 인접한 제2 페이지의 데이터가 독출되고, 상기 제2 페이지의 데이터 독출 결과에 따라 독출 전압의 레벨을 변경하여 상기 제1 페이지의 데이터가 재독출 될 수 있다.
본 개시의 예시적 실시예에 따라, 상기 제어 로직은 상기 메모리 컨트롤러로 레디/비지 신호를 출력하며, 상기 데이터 복구 동작이 수행되는 동안 상기 레디/비지 신호는 비지 상태를 유지할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 메모리 시스템은, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 노말 독출 동작에 따라 독출된 데이터에 대한 카운팅을 수행하여 카운팅 결과를 제공하는 카운팅 회로, 및 상기 카운팅 회로의 카운팅 결과에 따라 데이터 복구 동작을 수행하는 제어 로직을 포함하는 메모리 장치; 및 상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고, 상기 메모리 장치는 상기 메모리 컨트롤러로 레디/비지 신호를 출력하고, 상기 카운팅 결과에 따라 상기 노말 독출 동작 이후의 제1 구간 동안 비지 상태가 유지할 수 있다.
본 개시의 예시적 실시예에 따라, 상기 제어 로직은 상기 카운팅 결과와 기준 값을 비교하고, 비교 결과에 따라 상기 메모리 컨트롤러로부터의 명령에 무관하게 상기 데이터 복구 동작을 위한 복구 알고리즘을 수행할 수 있다.
본 개시의 기술적 사상에 따르면, 열화된 메모리 셀들을 카운팅하여 에러 정정 가능 여부를 판단하고, 에러 정정이 불가능한 경우 그 데이터에 대한 복구를 메모리 장치 내에서 수행할 수 있다. 열화된 메모리 셀들을 지표로 하여 ECC(Error Correcting Code) 수준을 예측하여 에러 정정 가능한지 판단할 수 있어, 실제 ECC과정 없이도 에러 정정이 불가능한 경우에 대한 대처가 가능할 수 있다. 또한, 메모리 장치 내에서 데이터의 복구를 수행하여, 컨트롤러에서 데이터에 대한 복구를 수행하는 경우에 비해, 시간적인 측면이나 신뢰성의 측면에서 크게 향상 시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 메모리 장치의 일부를 나타내는 블록도 이다.
도 3은 본 개시의 일 실시예에 따른 메모리 장치를 나타내는 블록도 이다.
도 4는 본 개시의 일 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록의 일 예를 나타내는 회로도이다.
도 5는 본 개시의 일 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록의 다른 예를 나타내는 회로도이다.
도 6은 도 5의 메모리 블록을 나타내는 사시도이다.
도 7a은 디스터브(Disturb)에 의해 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 7b은 전하 손실(charge loss)에 의해 프로그램 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 8a는 본 개시의 일 실시예에 따라 열화 판정을 위한 독출 동작에서 워드 라인에 인가되는 전압의 일 예를 나타내는 그래프이다.
도 8b는 본 개시의 일 실시예에 따라 열화 판정을 위한 독출 동작에서 워드 라인에 인가되는 전압의 다른 예를 나타내는 그래프이다.
도 9는 본 개시의 일 실시예에 따라 메모리 셀의 열화 수준 판정을 위한 순서도이다.
도 10a 및 도 10b는 본 개시의 일 실시예에 따라 열화된 메모리 셀의 개수를 판단하기 위한 산포 영역을 설정하는 다양한 예를 나타내는 그래프이다.
도 11은 서로 다른 특성을 갖는 두 개의 메모리 장치(예컨대, 제1 및 제2 메모리 칩)에서 카운팅 결과에 따른 에러 특성이 도시된 그래프이다.
도 12는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 13a는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 13b는 본 개시의 일 실시예에 따른 데이터 복구 방법의 구성요소간 동작 방법을 시간의 흐름에 따라 나타낸 도면이다.
도 14는 본 개시의 일 실시예에 따른 복구방법으로서 데이터 리커버 리드(Data Recover Read)에 대해 나타내는 순서도이다.
도 15는 본 개시의 일 실시예에 따른 복구방법으로서 소프트 디시젼 데이터(Soft Decision Data) 생성에 대해 나타내는 도면이다.
도 16은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 17은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 18은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 19는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 20은 본 개시의 일 실시예에 따른 메모리 장치의 블록도이다.
도 21은 본 개시의 일 실시예에 따른 메모리 장치의 블록도이다.
도 22a는 본 개시의 일 실시예에 따른 데이터 복구 방법을 시간의 흐름에 따라 나타낸 구성요소간 동작 방법의 흐름도이다.
도 22b는 본 개시의 일 실시예에 따른 메모리 장치의 동작을 나타내는 그래프이다.
도 23는 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.
도 24은 본 개시의 일 실시예에 따른 SSD 시스템을 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 메모리 장치의 일부를 나타내는 블록도 이다.
도 3은 본 개시의 일 실시예에 따른 메모리 장치를 나타내는 블록도 이다.
도 4는 본 개시의 일 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록의 일 예를 나타내는 회로도이다.
도 5는 본 개시의 일 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록의 다른 예를 나타내는 회로도이다.
도 6은 도 5의 메모리 블록을 나타내는 사시도이다.
도 7a은 디스터브(Disturb)에 의해 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 7b은 전하 손실(charge loss)에 의해 프로그램 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
도 8a는 본 개시의 일 실시예에 따라 열화 판정을 위한 독출 동작에서 워드 라인에 인가되는 전압의 일 예를 나타내는 그래프이다.
도 8b는 본 개시의 일 실시예에 따라 열화 판정을 위한 독출 동작에서 워드 라인에 인가되는 전압의 다른 예를 나타내는 그래프이다.
도 9는 본 개시의 일 실시예에 따라 메모리 셀의 열화 수준 판정을 위한 순서도이다.
도 10a 및 도 10b는 본 개시의 일 실시예에 따라 열화된 메모리 셀의 개수를 판단하기 위한 산포 영역을 설정하는 다양한 예를 나타내는 그래프이다.
도 11은 서로 다른 특성을 갖는 두 개의 메모리 장치(예컨대, 제1 및 제2 메모리 칩)에서 카운팅 결과에 따른 에러 특성이 도시된 그래프이다.
도 12는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 13a는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 13b는 본 개시의 일 실시예에 따른 데이터 복구 방법의 구성요소간 동작 방법을 시간의 흐름에 따라 나타낸 도면이다.
도 14는 본 개시의 일 실시예에 따른 복구방법으로서 데이터 리커버 리드(Data Recover Read)에 대해 나타내는 순서도이다.
도 15는 본 개시의 일 실시예에 따른 복구방법으로서 소프트 디시젼 데이터(Soft Decision Data) 생성에 대해 나타내는 도면이다.
도 16은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 17은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 18은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 19는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다.
도 20은 본 개시의 일 실시예에 따른 메모리 장치의 블록도이다.
도 21은 본 개시의 일 실시예에 따른 메모리 장치의 블록도이다.
도 22a는 본 개시의 일 실시예에 따른 데이터 복구 방법을 시간의 흐름에 따라 나타낸 구성요소간 동작 방법의 흐름도이다.
도 22b는 본 개시의 일 실시예에 따른 메모리 장치의 동작을 나타내는 그래프이다.
도 23는 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.
도 24은 본 개시의 일 실시예에 따른 SSD 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 개시의 일 실시예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템은 메모리 컨트롤러(10) 및 메모리 장치(20)을 포함하고, 메모리 장치(20)는 메모리 셀 어레이(Memory Cell Array)(100), 카운팅 회로(Counting Circuit)(200) 및 제어로직(Control Logic)(300)을 포함할 수 있다. 또한 제어로직(300)은 데이터 복구부(310)을 포함할 수 있다.
메모리 컨트롤러(10)는 호스트(HOST)로부터의 독출/기입 요청에 응답하여 메모리 장치(20)에 저장된 데이터를 독출하도록 또는 메모리 장치(20)에 데이터를 기입하도록 메모리 장치(20)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(10)는 메모리 장치(20)에 어드레스(ADDR), 커맨드(CMD) 및 제어신호(CTRL)를 제공함으로써, 메모리 장치(20)에 대한 기입(또는 프로그램), 독출 및 소거 동작을 제어할 수 있다. 또한, 기입을 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(10)와 메모리 장치(20) 사이에서 송수신될 수 있다.
또한, 메모리 컨트롤러(10)는 외부의 호스트와 다양한 표준 인터페이스들을 통해 통신할 수 있다. 예컨대, 메모리 컨트롤러(10)는 호스트 인터페이스(미도시)를 포함하고, 호스트 인터페이스는 호스트와 메모리 컨트롤러(10) 사이의 각종 표준 인터페이스를 제공한다. 상기 표준 인터페이스는, ATA(advanced technology attachment), SATA(serial ATA), e-SATA(external SATA), SCSI(small computer small interface), SAS(serial attached SCSI), PCI(peripheral component interconnection), PCI-E(PCI express), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi media card), eMMC(embedded multi media card), 유니버설 플래시 기억장치(UFS), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식들을 포함할 수 있다.
메모리 셀 어레이(100)는 복수의 메모리 셀들을 포함할 수 있는데, 예를 들어, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 이하에서는, 복수의 메모리 셀들이 낸드(NAND) 플래쉬 메모리 셀들인 경우를 예로 하여 본 발명의 실시예들을 상술하기로 한다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 ReRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
일부 실시예들에서, 메모리 셀 어레이(100)는 2차원 메모리 셀 어레이를 포함할 수 있고, 행 및 열 방향을 따라 배치된 복수의 셀 스트링들을 포함할 수 있으며, 이에 대해 도 4를 참조하여 상술하기로 한다. 일부 실시예들에서, 메모리 셀 어레이(100)는 복수의 낸드 스트링들을 포함하는 3차원 메모리 셀 어레이를 포함할 수 있고, 각 낸드 스트링은 기판 위에 수직으로 적층된 워드 라인들에 각각 연결된 메모리 셀들을 포함할 수 있으며, 이에 대해 도 5 및 도 6을 참조하여 상술하기로 한다.
3차원 메모리 어레이는 실리콘 기판 위에 배치되는 활성 영역과, 메모리 셀들의 동작과 관련된 회로로서 상기 기판 상에 또는 상기 기판 내에 형성된 회로를 가지는 메모리 셀 어레이들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된다. 상기 용어 "모놀리식"은 상기 어레이를 구성하는 각 레벨의 층들이 상기 어레이 중 각 하부 레벨의 층들의 바로 위에 적층되어 있음을 의미한다.
본 발명의 기술적 사상에 의한 일 실시예에서, 3차원 메모리 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 낸드 스트링들을 포함한다. 상기 적어도 하나의 메모리 셀은 전하 트랩층을 포함할 수 있다. 미국 특허공개공보 제7,679,133호, 미국 특허공개공보 제8,553,466호, 미국 특허공개공보 제8,654,587호, 미국 특허공개공보 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 3차원 메모리 어레이가 복수 레벨로 구성되고 워드 라인들 및/또는 비트 라인들이 레벨들 간에 공유되어 있는 3차원 메모리 어레이에 대한 적절한 구성들을 상술하는 것들로서, 본 명세서에 인용 형식으로 결합된다. 또한, 미국 특허출원공개공보 제2014-0376312호는 본 명세서에 인용 형식으로 결합된다.
카운팅 회로(200)는 후술할 페이지 버퍼(미도시)에 저장된 데이터를 기초로 메모리 셀 어레이(100)의 메모리 셀들의 개수를 카운팅 할 수 있다. 본 개시에서, 카운팅 회로(200)는 특히, 열화된 메모리 셀(Degraded Cell;DC)의 개수를 카운팅 할 수 있다. 일 실시예에 따라, 카운팅 회로(200)의 기능은 제어 로직(300) 내부에서 수행되어도 무방하다.
제어 로직(300)은 메모리 컨트롤러(10)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(100)에 데이터를 기입하거나, 메모리 셀 어레이(100)로부터 데이터를 독출하거나, 메모리 셀 어레이(100)에 저장된 데이터를 소거하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(300)은 메모리 장치(20) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(300)은 데이터 복구부(Data Restoring Unit)(310)를 포함할 수 있다. 데이터 복구부(310)는 카운팅 회로(200)로부터의 카운팅 결과에 기반하여, 메모리 컨트롤러(10)의 개입없이 데이터 복구 동작을 수행할 수 있다. 일 예로서, 메모리 장치(20)는 메모리 컨트롤러(10)의 독출 명령에 따라 데이터에 대한 최초 독출 동작(예컨대, 노말 독출 동작)을 수행할 수 있다. 데이터 복구부(310)는, 노말 독출 동작을 통해 독출된 데이터에 정정 불가능한 에러(Uncorrectable ECC, UECC)가 발생된 경우에, 복구 알고리즘을 통해 메모리 컨트롤러(10)의 개입없이 데이터를 복구할 수 있다. 복구 알고리즘에는 비제한적인 예시로서 데이터 리커버 리드(Data Recover Read), 소프트 디시젼 데이터(Soft Decision Data) 생성 등이 있을 수 있는데 이에 대한 자세한 설명은 후술한다. 제어 로직(300)은 복구된 데이터를 메모리 컨트롤러(10)에 송신할 수 있다.
전술한 실시예에 따라, 메모리 장치(20)는 독출된 데이터에 대한 카운팅 동작에 기반하여 데이터 복구 필요성을 판단하고, 메모리 컨트롤러(10)의 개입 없이 데이터 복구 동작을 수행하며, 복구 결과로서의 데이터를 노말 데이터(Normal Data)로서 메모리 컨트롤러(10)로 제공할 수 있다. 이에 따라, 메모리 컨트롤러(10)는 메모리 장치(20)로부터 수신한 데이터가 에러 정정이 불가능한 경우 데이터 복구를 위한 커맨드를 메모리 장치(20)로 별도로 제공할 필요가 없다. 또한, 메모리 장치(20)가 정정 불가능한 에러(UECC)가 발생된 데이터를 전송한 후 복구된 데이터를 재송신하는 과정을 거치지 않기 때문에, 데이터를 중복하여 전송할 필요가 없다. 또한, 메모리 컨트롤러(10)의 관점에서, 메모리 컨트롤러(10)는 정정 불가능한 에러(UECC)가 발생된 데이터에 대해 불필요하게 에러 정정 동작을 수행할 필요가 없다.
도 2는 본 개시의 일 실시예에 따른 메모리 장치의 일부를 나타내는 블록도 이다.
도 2를 참조하면, 제어 로직(300)은 데이터 복구부(310) 및 비교부(Comparing Unit)(320)을 포함할 수 있다. 비교부(320)는 기준 값(Ref)을 저장할 수 있으며, 일 예로서 비교부(320)는 하나 이상의 기준 값(Ref)을 저장할 수 있다. 또한, 카운팅 회로(200)는 제1 리드 레벨 데이터(Data_RL1) 및 제2 리드 레벨 데이터(Data_RL2)를 기초로 하여 카운팅 동작을 수행하고, 카운팅 결과(CNT)를 비교부(320)에 출력할 수 있다. 카운팅 결과(CNT)는 열화된 셀의 개수를 카운팅한 값에 상응할 수 있으며, 자세한 방법은 후술한다.
비교부(320)가 카운팅 회로(200)로부터 카운팅 결과(CNT)를 수신하면, 카운팅 결과(CNT)를 기준 값(Ref)과 비교할 수 있으며, 기준 값(Ref)과의 비교 결과(Result)를 제어 로직(300)으로 제공할 수 있다. 상기 비교 결과(Result)는 메모리 셀들의 열화 정도를 나타내는 정보를 포함할 수 있으며, 예컨대 독출된 데이터에 정정 불가능한 에러(UECC)가 발생되었는 지를 나타내는 정보를 포함할 수 있다. 본 개시의 일 실시예에 따라, 비교부(320)는 정정 불가능한 에러(UECC)의 지표가 될 수 있는 기준 값(Ref)과 카운팅 결과(CNT)를 비교하고, 카운팅 결과(CNT)가 더 큰 경우 이를 나타내는 비교 결과(Result)를 데이터 복구부(310)에 출력할 수 있다.
데이터 복구부(310)는 정정 불가능한 에러(UECC)가 발생되었음을 나타내는 비교 결과(Result)를 수신함에 따라, 미리 정해진 복구 알고리즘에 따른 복구 제어신호(Ctrl_Restore)을 출력할 수 있다. 일 실시예에 따라, 상기 복구 알고리즘은 리드된 데이터에 대해 정정 불가능한 에러가 발생되었을 때 리드 리트라이(Read Retry) 과정에서 수행되는 다양한 종류의 복구 알고리즘들을 포함할 수 있다. 복구 제어신호(Ctrl_Restore)가 메모리 장치(20) 내에 구비되는 각종 블록들로 제공됨에 따라, 데이터의 에러 율을 감소할 수 있는 재독출 동작이 수행될 수 있다. 상기 복구 알고리즘들의 다양한 예에 대해서는 후술될 것이다.
일 실시예에 따라, 상기 제1 리드 레벨 데이터(Data_RL1)와 제2 리드 레벨 데이터(Data_RL2)는 서로 다른 리드 레벨에 따른 데이터 센싱(또는, 독출) 결과를 나타낼 수 있다. 예컨대, 메모리 셀들의 문턱전압 레벨 상태들 중 어느 하나의 상태를 판별함에 있어서, 적어도 두 개의 리드 레벨에 따라 데이터가 독출될 수 있다. 카운팅 회로(200)는 제1 리드 레벨 데이터(Data_RL1)와 제2 리드 레벨 데이터(Data_RL2)에 기반하는 카운팅 동작을 수행하고, 소정의 산포 영역(예컨대, 제1 리드 레벨과 제2 리드 레벨의 사이의 산포 영역)에 위치하는 문턱전압들을 갖는 메모리 셀(예컨대, 열화된 메모리 셀)의 개수를 카운팅할 수 있다.
일 실시예에 따라, 카운팅 회로(200)는 제1 리드 레벨 데이터(Data_RL1)와 제2 리드 레벨 데이터(Data_RL2)를 각각 수신하고, 제1 리드 레벨 데이터(Data_RL1)와 제2 리드 레벨 데이터(Data_RL2)에 대한 연산을 통해 전술한 산포 영역에 속하는 메모리 셀들을 판단할 수 있다. 일 예로서, 제1 리드 레벨 데이터(Data_RL1)와 제2 리드 레벨 데이터(Data_RL2)에 대한 XOR 등의 연산을 통해 상기 소정의 산포 영역에 속하는 메모리 셀들이 판단될 수 있으며, 산포 영역에 속하는 메모리 셀들에 대한 카운팅 동작에 의해 카운팅 결과(CNT)를 발생할 수 있다.
또는, 다른 실시예로서, 제1 리드 레벨 데이터(Data_RL1)와 제2 리드 레벨 데이터(Data_RL2)를 저장하는 페이지 버퍼(미도시)에서 전술한 XOR 등의 연산 동작이 수행될 수 있다. 이 경우, 카운팅 회로(200)는 페이지 버퍼(미도시)로부터 제공되는 데이터(또는, 연산 데이터)를 수신하고, 이에 대한 카운팅 동작에 따라 전술한 산포 영역에 속하는 메모리 셀들을 카운팅한 카운팅 결과(CNT)를 발생할 수 있다.
도 3은 본 개시의 일 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 1 내지 도 3을 참조하면, 메모리 장치(20)는 메모리 셀 어레이(100), 카운팅 회로(200), 제어 로직(300), 전압 생성부(400), 로우 디코더(500) 및 페이지 버퍼(600)를 포함할 수 있다. 도 3에 도시되지는 않았으나, 메모리 장치(20)는 입출력 인터페이스 등 메모리 동작에 관련된 또 다른 각종 기능 블록들을 더 포함할 수 있다. 도 1과 중복되는 설명은 생략한다.
메모리 셀 어레이(100)는 다수의 메모리 셀들을 포함하고, 다수의 메모리 셀들은 워드 라인들(WL), 스트링 선택 라인(미도시), 접지 선택 라인(미도시) 및 비트 라인들(BL)에 연결될 수 있다. 구체적으로, 메모리 셀 어레이(100)는 워드 라인들(WL), 스트링 선택 라인 및 접지 선택 라인을 통해 로우 디코더(500)에 연결되고, 비트 라인들(BL)을 통해 페이지 버퍼(600)에 연결될 수 있다.
메모리 셀 어레이(100)는 복수의 블록들(BLK1 ~ BLKz)을 포함하고, 각 블록은 2차원 구조(또는, 평면 구조)나 3차원 구조(또는 수직 구조)를 가질 수 있다. 블록들(BLK1 ~ BLKz)은 로우 디코더(500)에 의해 선택될 수 있다. 예를 들면, 로우 디코더(500)는 블록들(BLK1 ~ BLKz) 중 블록 어드레스에 대응하는 블록을 선택할 수 있다. 메모리 셀 어레이(100)는 싱글 레벨 셀들을 포함하는 싱글 레벨 셀 블록, 멀티 레벨 셀들을 포함하는 멀티 레벨 셀 블록 및 트리플 레벨 셀들을 포함하는 트리플 레벨 셀 블록 중 적어도 하나를 포함할 수 있다. 일 예로서, 메모리 셀 어레이(100)에 포함된 복수의 블록들(BLK1 ~ BLKz) 중 일부 블록은 싱글 레벨 셀 블록일 수 있고, 다른 블록들은 멀티 레벨 셀 블록 또는 트리플 레벨 셀 블록일 수 있다.
제어 로직(300)에서 출력된 각종 내부 제어 신호는 전압 생성부(400), 로우 디코더(500) 및 페이지 버퍼(600)에 제공될 수 있다. 구체적으로, 제어 로직(300)은 전압 생성부(400)에 전압 제어 신호(CTRL_vol)를 제공할 수 있다. 전압 생성부(400)는 하나 이상의 펌프(미도시)를 포함할 수 있으며, 전압 제어 신호(CTRL_vol)에 기반한 펌핑 동작에 따라 전압 생성부(400)는 다양한 레벨을 갖는 전압들을 생성할 수 있다.
한편, 제어 로직(300)은 로우 디코더(500)에 로우 어드레스(X-ADDR)를 제공할 수 있으며, 페이지 버퍼(600)에 칼럼 어드레스(미도시)를 제공할 수 있다. 또한, 센싱 동작(또는, 독출 동작)에 따라 독출된 데이터가 페이지 버퍼(600)에 저장되면, 제어 로직(300)으로부터의 제어 신호에 응답하여 페이지 버퍼(600)의 데이터가 입출력 버퍼(미도시)로 전달될 수 있다. 또한, 제어 로직(300)으로부터의 출력 인에이블 신호에 응답하여, 입출력 버퍼에 저장된 데이터가 외부(예컨대, 메모리 콘트롤러)로 제공될 수 있다.
또한, 제어 로직(300)은 메모리 장치(20)의 상태를 나타내는 레디/비지 신호(RnB)를 출력할 수 있다. 만약, 메모리 장치(20)가 비지 상태를 갖는 레디/비지 신호(RnB)를 메모리 컨트롤러(10)를 제공하면, 메모리 컨트롤러(10)는 비지 상태 구간 동안 커맨드를 출력하지 않을 수 있다. 반면에, 메모리 장치(20)가 레디 상태를 갖는 레디/비지 신호(RnB)를 메모리 컨트롤러(10)를 제공하면, 메모리 컨트롤러(10)는 레디 상태 구간 동안 커맨드를 메모리 장치(20)로 제공할 수 있다.
카운팅 회로(200)는 페이지 버퍼(600)에 저장된 데이터를 기초로 하여 열화된 메모리 셀들을 카운팅하고, 그 카운팅 결과(CNT)를 제어 로직(300)의 비교부(320)에 출력할 수 있다. 비교부(320)는 전술한 바와 같이, 카운팅 회로(200)의 카운팅 결과(CNT)를 받아 기준 값과 비교하고, 그 비교 결과(Result)를 데이터 복구부(310)에 출력할 수 있다.
전술한 바와 같이 카운팅 회로(200)는 다양한 방식에 따라 열화된 메모리 셀들을 카운팅할 수 있으며, 예컨대 도 3에서는 제1 및 제2 리드 레벨 데이터(Data_RL1, Data_RL2)를 이용한 연산 결과로서 연산 데이터(Data_ari)를 수신하여 카운팅 동작을 수행하는 예가 도시된다.
데이터 복구부(310)는 비교부(320)의 비교 결과(Result)에 따라 복구 알고리즘을 수행하고, 데이터 복구와 관련하여 메모리 장치(20) 내부의 구성들을 제어하기 위한 복구 제어신호(Ctrl_Restore)을 출력할 수 있다. 일 예로서, 데이터 복구부(310)는 데이터 리커버 리드의 수행을 제어하는 데이터 리커버 리드부(311) 및/또는 소프트 디시젼 데이터의 생성을 제어하는 소프트 디시젼 데이터 생성부(312)를 포함할 수 있다. 데이터 리커버 리드부(311) 및 소프트 디시젼 데이터 생성부(312)의 기능은 하드웨어적 또는 소프트웨어적으로 구현될 수 있으며, 소프트웨어적으로 구현되는 경우 데이터 리커버 리드부(311) 및 소프트 디시젼 데이터 생성부(312)는 각각 프로세싱 유닛에 의해 실행 가능한 소프트웨어(또는, 프로그램)에 상응할 수 있다.
일 실시예에 따라, 제어 로직(300)은 비교 결과(Result)에 따라 레디/비지 신호(RnB)의 상태를 제어할 수 있다. 예컨대, 복구 알고리즘이 수행될 필요가 있는 경우, 제어 로직(300)은 노말 독출 동작이 종료된 이후에도 레디/비지 신호(RnB)의 상태를 변경함이 없이(또는, 레디 상태로 변경함이 없이), 복구 알고리즘을 수행하는 구간 동안 레디/비지 신호(RnB)의 상태를 유지(또는, 비지 상태로 유지)할 수 있다. 즉, 비교 결과(Result)에 따라, 레디/비지 신호(RnB)는 노말 독출 동작을 수행하는 구간과 함께, 비교 결과(Result)의 발생 및 복구 알고리즘의 수행에 관련된 추가의 구간 동안 비지 상태를 유지할 수 있다.
도 4는 본 개시의 일 실시예에 따른 메모리 셀 어레이에 포함된 메모리 블록의 일 예(BLK0)를 나타내는 회로도이다.
도 4를 참조하면, 메모리 셀 어레이(예를 들어, 도 1의 100)는 수평 낸드 플래시 메모리의 메모리 셀 어레이일 수 있고, 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록(BLK0)은 비트 라인(BL0 ~ BLn-1) 방향으로, 다수 개의 메모리 셀(MC)들이 직렬로 연결되는 n(n는 2 이상의 정수)개의 스트링(STR)들을 포함할 수 있다. 일 예로서, 도 4에는 각각의 스트링(STR)이 8 개의 메모리 셀들을 포함하는 예가 도시된다.
도 4와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거가 수행되고, 각 워드 라인(WL0 ~ WL7)에 대응되는 페이지(PAG) 단위로 프로그램을 수행한다. 도 4는 하나의 블록에 8개의 워드 라인들(WL0 ~ WL7)에 대한 8개의 페이지(PAG)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이(100)의 메모리 블록들은 도 4에 도시되는 메모리 셀(MC) 및 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다. 또한, 도 1 내지 도 3의 메모리 장치(100)는 이상에서 설명된 메모리 셀 어레이(100)와 동일한 구조로 동일한 동작을 수행하는 복수의 메모리 셀 어레이들을 포함할 수도 있다.
메모리 셀(MC)의 특성상 기입(프로그램)과 소거가 반복되다 보면 메모리 셀(MC)의 열화(Degradation)이 일어날 수 있다. 그 원인으로는 리텐션(Retention), 디스터브(Disturb) 등이 있을 수 있으며 이런 열화된 메모리 셀(Degraded Cell;DC)가 생겨날 수 있다. 도 4에서는 일부분에만 집중되어 열화된 메모리 셀(DC)이 표시되어 있으나 이는 일 예시일 뿐이며 일부분에 집중되지 않게 생길 수 있다. 이런 열화된 메모리 셀(DC)는 독출 과정에서 오류를 일으켜 메모리 장치의 신뢰성을 떨어뜨릴 수 있다.
도 5는 본 개시의 일부 실시예들에 따른 메모리 셀 어레이에 포함된 메모리 블록의 다른 예(BLK0')를 나타내는 회로도이다.
도 5를 참조하면, 메모리 셀 어레이(예를 들어, 도 1의 100)는 수직 낸드 플래시 메모리의 메모리 셀 어레이일 수 있고, 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록(BLK0')은 복수의 낸드 스트링들(NS11 ~ NS33), 복수의 워드 라인들(WL1 ~ WL8), 복수의 비트 라인들(BL1 ~ BL3), 복수의 그라운드 선택 라인들(GSL1 ~ GSL3), 복수의 스트링 선택 라인들(SSL1 ~ SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 제공된다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 이하에서는, 편의상 낸드 스트링을 스트링이라고 지칭하기로 한다.
하나의 비트 라인에 공통으로 연결된 스트링들은 하나의 칼럼을 구성한다. 예를 들어, 제1 비트 라인(BL1)에 공통으로 연결된 스트링들(NS11, NS21, NS31)은 제1 칼럼에 대응되고, 제2 비트 라인(BL2)에 공통으로 연결된 스트링들(NS12, NS22, NS32)은 제2 칼럼에 대응되며, 제3 비트 라인(BL3)에 공통으로 연결된 스트링들(NS13, NS23, NS33)은 제3 칼럼에 대응될 수 있다.
하나의 스트링 선택 라인에 연결되는 스트링들은 하나의 로우를 구성한다. 예를 들어, 제1 스트링 선택 라인(SSL1)에 연결된 스트링들(NS11, NS12, NS13)은 제1 로우에 대응되고, 제2 스트링 선택 라인(SSL2)에 연결된 스트링들(NS21, NS22, NS23)은 제2 로우에 대응되며, 제3 스트링 선택 라인(SSL3)에 연결된 스트링들(NS31, NS32, NS33)은 제3 로우에 대응될 수 있다.
스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1 ~ SSL3)에 연결된다. 복수의 메모리 셀들(MC1 ~ MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 ~ GSL3)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1 ~ BL3)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
본 실시예에서, 동일 높이의 워드 라인(예를 들면, WL1)은 서로 공통으로 연결되어 있고, 스트링 선택 라인들(SSL1 ~ SSL3)은 서로 분리되어 있고, 그라운드 선택 라인들(GSL1 ~ GSL3)도 서로 분리되어 있다. 예를 들어, 제 1 워드 라인(WL1)에 연결되어 있고 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 제1 워드 라인(WL1)과 제1 스트링 선택 라인(SSL1)이 선택된다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 그라운드 선택 라인들(GSL1 ~ GSL3)은 서로 공통으로 연결될 수도 있다.
도 5의 메모리 셀 어레이(BLK0’)의 경우에도 도 4와 마찬가지로 열화된 메모리 셀(Degraded Cell;DC)가 생겨날 수 있다. 도 5에서는 일부분에만 집중되어 열화된 메모리 셀(DC)가 표시되어 있으나 이는 일 예시일 뿐이며 일부분에 집중되지 않게 생길 수 있다. 이런 열화된 메모리 셀(DC)는 독출 과정에서 오류를 일으켜 메모리 장치의 신뢰성을 떨어뜨릴 수 있다.
도 6는 도 5의 메모리 블록(BLK0')을 나타내는 사시도이다.
도 6를 참조하면, 메모리 셀 어레이(예를 들어, 도 1의 100)에 포함된 각 메모리 블록은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 도 6에서는, 메모리 블록이 2개의 선택 라인들(GSL, SSL), 8개의 워드 라인들(WL1 ~ WL8), 그리고 3개의 비트 라인들(BL1 ~ BL3)을 포함하는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다.
기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, Y 방향)을 따라 신장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공된다. 인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 신장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, Z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 복수의 필라들(pillars)(P)이 제공된다. 예를 들어, 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 것이다. 구체적으로, 각 필라(P)의 표면층(surface layer)(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 전하 저장층(CS)은 게이트 절연층(또는 '터널링 절연층'이라고 지칭함), 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1 ~ WL8)과 같은 게이트 전극(GE)이 제공된다.
복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들(DR) 상에, 제2 방향(예를 들어, X 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1 내지 BL3)이 제공된다.
도 7a은 디스터브(Disturb)에 의해 소거 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
기록/독출 동작에 따라 메모리 셀에 지속적으로 전압이 인가되게 되면, 즉 메모리 셀에 지속적으로 스트레스가 가해지면 디스터브 현상이 발생될 수 있다. 디스터브 현상이 발생되면 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동될 수 있다. 즉, 소거 상태(E)의 메모리 셀들에 대한 문턱 전압이 증가할 수 있다. 이에 비하여, 제1 내지 제3 프로그램 상태(P1, P2, P3)들에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않을 수 있다.
도 7a를 참조하면, 소거 상태(E)의 문턱 전압 산포는 높은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 제3 프로그램 상태(P3)의 문턱 전압 산포에는 변화가 발생되지 않거나 변동량이 적을 수 있다. 이에 따라서, 초기 산포에 비하여 제1기준 전압(VRef1)을 기준으로 아래에 속하는 메모리 셀의 개수(A1)는 감소될 수 있고, 제2기준 전압(VRef2)을 기준으로 위에 속하는 메모리 셀의 개수(A2)는 변화가 상대적으로 매우 작을 수 있다.
도 7b은 전하 손실(charge loss)에 의해 프로그램 상태의 문턱 전압 산포가 이동된 경우를 나타내는 그래프이다.
전하 손실이란 트랩된 전하가 시간의 흐름에 따라 탈출하여 누설 전류가 생기는 현상으로서 주된 원인은 리텐션(Retension) 특성에 해당할 수 있다. 리텐션이란, 스탠바이 모드에서 전력 소모를 줄이기 위해 주전원이 차단되더라도 이후 액티브 모드로 진입시 필요한 정보를 저장하고 있는 트랜지스터의 저장 값을 유지시키는 것을 말한다. 리텐션(Retension) 특성이 저하되는 경우 전하 손실 현상이 증가될 수 있으며, 이 경우 제1 내지 제3 프로그램 상태(P1, P2, P3)들의 문턱 전압 산포는 낮은 전압 쪽으로 이동될 수 있다. 즉, 제1 내지 제3 프로그램 상태(P1, P2, P3)들의 메모리 셀들의 문턱 전압이 감소할 수 있다. 이에 비하여, 소거 상태(E)에 대한 문턱 전압 산포에는 의미있는 영향을 미치지 않을 수 있다. 전하 손실 현상이 발생되면, 제3 프로그램 상태(P3)의 문턱 전압 산포의 변동량이 제1 내지 제2 프로그램 상태(P1, P2)들의 문턱 전압 산포의 변동량보다 크게 발생될 수 있다.
도 7b를 참조하면, 제3 프로그램 상태(P3)의 문턱 전압 산포는 낮은 전압 쪽으로 이동되고(점선에서 실선으로 이동), 소거 상태(E)의 문턱 전압 산포는 상대적으로 그 변화량이 매우 작을 수 있다. 이에 따라서, 초기 산포에 비하여 제1 기준 전압(VRef1)을 기준으로 아래에 속하는 메모리 셀의 개수(B1)는 변화가 거의 없을 수 있으며, 반면에 제2 기준 전압(VRef2)을 기준으로 위에 속하는 메모리 셀의 개수(B2)는 감소할 수 있다.
도 8a는 본 개시의 일 실시예에 따라 열화 판정을 위한 독출 동작에서 리드 레벨들의 일 예를 나타내는 그래프이다.
도 8a에 따르면, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 예를 들어, 메모리 셀은 멀티 레벨 셀일 수 있고, 문턱 전압(Vth)에 따라 소거 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다. 멀티 레벨 셀의 데이터를 독출함에 있어서, 각각의 메모리 셀이 2 비트의 데이터를 저장하는 경우, 데이터 판별을 위해 3 개의 상태의 판별을 위한 독출 동작이 수행될 수 있다. 예컨대, LSB(Least Significant Bit)의 데이터는 하나의 상태의 판별을 위한 독출 동작(예컨대, LSB 독출 동작)을 통해 판별될 수 있으며, MSB(Most Significant Bit)의 데이터는 두 개의 상태의 판별을 위한 독출 동작(예컨대, 제1 및 제2 MSB 독출 동작)을 통해 판별될 수 있다. 도시되지는 않았으나, 메모리 셀이 3 개 이상의 비트의 데이터를 저장하는 경우, 더 많은 상태들을 판별하기 위해 독출 동작의 수는 증가할 수 있다.
또한, LSB 독출 동작, 제1 및 제2 MSB 독출 동작 각각에서 두 개의 리드 레벨(V1, V2)에 대응하는 데이터가 독출(또는, 센싱)될 수 있다. 두 개의 리드 레벨(V1, V2) 중 어느 하나는, 열화되기 전 문턱 전압 산포를 기준으로 한 골(Valley)에 해당하는 전압일 수 있으며, 다른 하나는 열화에 의해 이동한 골에 근접할 수 있는 전압에 해당할 수 있다. 두 개의 리드 레벨(V1, V2)을 이용한 독출 동작은 순차적, 또는 동시에 수행될 수 있다.
전술한 바와 같은 두 개의 리드 레벨(V1, V2) 각각은 데이터의 판별 기준이 되는 문턱 전압 레벨에 해당할 수 있으며, 상기 두 개의 리드 레벨(V1, V2)에 따른 독출 동작은 메모리 셀들로 제공되는 독출 전압을 변경함에 의해 수행될 수 있다. 또는, 변형 가능한 실시예로서, 데이터 독출 동작과 관련하여 다양한 종류의 요소(factor)들이 이용될 수 있으며, 예컨대 독출 동작과 관련된 각종 요소들(예컨대, 데이터 판별 기준이 되는 기준 전압이나 기준 전류, 데이터 센싱 타이밍 등)의 레벨을 조절함에 의하여, 데이터의 판별 기준이 되는 리드 레벨(V1, V2)이 변동될 수 있다.
한편, 제1 MSB 독출(Read_MSB1)에서, 카운팅 회로(200)는 두 개의 리드 레벨(V1, V2)을 이용한 독출 동작의 결과에 따라 소정의 산포 영역(예컨대, 제1 산포 영역(A))의 메모리 셀들의 개수를 카운팅할 수 있다. 제1 산포 영역(A)의 메모리 셀들의 개수는 제1 MSB 독출(Read_MSB1)에서 열화된 메모리 셀들의 개수에 상응할 수 있다.
또한, LSB 독출(Read_LSB)에서, 카운팅 회로(200)는 두 개의 리드 레벨(V1, V2)을 이용한 독출 동작의 결과에 따라 소정의 산포 영역(예컨대, 제2 산포 영역(B))의 메모리 셀들의 개수를 카운팅할 수 있다. 제2 산포 영역(B)의 메모리 셀들의 개수는 LSB 독출(Read_LSB)에서 열화된 메모리 셀들의 개수에 상응할 수 있다.
또한, 제2 MSB 독출(Read_MSB2)에서, 카운팅 회로(200)는 두 개의 리드 레벨(V1, V2)을 이용한 독출 동작의 결과에 따라 소정의 산포 영역(예컨대, 제3 산포 영역(C))의 메모리 셀들의 개수를 카운팅할 수 있다. 제3 산포 영역(C)의 메모리 셀들의 개수는 제2 MSB 독출(Read_MSB2)에서 열화된 메모리 셀들의 개수에 상응할 수 있다.
상기와 같은 카운팅 결과에 따라 다양한 조건에서 데이터 복구 동작이 수행될 수 있다. LSB 데이터의 독출 동작에서는, 제2 산포 영역(B)의 메모리 셀들의 개수를 카운팅한 결과를 소정의 기준 값과 비교하고, 그 비교 결과에 따라 데이터 복구 알고리즘이 수행될 수 있다.
또한, MSB 데이터의 독출 동작에서, 제1 산포 영역(A)의 메모리 셀들의 개수를 카운팅한 결과와 제3 산포 영역(C)의 메모리 셀들의 개수를 카운팅한 결과를 이용하여 데이터 복구 동작이 수행될 수 있다. 일 예로서, 제1 산포 영역(A)의 메모리 셀들의 개수와 제3 산포 영역(C)의 메모리 셀들의 개수가 모두 소정의 기준 값을 초과할 때, MSB 데이터에 대한 복구 알고리즘이 수행될 수 있다. 또는, 제1 산포 영역(A)의 메모리 셀들의 개수와 제3 산포 영역(C)의 메모리 셀들의 개수 중 어느 하나만이 소정의 기준 값을 초과하더라도, MSB 데이터에 대한 복구 알고리즘이 수행될 수도 있다.
도 8b는 본 개시의 일 실시예에 따라 열화 판정을 위한 독출 동작에서 리드 레벨들의 다른 예를 나타내는 그래프이다. 도 8a와 중복되는 내용에 대해서는 구체적인 설명은 생략한다.
도 8b에 따르면, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 예를 들어, 메모리 셀은 멀티 레벨 셀일 수 있고, 문턱 전압(Vth)에 따라 소거 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 또는 제3 프로그램 상태(P3)를 가질 수 있다. 열화 판정을 위해서, 각각의 LSB 독출 및 MSB 독출마다 두 개의 리드 레벨들을 이용한 독출 동작이 수행될 수 있다. 도 8a의 경우와 상이하게, 2 회의 MSB 독출 동작이 수행되는 경우, 하나의 MSB 독출 동작(예컨대, 제2 MSB 독출(Read_MSB2))에 대해서만 소정의 산포 영역의 메모리 셀들의 개수를 카운팅하는 동작이 수행될 수 있다. 상술 하였듯이 전하 손실(Charge Loss)등의 경우, 낮은 레벨의 문턱 전압 산포는 그 변동 량이 적을 수 있으므로, 상위 레벨의 제2 MSB 독출(Read_MSB2) 과정에서만 선택적으로 열화된 메모리 셀들의 개수를 카운팅하는 동작이 수행될 수 있다.
도 9는 본 개시의 일 실시예에 따라 메모리 셀의 열화 수준을 판정하는 동작을 나타내는 순서도이다.
도 1 및 도 9를 참조하면, 본 개시의 일 실시예에 따른 메모리 셀의 열화 수준을 판정하기 위해 제1 전압을 제1 리드 레벨(V1)로 적용하여 독출 대상의 메모리 셀들에 대한 제1 독출 동작을 수행한다(S11). 제1 독출 동작에 따라, 제1 리드 레벨(V1)을 기준으로 하여 판별된 제1 데이터가 페이지 버퍼에 저장될 수 있다(S12).
또한, 제2 전압을 제2 리드 레벨(V2)로 적용하여 독출 대상의 메모리 셀들에 대한 제2 독출 동작을 수행한다(S13). 제2 독출 동작에 따라, 제2 리드 레벨(V2)을 기준으로 하여 판별된 제2 데이터가 페이지 버퍼에 저장될 수 있다(S14). 제2 전압(V2)은 제1 전압(V1)에 비해 더 클 수 있다. 이렇게 산출된 제1 데이터 및 제2 데이터를 이용하여 소정의 산포 영역에 속하는 열화된 메모리 셀의 개수가 카운팅될 수 있다(S15). 소정의 산포 영역은 도 8a 및 8b의 산포 영역(A, B, C)에 대응될 수 있다.
도 10a 및 도 10b는 본 개시의 일 실시예에 따라 열화된 메모리 셀의 개수를 판단하기 위한 산포 영역을 설정하는 다양한 예를 나타내는 그래프이다. 도 8a,b와 중복되는 내용은 생략한다.
도 10a 및 도 10b를 참조하면, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 개수를 나타낼 수 있다. 열화된 메모리 셀(DC)의 문턱 전압 레벨의 영역은 문턱 전압 산포의 골(Valley)을 기준으로 하여 좌측 또는 우측으로 설정될 수 있다.
특히, 리텐션(Retension) 혹은 전하 손실에 의한 열화 정도를 판단하기 위해, 도 10a의 경우처럼 문턱 전압 산포의 골에 해당하는 레벨과 이보다 소정 값 만큼 작은 레벨 사이에 해당하는 산포 영역(A1, B1, C1)의 메모리 셀들의 개수가 카운팅될 수 있다. 산포 영역(A1, B1, C1) 각각의 카운팅 결과는 각 상태 별 열화된 메모리 셀(DC)의 개수에 대응될 수 있다.
또한, 디스터브(Disturb)에 의한 열화 정도를 판단하기 위해, 도 10b의 경우처럼 문턱 전압 산포의 골에 해당하는 레벨과 이보다 소정 값 만큼 큰 레벨 사이에 해당하는 산포 영역(A2, B2, C2)의 메모리 셀들의 개수가 카운팅될 수 있다. 산포 영역(A2, B2, C2) 각각의 카운팅 결과는 각 상태 별 열화된 메모리 셀(DC)의 개수에 대응될 수 있다.
도 10a, 10b에서 각 영역의 예시로 삼은 디스터브(Disturb), 리텐션(Retension) 등은 일 예일 뿐이며 메모리 셀을 열화되게 만드는 어떠한 원인도 모두 포함될 수 있다. 또한 도 10a, 10b의 그래프에는 각 영역이 골을 기준으로 모두 왼쪽 또는 모두 오른쪽으로 도시되어 있으나 이는 일 예일 뿐이며, 상태 별로 열화 정도의 판단을 위한 산포 영역은 다르게 설정될 수 있다. 예를 들어, LSB 독출(Read_LSB)과 제2 MSB 독출(Read_MSB2)은 골을 기준으로 하여 문턱 전압 레벨이 왼 쪽에 위치하는 열화된 메모리 셀(DC)의 개수가 카운팅될 수 있고, 제1 MSB 독출(Read_MSB1)은 골을 기준으로 하여 문턱 전압 레벨이 오른 쪽에 위치하는 열화된 메모리 셀(DC)의 개수가 카운팅 되도록 설정되어도 무방하다.
도 11은 서로 다른 특성을 갖는 두 개의 메모리 장치(예컨대, 제1 및 제2 메모리 칩)에서 카운팅 결과에 따른 에러 특성이 도시된 그래프이다.
전술한 실시예들에서와 같이, 소정의 산포 영역에 속하는 메모리 셀들의 개수에 따라, 노말 독출 동작에서 독출된 데이터의 에러 개수가 예측될 수 있다. 예컨대, 도 11에는 서로 다른 특성을 갖는 두 개의 메모리 장치(예컨대, 제1 및 제2 메모리 칩(chip-1, chip-2))에서 카운팅 결과에 따른 에러 특성이 도시된다.
일 예로서, 전술한 산포 영역에 속하는 열화된 메모리 셀들의 개수가 증가함에 따라, 이에 비례하여 독출된 데이터에 발생된 에러 개수가 증가될 수 있다. 열화된 메모리 셀들의 개수와 에러 개수의 상관 관계에 기반하여, 메모리 장치 별로 복구 알고리즘 수행 여부를 판단하기 위한 기준 값이 다르게 설정될 수 있다. 일 예로서, 메모리 콘트롤러 내에 에러 정정을 위한 ECC 회로가 구비되고, 메모리 콘트롤러의 최대 정정 능력(MAX ECC)에 따라 기준 값이 설정될 수 있다.
만약, 제1 메모리 칩(chip-1)의 독출 동작에서, 전술한 산포 영역에서 A 개의 열화된 메모리 셀들이 카운팅될 때 메모리 컨트롤러의 MAX ECC에 도달될 수 있다. 이 경우, 제1 메모리 칩(chip-1)에서는 전술한 카운팅 결과와 A 에 해당하는 기준 값이 서로 비교되고, 비교 결과에 따라 복구 알고리즘이 선택적으로 수행될 수 있다. 반면에, 제2 메모리 칩(chip-2)의 독출 동작에서, 전술한 산포 영역에서 A 개 보다 많은 B 개의 열화된 메모리 셀들이 카운팅될 때 메모리 컨트롤러의 MAX ECC에 도달하는 경우, 제2 메모리 칩(chip-2)에서는 전술한 카운팅 결과와 B 에 해당하는 기준 값이 서로 비교될 수 있다.
도 12는 본 개시의 일 실시예에 따른 데이터 복구 방법을 나타낸 순서도이다. 도 3 및 도 12를 참조하여 본 실시예에 따른 동작을 설명한다.
본 개시의 일 실시예에 따른 데이터 복구 방법은, 메모리 장치(20)가 독출 명령을 수신하면(S21), 카운팅 회로(200)가 적어도 두 개의 리드 레벨에 따라 독출된 데이터들의 조합에 기반하는 데이터를 이용하여 메모리 셀의 열화 정도를 측정하고(S22), 제어 로직(300)은 카운팅 회로(200)의 측정 결과에 따라 복구 알고리즘의 수행 필요성을 판단할 수 있다(S23). 복구 알고리즘이 수행될 필요가 있다고 판단되는 경우, 메모리 장치(20) 내 제어 로직(300)이 복구 알고리즘을 수행하여 데이터를 복구할 수 있다(S24).
도 13a는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다. 도 3 및 도 13a를 참조하여 설명한다.
메모리 장치(20)가 메모리 컨트롤러(10)로부터 독출 명령을 수신하면(S31), 독출 회로에 의해 독출 과정이 수행됨과 함께, 메모리 장치(20) 내 카운팅 회로(200)가 메모리 셀 어레이(100) 중 열화된 메모리 셀(DC)의 개수를 카운트 할 수 있다(S32). 제어 로직(300) 내 비교부(320)는 카운팅 회로(200)에 의해 카운팅된 카운팅 결과(CNT)를 기초로 에러 정정 가능 여부를 판단할 수 있다(S33). 에러 정정이 불가능한 경우, 제어 로직(300)의 데이터 복구부(310)는 데이터 복구 알고리즘을 수행할 수 있다(S34). 데이터 복구부(310)에 의한 복구 알고리즘이 완료되면, 메모리 장치(20)는 복구된 데이터를 메모리 컨트롤러(10)로 전송할 수 있다(S35).
도 13b는 본 개시의 일 실시예에 따른 데이터 복구 방법의 구성요소간 동작 방법을 시간의 흐름에 따라 나타낸 도면이다. 도 3 및 도 13b를 참조하여 설명한다.
메모리 컨트롤러(10)에서 독출 명령이 메모리 장치(20)의 제어 로직(300)에 전송되면(T110), 제어 로직(300)은 독출 회로(미도시)를 통해 메모리 셀 어레이(100)에서 데이터를 독출할 수 있다(T120). 전술한 실시예에 따라, 각각의 상태를 판별하기 위한 독출 동작에서 적어도 두 개의 리드 레벨을 이용한 독출 동작이 수행될 수 있으며, 독출된 데이터는 페이지 버퍼에 저장될 수 있다.
카운팅 회로(200)는 페이지 버퍼(미도시)로부터의 데이터를 이용하여 열화된 메모리 셀(DC)의 개수를 카운트 할 수 있다(T210). 카운팅 회로(200)는 열화된 메모리 셀(DC)의 개수에 대한 카운팅 결과(CNT)를 제어 로직(300)에 전송할 수 있다(T220). 제어 로직(300) 내의 비교부(320)는 카운팅 회로(200)로부터 전송받은 카운팅 결과(CNT)와 기준 값을 비교하여 에러 정정 가능 여부를 판단할 수 있다(T310). 판단 결과 에러 정정 가능하면(T320), 에러 정정 회로(미도시)에 의해 에러 정정된 데이터를 메모리 컨트롤러(10)에 출력할 수 있다(T330). 또는 에러 정정 회로가 메모리 컨트롤러(10)에 구비되는 경우, 메모리 장치(20)는 정정 가능한 에러를 포함하는 데이터를 메모리 컨트롤러(10)로 전송하고, 메모리 컨트롤러(10)에서 에러 정정을 수행할 수 있다. 만약 에러 정정이 불가능하면(T320) 제어 로직(300) 내 데이터 복구부(310)는 복구 알고리즘으로서 데이터 리커버 리드 및/또는 소프트 디시젼 데이터 생성을 수행할 수 있다(T400). 복구 알고리즘에 의해 데이터가 복구되면, 제어 로직(300)은 메모리 컨트롤러(10)에 복구된 데이터를 전송할 수 있다(T500).
도 14는 본 개시의 일 실시예에 따른 복구방법으로서 데이터 리커버 리드(Data Recover Read)에 대해 나타내는 순서도이다. 도 3 및 도 14를 참조하여 설명한다.
도 14를 참조하면, 데이터 독출 동작 수행 후 상술한 과정을 통해 에러 정정이 불가능함을 나타내는 정보가 데이터 복구부(310)에 전송되면(S41), 데이터 복구부(310)는 데이터 리커버 리드(311)를 수행할 것인 것인지를 판단할 수 있다(S42). 일 실시예에 따라, 데이터 리커버 리드(311)는 소프트 디시젼 데이터 생성(312)에 비해 심각하지 않은 에러가 발생된 경우에 수행될 수 있다.
데이터 리커버 리드(311)를 수행하는 경우, 제어 로직(300)은 독출 전압을 변경하여 데이터를 다시 독출(재독출)할 수 있다(S45). 일 예로서, 재독출 동작을 수행할 때 이용되는 독출 전압의 레벨에 관련된 정보가 메모리 장치(20)에 기 저장될 수 있으며, 상기 정보를 참조함에 따라 재독출 동작에서 독출 전압의 레벨이 변경될 수 있다.
변형 가능한 실시예로서, 데이터 리커버 동작을 수행함에 있어서, 원 데이터가 독출된 영역(예컨대, 페이지)에 인접한 워드라인의 데이터가 독출되고, 독출된 데이터에 대한 판단이 수행될 수 있다(S44). 만약, 인접한 워드라인의 데이터를 판단한 결과에 따라, 상기 인접한 워드라인의 영역이 이미 프로그램된 상태에 해당하는 경우, 그 결과에 따라 전술한 독출 전압의 레벨이 변경되는 동작이 수행될 수 있다. 즉, 인접한 워드라인의 영역이 프로그램되었다는 것은, 인접한 워드라인의 프로그램에 따라 원 데이터가 독출된 영역이 디스터브되었음을 나타낼 수 있으므로, 전술한 독출 전압의 레벨을 변경하는 동작은 상기 인접한 워드라인의 영역의 데이터를 판단한 결과에 기반할 수 있다.
상기 재독출 동작에 따라, 에러가 복구되어 데이터에 대한 정상적인 독출이 성공하는 경우(S46), 제어 로직(300)은 메모리 컨트롤러(10)에 재독출된 데이터를 전송할 수 있다. 반면에, 정상적인 독출에 실패하는 경우, 메모리 장치(20)는 다시 데이터 리커버 리드(311)를 수행할 지 여부를 판단할 수 있다(S42). 데이터 리커버 리드(311)를 수행하는 경우에는 독출 전압을 다시 변경하여 재독출 할 수 있다(S45). 반면에, 데이터에 에러가 발생된 정도에 따라 데이터 리커버 리드(311) 대신에 소프트 디시젼 데이터를 생성하는 동작이 수행될 수 있으며, 예를 들면 에러의 정도가 심각한 경우는, 소프트 디시젼 데이터 생성 동작을 수행할 수 있다(S43).
도 15는 본 개시의 일 실시예에 따른 복구방법으로서 소프트 디시젼 데이터(Soft Decision Data) 생성에 대해 나타내는 도면이다.
먼저, 제1 하드 독출 전압(HRV1)을 제1 영역(또는, 페이지)에 대한 제1 어드레스에 인가하여, 제1 영역의 각 메모리 셀의 문턱 전압이 제1 문턱 전압 상태(S1) 및 제2 문턱 전압 상태(S2) 중 어느 상태에 포함되는지를 식별한다. 제1 하드 독출 전압(HRV1)보다 작은 문턱 전압을 갖는 메모리 셀은 1로 식별되고, 제1 하드 독출 전압(HRV1)보다 작은 문턱 전압을 갖는 메모리 셀은 0으로 식별될 수 있다.
제1 하드 독출 전압(HRV1)은, 노말 독출 동작에서 제1 문턱 전압 상태(S1) 및 제2 문턱 전압 상태(S2)를 식별하기 위한 노말 독출 전압과 동일한 전압 레벨을 가질 수 있다. 문턱 전압 상태가 4개 이상인 MLC 플래시 메모리에 대하여는 노말 독출 전압이 다수의 전압 레벨을 가질 수 있는데, 이 경우, 제1 하드 독출 전압(HRV1)은 다수의 전압 레벨 중 제1 문턱 전압 상태(S1) 및 제2 문턱 전압 상태(S2)를 식별하기 위한 전압 레벨을 가질 수 있다. 제1 하드 독출 전압(HRV1)에 의해 식별된 데이터를 하드 데이터(HD)라 명명할 수 있다.
다음으로, 한 쌍을 이루고 각각 제1 하드 독출 전압(HRV1)과 제1 전압 값(△V1) 및 제2 전압 값(△V1)의 차이를 갖는 제1 소프트 독출 전압(SRV1a) 및 제2 소프트 독출 전압(SRV1b)을 순차적으로 제1 어드레스에 인가하여, 소프트 데이터(SD)를 생성할 수 있다. 일 예로서, 소프트 데이터(SD)는 제1 소프트 독출 전압(SRV1a)을 이용하여 독출된 데이터와 제2 소프트 독출 전압(SRV1b)을 이용하여 독출된 데이터를 이용하여 생성될 수 있다.
한편, 소프트 디시젼 데이터(SDTA)는 하드 데이터(HD) 및 소프트 데이터(SD)에 기반하여 생성될 수 있다. 도 15의 예에서, 하드 데이터(HD) 및 소프트 데이터(SD)에 근거한 소프트 디시젼 데이터(SDTA)는 구간 ①, ②, ③ 및 ④에 대해 각각 11, 10, 00 및 01의 값을 가질 수 있다. 다만, 이에 한정되는 것은 아니고, 하드 데이터(HD) 및 소프트 데이터(SD)에 근거한 소프트 디시젼 데이터(SDTA)는 다른 값으로 설정될 수도 있다.
메모리 장치(20)는 메모리 컨트롤러로 하드 데이터(HD)를 제공함과 함께, 상기 생성된 소프트 디시젼 데이터(SDTA)를 제공할 수 있다. 메모리 컨트롤러는, 하드 데이터(HD) 중 소프트 디시젼 데이터(SDTA)가 11로 식별되는 구간 ①에 대응되는 데이터(비트)를 스트롱 1(strong 1: 해당 데이터(비트) 값이 1로 식별되고 1일 확률이 높음을 나타냄)로 처리할 수 있다. 또한, 하드 데이터(HD) 중 소프트 디시젼 데이터(SDTA)가 10으로 식별되는 구간 ②에 대응되는 데이터(비트)는 위크 1(weak 1: 해당 데이터(비트) 값이 1로 식별되나 1일 확률이 낮음을 나타냄)로 처리될 수 있다. 마찬가지로, 하드 데이터(HD) 중 소프트 디시젼 데이터(SDTA)가 00으로 식별되는 구간 ③에 대응되는 데이터(비트)는 위크 0(해당 데이터(비트) 값이 0으로 식별되고 0일 확률이 낮음을 나타냄)으로 처리될 수 있다. 또한, 하드 데이터(HD) 중 소프트 디시젼 데이터(SDTA)가 01로 식별되는 구간 ④에 대응되는 데이터(비트)는 스트롱 0(해당 데이터(비트) 값이 0으로 식별되나 0일 확률이 높음을 나타냄)으로 처리될 수 있다.
전술한 소프트 디시젼 데이터(SDTA)에 따라 하드 데이터(HD)의 데이터들에 가중치가 부여될 수 있으며, 이렇게 소프트 디시젼 수행 결과로 얻어지는 가중치는 후술되는 에러 정정의 기준이 될 수 있다. 따라서, 정확한 소프트 디시젼 데이터(SDTA), 즉 소프트 디시젼 동작을 통해 메모리 셀의 각 문턱 전압을 식별한 결과에 의해 부여되는 가중치에 따라 정확한 에러 정정 동작이 수행될 수 있다.
한편, 도 8a와 도 15를 참조하여 설명하면, 본 개시의 일 실시예에서 상술한 바와 같이 독출 과정에서 열화된 메모리 셀(DC)을 카운팅하기 위해 이미 제1 리드 레벨(V1)과 제2 리드 레벨(V2)을 이용한 독출 동작들이 수행될 수 있으며, 2번의 독출에 따른 데이터가 메모리 장치의 내부(예컨대, 페이지 버퍼)에 기 저장될 수 있다. 일 예에 따라, 제1 리드 레벨(V1)에 따른 독출 결과는 하드 독출 전압(HRV1)에 따른 독출 결과에 상응할 수 있다. 또한, 제2 리드 레벨(V2)에 따른 독출 결과는 제1 소프트 독출 전압(SRV1a)에 따른 독출 결과에 상응할 수 있다. 이에 따라, 본 개시의 일 실시예에 따른 소프트 디시젼 데이터 생성 과정에서는, 제2 소프트 독출 전압(SRV1b) 만을 이용한 독출 동작을 더 수행함으로써 소프트 디시젼 데이터(SDTA)가 생성될 수 있다.
도 16은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다. 도 3 및 도 16을 참조하여 설명한다.
도 16을 참조하면, 상술한 바와 같이 카운팅 회로(200)가 메모리 셀 어레이(100)에서 열화된 메모리 셀(DC)를 카운트하여(S51) 카운팅 결과(CNT)를 비교부(320)에 출력하면, 비교부(320)가 카운팅 결과(CNT)와 제1 기준 값(Ref1)을 비교하여 카운팅 결과(CNT)가 더 큰지를 판단할 수 있다(S52). 제1 기준 값(Ref1)은 에러 소프트 디시젼 데이터(312)를 생성할 지를 판단하기 위한 미리 결정된 값을 가질 수 있다. 카운팅 결과(CNT)가 제1 기준 값(Ref1)보다 큰 경우 메모리 장치(20) 내 제어 로직(300)의 데이터 복구부(310)가 소프트 디시젼 데이터(312)를 생성하기 위한 동작을 제어할 수 있다(S53). 소프트 디시젼 데이터(312)가 생성되면 제어 로직(300)은 메모리 컨트롤러(10)에 소프트 디시젼 데이터(312)를 출력할 수 있다(S54). 반면에, 카운팅 결과(CNT)가 제1 기준 값(Ref1)보다 더 작은 경우(S52), 메모리 장치(20) 또는 메모리 컨트롤러(10)에 구비되는 에러 정정 회로(미도시)에 의해 에러 정정을 수행됨에 따라, 데이터의 에러가 정정될 수 있다(S55). 메모리 장치(20)에 에러 정정 회로가 구비되는 경우, 에러 정정 회로에 의해 에러 정정된 데이터를 메모리 컨트롤러(10)에 출력할 수 있다(S56).
도 17은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다. 도 3 및 도 17을 참조하여 설명한다.
도 17을 참조하면, 상술한 바와 같이 카운팅 회로(200)가 메모리 셀 어레이(100)에서 열화된 메모리 셀(DC)를 카운트하여(S61) 카운팅 결과(CNT)를 비교부(320)에 출력하면 비교부(320)가 카운팅 결과(CNT)와 제2 기준 값(Ref2)을 비교하여 카운팅 결과(CNT)가 더 큰지를 판단할 수 있다(S62). 제2 기준 값(Ref2)은 정정 불가능한 에러(UECC) 인지를 판단하여 데이터 리커버 리드(311) 및/또는 소프트 디시젼 데이터(312)를 생성하기 위한 미리 결정된 카운트 일 수 있다. 카운팅 결과(CNT)가 제2 기준 값(Ref2)보다 큰 경우 메모리 장치(20) 내 제어 로직(300)의 데이터 복구부(310)가 데이터 리커버 리드(311)를 할 수 있다(S63). 데이터 리커버 리드(311)에 의한 데이터 복구가 성공하면(S64), 제어 로직(300)이 메모리 컨트롤러(10)에 복구된 데이터를 출력할 수 있다(S65). 데이터 리커버 리드(311)에 의한 데이터 복구가 실패하면(S64), 메모리 장치(20) 내 제어 로직(300)의 데이터 복구부(310)가 소프트 디시젼 데이터(312)를 생성할 수 있다(S66). 소프트 디시젼 데이터(312)가 생성되면 제어 로직(300)은 메모리 컨트롤러(10)에 생성된 소프트 디시젼 데이터(312)를 출력할 수 있다(S67). 일 실시예에 따라, 제어 로직(300)은 생성된 소프트 디시젼 데이터(312)와 노말 데이터를 함께 출력할 수도 있다. 카운팅 결과(CNT)가 제2 기준 값(Ref2)보다 더 작은 경우(S62), 메모리 장치(20) 또는 메모리 컨트롤러(10)에 위치할 수 있는 에러 정정 회로(미도시)에 의해 에러 정정을 수행할 수 있다(S68). 메모리 장치(20)에 에러 정정 회로가 있는 경우, 에러 정정 회로에 의해 에러 정정된 데이터를 메모리 컨트롤러(10)에 출력할 수 있다(S69).
도 18은 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다. 도 3을 참조하여 설명한다.
도 18을 참조하면, 상술한 바와 같이 카운팅 회로(200)가 메모리 셀 어레이(100)에서 열화된 메모리 셀(DC)를 카운트하여(S71) 카운팅 결과(CNT)를 비교부(320)에 출력하면 비교부(320)가 카운팅 결과(CNT)와 제3 기준 값(Ref3)을 비교하여 카운팅 결과(CNT)가 더 큰지를 판단할 수 있다(S72). 제3 기준 값(Ref3)은 에러 정정 불가능(UECC)을 판단하기 위한 미리 결정된 카운트 일 수 있다. 카운팅 결과(CNT)가 제3 기준 값(Ref2)보다 큰 경우 비교부(320)는 카운팅 결과(CNT)와 제4 기준 값(Ref4)을 비교하여 카운팅 결과(CNT)가 더 큰지를 다시 한번 판단할 수 있다(S73). 제4 기준 값(Ref4)은 정정 불가능한 에러(UECC)의 경우에 복구 알고리즘을 수행하여 복구할 필요가 있을 정도로 심각한 에러 인지 판단하기 위한 미리 결정된 카운트 일 수 있다.
카운팅 결과가 제4 기준 값(Ref4)보다 큰 경우, 메모리 장치(20) 내 제어 로직(300)의 데이터 복구부(310)가 데이터 리커버 리드(311) 및/또는 소프트 디시젼 데이터(312)를 생성 할 수 있다(S74). 상술한 바와 같이, 데이터 리커버 리드(311) 및/또는 소프트 디시젼 데이터(312) 생성은 독립적으로 행해질 수도 있고, 순차적으로 행해질 수도 있다. 데이터 리커버 리드(311) 및/또는 소프트 디시젼 데이터(312) 생성에 의한 데이터 복구가 성공하면, 제어 로직(300)이 메모리 컨트롤러(10)에 복구된 데이터를 출력할 수 있다(S75). 상기 복구된 데이터는 데이터 리커버 리드(311) 동작을 통해 독출된 데이터를 출력하는 동작에 해당하거나, 소프트 디시젼 데이터(312) 생성 동작을 수행시 하드 데이터(노말 데이터)와 소프트 디시젼 데이터를 함께 출력하는 동작에 해당할 수 있다.
카운팅 결과(CNT)가 제4 기준 값(Ref4)보다 더 작은 경우(S73), 메모리 장치(20)는 메모리 컨트롤러(10)에 코어스 데이터(Coarse Data)를 출력할 수 있다(S76). 일 실시예에 따라, 전술한 제1 및 제2 리드 레벨(V1, V2)을 이용하여 독출된 데이터가 페이지 버퍼에 저장되고, 어느 하나의 리드 레벨을 이용하여 독출된 데이터가 코어스 데이터(Coarse Data)로서 메모리 컨트롤러(10)에 제공될 수 있다. 예컨대, 도 8a에서 제2 MSB 독출(Read_MSB2)을 참조하면, 기존의 골에 대응하는 전압보다 그 레벨이 작은 제1 리드 레벨(V1)을 이용하여 독출된 데이터가 코어스 데이터(Coarse Data)로서 메모리 컨트롤러(10)에 제공될 수 있다. 메모리 장치(20)는 상기 코어스 데이터(Coarse Data)를 메모리 컨트롤러(10)의 요청에 따른 최종 데이터로서 출력할 수 있다.
카운팅 결과(CNT)가 제3 기준 값(Ref2)보다 크고 제4 기준 값(Ref4)보다 작다는 것은, 정정 불가능한 에러가 발생되더라도 문턱전압 산포의 변동 량이 상대적으로 작음을 나타낼 수 있다. 이 경우, 제1 리드 레벨(V1)은 열화된 이후의 문턱전압 산포의 골(Valley)에 더 근접할 수 있으며, 이에 따라 제1 리드 레벨(V1)을 이용하여 독출된 데이터는 제2 리드 레벨(V2)을 이용한 경우에 비해 에러 개수가 더 적을 수 있다. 이에 따라, 제1 리드 레벨(V1)을 이용하여 독출된 데이터(예컨대, 코어스 데이터(Coarse Data))가 메모리 컨트롤러(10)에 제공될 수 있다.
한편, 카운팅 결과(CNT)가 제3 기준 값(Ref3)보다 작은 경우(S72), 메모리 장치(20) 또는 메모리 컨트롤러(10)에 위치할 수 있는 에러 정정 회로(미도시)에 의해 에러 정정을 수행할 수 있다(S77). 메모리 장치(20)에 에러 정정 회로가 있는 경우, 에러 정정 회로에 의해 에러 정정된 데이터를 메모리 컨트롤러(10)에 출력할 수 있다(S78).
도 19는 본 개시의 일 실시예에 따른 데이터 복구 방법의 순서도이다. 도 3을 참조하여 설명한다.
도 19를 참조하면, 상술한 바와 같이 카운팅 회로(200)가 메모리 셀 어레이(100)에서 열화된 메모리 셀(DC)를 카운트하여(S81) 카운팅 결과(CNT)를 비교부(320)에 출력하면 비교부(320)가 카운팅 결과(CNT)와 제5 기준 값(Ref5)을 비교하여 카운팅 결과(CNT)가 더 큰지를 판단할 수 있다(S82). 제5 기준 값(Ref5)는 장장 불가능한 에러(UECC)를 판단하기 위한 미리 결정된 카운트 일 수 있다. 카운팅 결과(CNT)가 제5 기준 값(Ref5)보다 큰 경우 비교부(320)는 카운팅 결과(CNT)와 제6 기준 값(Ref6)을 비교하여 카운팅 결과(CNT)가 더 큰지를 다시 한번 판단할 수 있다(S83). 제6 기준 값(Ref6)는 제어 로직(300)의 복구 알고리즘으로 복구할 수 있을 정도의 에러인지 판단하기 위한 미리 결정된 카운트 일 수 있다.
카운팅 결과가 제6 기준 값(Ref6)보다 큰 경우, 메모리 장치(20) 내 제어 로직(300)의 데이터 복구부(310)에서 에러 정정이 불가능할 정도로 심각한 에러일 수 있다. 이 경우, 제어 로직(300)은 메모리 컨트롤러(10)에 에러 정정 불가(UECC) 정보를 출력할 수 있고(S86), 메모리 컨트롤러(10)에서 직접 에러 정정을 수행할 수 있다.
카운팅 결과가 제6 기준 값(Ref6)보다 작은 경우, 메모리 장치(20) 내 제어 로직(300)의 데이터 복구부(310)가 데이터 리커버 리드(311) 및/또는 소프트 디시젼 데이터(312)를 생성 할 수 있다(S84). 상술한 바와 같이, 데이터 리커버 리드(311) 및/또는 소프트 디시젼 데이터(312) 준비는 독립적으로 행해질 수도 있고, 순차적으로 행해질 수도 있다. 데이터 리커버 리드(311) 및/또는 소프트 디시젼 데이터(312) 생성에 의한 데이터 복구가 성공하면, 제어 로직(300)이 메모리 컨트롤러(10)에 복구된 데이터를 출력할 수 있다(S85). 상기 복구된 데이터는 데이터 리커버 리드(311) 동작을 통해 독출된 데이터를 출력하는 동작에 해당하거나, 소프트 디시젼 데이터(312) 생성 동작을 수행시 하드 데이터(노말 데이터)와 소프트 디시젼 데이터를 함께 출력하는 동작에 해당할 수 있다.
카운팅 결과(CNT)가 제5 기준 값(Ref5)보다 더 작은 경우(S82), 에러 정정 회로(700)에 의해 에러 정정을 수행할 수 있다(S87). 메모리 장치(20)에 에러 정정 회로가 있는 경우, 에러 정정 회로에 의해 에러 정정된 데이터를 메모리 컨트롤러(10)에 출력할 수 있다(S88).
도 20은 본 개시의 일 실시예에 따른 메모리 장치의 블록도이다. 도 3에 도시된 구성과 중복되는 구성에 대한 구체적인 설명은 생략한다.
도 20을 참조하면, 메모리 장치(20)는 에러 정정 회로(Error Correcting Code Circuit;ECC Circuit)(700)를 더 포함할 수 있다. 비교부(320)에서 카운팅 회로(200)로부터 전송받은 카운팅 결과(CNT)와 기준 값(Ref)을 비교하고, 카운팅 결과(CNT)가 기준 값(Ref)보다 작은 경우 그 결과로서 에러 정정 명령(ECC)를 에러 정정 회로(700)에 전송 할 수 있다. 에러 정정 회로(700)는 이에 대응하여 데이터에 대하여 에러 정정을 수행하고 에러 정정된 데이터(Data_ECC)를 메모리 컨트롤러(10)에 출력할 수 있다.
도 21은 본 개시의 일 실시예에 따른 메모리 장치의 블록도이다. 도 3과 중복되는 내용은 생략한다.
도 21을 참조하면, 메모리 장치(20)는 독출 회로(Read Circuit)(800)을 더 포함할 수 있고 제어 로직(300)은 독출 제어부(330)을 더 포함할 수 있다. 데이터 복구부(310)가 비교부(320)의 비교 결과(Result)에 의해 복구 알고리즘을 수행하고 있는 것과 병행하여, 메모리 장치(20)는 메모리 컨트롤러(10)의 후속 독출 명령에 대응하여 복구가 진행되고 있는 데이터 이외의 후속 데이터(Data)에 대한 독출을 진행할 수 있다. 메모리 장치(10)에 메모리 컨트롤러(10)의 다른 독출 명령이 전송되면, 독출 제어부(330)는 독출 회로(800)에 독출 제어 신호(CTRL_Rd)를 전송하고, 독출 회로(800)는 이에 대응하여 후속 데이터(Data)를 메모리 컨트롤러(10)에 전송할 수 있다.
도 22a는 본 개시의 일 실시예에 따른 데이터 복구 방법을 시간의 흐름에 따라 나타낸 구성요소간 동작 방법의 흐름도이다. 도 3을 참조하여 설명한다.
도 22a를 참조하면, 메모리 컨트롤러(10)에서 메모리 장치(20) 내 제어 로직(300)에 데이터 독출 명령이 전송되면(T201), 제어 로직(300)은 메모리 컨트롤러(10)에 비지 신호(R/B)를 출력할 수 있다(T202). 즉, 비지 신호(R/B)가 로직 로우에서 로직 하이로 변환될 수 있다. 상술한 바와 같이 제어 로직(300)의 비교부(320)에 의해 정정 불가능한 에러(UECC) 판단 결과가 데이터 복구부(310)에 전송되면(T301), 제어 로직(300)은 비지 신호(R/B)를 로직 하이로 유지할 수 있다(T302). 만약 에러 정정이 가능한 경우에는 비지 신호(R/B)를 로직 하이에서 로직 로우로 변환할 수 있다(미도시). 정정 불가능한 에러(UECC)한 경우 제어 로직(300)의 데이터 복구부(310)는 복구 알고리즘을 수행할 수 있다(T401). 복구 알고리즘에 의해 데이터 복구가 완료되면 제어 로직(300)은 복구된 데이터를 출력하고, 비지 신호(R/B)를 차단할 수 있다(T501). 즉, 비지 신호(R/B)를 로직 하이에서 로직 로우로 변환 할 수 있다.
도 22b는 본 개시의 일 실시예에 따른 메모리 장치의 동작을 나타내는 그래프이다. 도 22a와 중복되는 내용은 생략한다.
도 22b는 도 22a의 비지 신호(R/B)의 동작을 나타내는 그래프이다. 정상 독출 동작(Normal Read;NR)의 경우에는 대기 상태(t0)에서 메모리 컨트롤러(10)에서 독출 명령(CMD_Rd)이 메모리 장치(20)에 전송되면 제어 로직(300)에서 메모리 컨트롤러(10)로 비지 신호(R/B)를 로직 로우에서 로직 하이로 변환할 수 있다. 데이터 독출 진행 상태(t1)이 종료되면 다시 제어 로직(300)에서 메모리 컨트롤러(10)로 비지 신호(R/B)를 로직 하이에서 로직 로우로 변환 시켜 메모리 컨트롤러(10)에서 다른 독출 명령을 보낼 수 있도록 할 수 있다.
데이터 복구 독출 동작(UECC Restoring Read;URR)의 경우에는 대기 상태(t0)에서 메모리 컨트롤러(10)에서 독출 명령(CMD_Rd)이 메모리 장치(20)에 전송되면 제어 로직(300)에서 메모리 컨트롤러(10)로 비지 신호(R/B)를 로직 로우에서 로직 하이로 변환할 수 있다. 하지만 정상 독출 동작(NR)과 다르게 데이터 복구 독출 동작(URR)의 경우에는 데이터 독출 진행 상태(t1)이 종료되더라도 데이터 복구 상태(t2)가 진행되므로 제어 로직(300)은 비지 신호(R/B)를 로직 하이로 유지할 수 있다. 데이터 복구 상태(t3)가 종료되고 다시 제어 로직(300)에서 대기 상태(t0)로 진입하면 제어 로직(300)은 메모리 컨트롤러(10)로 비지 신호(R/B)를 로직 하이에서 로직 로우로 변환 시켜 메모리 컨트롤러(10)에서 다른 독출 명령을 보낼 수 있도록 할 수 있다.
도 23는 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.
도 23을 참조하면, 메모리 카드 시스템(1000)은 호스트(1100) 및 메모리 카드(1200)를 포함할 수 있다. 호스트(1100)는 호스트 컨트롤러(1110) 및 호스트 접속부(1120)를 포함할 수 있다. 메모리 카드(1200)는 카드 접속부(1210), 카드 컨트롤러(1220) 및 메모리 장치(1230)를 포함할 수 있다. 이때, 메모리 카드(1200)는 도 1 내지 도 22b에 도시된 실시예들을 이용하여 구현될 수 있다.
구체적으로, 메모리 카드(1200)는 메모리 셀들에 대한 독출 과정에서 열화된 메모리 셀(DC)를 기준으로 에러 정정이 가능할지 여부를 판단할 수 있다. 또한 정정 불가능한 에러(UECC)의 경우 메모리 카드(1200) 내 메모리 장치(1230)에서 일정한 복구 알고리즘을 통해 데이터를 복구할 수 있다. 카드 컨트롤러(1220)을 거치지 않고 메모리 장치(1230) 내에서 데이터 복구를 진행함으로써 신뢰성이 증가하고 성능이 개선될 수 있다.
메모리 카드(1200)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(1100)와 통신하도록 구성될 수 있다.
호스트(1100)는 메모리 카드(1200)에 데이터를 기입하거나, 메모리 카드(1200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(1110)는 커맨드(CMD), 호스트(1100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(1120)를 통해 메모리 카드(1200)로 전송할 수 있다.
카드 컨트롤러(1220)는 카드 접속부(1210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(1220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(1230)에 저장할 수 있다. 메모리 장치(1230)는 호스트(1100)로부터 전송된 데이터를 저장할 수 있다.
메모리 카드(1200)는 컴팩트 플래쉬 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래쉬 메모리 드라이버 등으로 구현될 수 있다.
도 24은 본 개시의 일 실시예에 따른 SSD 시스템을 나타내는 블록도이다.
도 24을 참조하면, SSD 시스템(2000)은 호스트(2100) 및 SSD(2200)를 포함할 수 있다. SSD(2200)는 신호 커넥터(signal connector)를 통해 호스트(2100)와 신호를 주고 받으며, 전원 커넥터(power connector)를 통해 전원을 입력 받는다. SSD(2200)는 SSD 컨트롤러(2210), 보조 전원 장치(2220) 및 복수의 메모리 장치들(2230, 2240, 2250)을 포함할 수 있다. 이때, SSD(2200)는 도 1 내지 도 23에 도시된 실시예들을 이용하여 구현될 수 있다.
구체적으로, 복수의 메모리 장치들(2230 내지 2250)는 메모리 셀들에 대한 독출 과정에서 열화된 메모리 셀(DC)를 기준으로 에러 정정이 가능할지 여부를 판단할 수 있다. 또한 에러 정정이 불가능한 경우(UECC) 복수의 메모리 장치들(2230 내지 2250) 내 메모리 장치에서 일정한 복구 알고리즘을 통해 데이터를 복구할 수 있다. 복수의 메모리 장치들(2230 내지 2250) 내의 컨트롤러을 거치지 않고 메모리 장치 내에서 데이터 복구를 진행함으로써 신뢰성이 증가하고 성능이 개선될 수 있다.
본 발명에 따른 메모리 카드, 비휘발성 메모리 장치, 카드 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
Claims (10)
- 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
상기 복수의 메모리 셀들로부터 독출된 데이터에 대한 카운팅을 수행하여 카운팅 결과를 제공하는 카운팅 회로; 및
메모리 컨트롤러의 개입 없이, 상기 카운팅 회로의 카운팅 결과에 따라 데이터 리커버 리드 동작 및 소프트 디시젼 데이터 생성 동작을 포함하는 데이터 복구 동작을 수행하는 제어 로직을 포함하고,
상기 제어 로직은,
상기 카운팅 결과가 제1 기준 값 미만이면, 리드 레벨을 갖는 리드 전압을 사용하여 상기 복수의 메모리 셀들로부터 리드된 데이터의 에러를 정정하고, 정정된 데이터를 상기 메모리 컨트롤러에 출력하고,
상기 카운팅 결과가 제1 기준 값 이상이면, 상기 데이터 리커버 리드 동작을 위해, 변경된 리드 레벨을 갖는 상기 리드 전압을 이용하여 데이터를 리드하고,
상기 변경된 리드 레벨을 갖는 상기 리드 전압을 사용하여 리드된 데이터가 정정 불가능한 경우, 상기 소프트 디시젼 데이터 생성 동작을 위해, 상기 변경된 리드 레벨을 갖는 상기 리드 전압을 사용하여, 상기 데이터로부터 소프트 디시젼 데이터를 생성하고, 상기 소프트 디시젼 데이터를 상기 메모리 컨트롤러에 출력하는 것을 특징으로 하는 메모리 장치. - 제1항에 있어서,
상기 카운팅 회로는,
제1 리드 레벨을 기준으로 하여 독출된 제1 데이터와 제2 리드 레벨을 기준으로 하여 독출된 제2 데이터에 기반하여, 상기 제1 리드 레벨과 상기 제2 리드 레벨 사이의 산포 영역에 속하는 메모리 셀들의 개수를 카운팅하는 것을 특징으로 하는 메모리 장치. - 제2항에 있어서,
상기 카운팅 결과는 상기 메모리 셀 어레이의 열화된 셀 개수와 매칭되는 것을 특징으로 하는 메모리 장치. - 제1항에 있어서,
상기 제어 로직은,
상기 카운팅 결과와 상기 제1 기준 값을 비교하여 에러 정정 가능 여부를 판단하는 비교부; 및
상기 비교부로부터의 비교 결과에 따라, 상기 데이터 복구 동작을 위한 복구 알고리즘을 수행하는 데이터 복구부를 포함하는 것을 특징으로 하는 메모리 장치. - 제4 항에 있어서,
상기 비교부는 상기 카운팅 결과와 상기 제1 기준 값을 비교하고, 상기 카운팅 결과가 상기 제1 기준 값보다 큰 경우 상기 데이터 복구부에 에러 정정 불가함을 나타내는 비교 결과를 출력하고,
상기 데이터 복구부는 상기 비교 결과에 따라 상기 데이터 복구 동작을 수행하는 것을 특징으로 하는 메모리 장치. - 제5항에 있어서,
상기 데이터 복구부는, 상기 데이터 복구 동작으로서 상기 데이터 리커버 리드(Data Recover Read) 동작 및 상기 소프트 디시젼 데이터(Soft Decision Data) 생성 동작 중 적어도 하나를 수행하는 것을 특징으로 하는 메모리 장치. - 제6항에 있어서,
상기 리드된 데이터는 제1 페이지에 대한 노말 리드 동작에 따라 리드된 데이터이고,
상기 데이터 리커버 리드 동작 수행시, 상기 제1 페이지에 인접한 제2 페이지의 데이터가 리드되고, 상기 제2 페이지의 데이터 리드 결과에 따라 리드 전압의 레벨을 변경하여 상기 제1 페이지의 데이터가 다시 리드되는 것을 특징으로 하는 메모리 장치. - 제1항에 있어서,
상기 제어 로직은 상기 메모리 컨트롤러로 레디/비지 신호를 출력하며, 상기 데이터 복구 동작이 수행되는 동안 상기 레디/비지 신호는 비지 상태를 유지하는 것을 특징으로 하는 메모리 장치. - 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 노말 독출 동작에 따라 독출된 데이터에 대한 카운팅을 수행하여 카운팅 결과를 제공하는 카운팅 회로, 및 상기 카운팅 회로의 카운팅 결과에 따라 데이터 리드 리커버 동작 및 소프트 디시젼 데이터 생성 동작을 포함하는 데이터 복구 동작을 수행하는 제어 로직을 포함하는 메모리 장치; 및
상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고,
상기 메모리 장치는 상기 메모리 컨트롤러로 레디/비지 신호를 출력하고, 상기 카운팅 결과에 따라 상기 노말 독출 동작 이후의 제1 기준 동안 비지 상태가 유지되고,
상기 제어 로직은,
상기 카운팅 결과가 상기 제1 기준 값 미만이면, 리드 레벨을 갖는 리드 전압을 사용하여 상기 복수의 메모리 셀들로부터 리드된 데이터의 에러를 정정하고, 정정된 데이터를 상기 메모리 컨트롤러에 출력하고,
상기 카운팅 결과가 제1 기준 값 이상이면, 상기 데이터 리드 리커버 동작을 위해, 변경된 리드 레벨을 갖는 상기 리드 전압을 이용하여 상기 데이터를 리드하고,
상기 변경된 리드 레벨을 갖는 상기 리드 전압을 사용하여 리드된 상기 데이터가 정정 불가능한 경우, 상기 소프트 디시젼 데이터 생성 동작을 위해, 상기 변경된 리드 레벨을 갖는 상기 리드 전압을 사용하여, 상기 데이터로부터 소프트 디시젼 데이터를 생성하고, 상기 소프트 디시젼 데이터를 상기 메모리 컨트롤러에 출력하는 것을 특징으로 하는 메모리 시스템. - 제9항에 있어서,
상기 제어 로직은 상기 카운팅 결과와 상기 제1 기준 값을 비교하고, 비교 결과에 따라 상기 메모리 컨트롤러로부터의 명령에 무관하게 상기 데이터 복구 동작을 위한 복구 알고리즘을 수행하는 것을 특징으로 하는 메모리 시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160048952A KR102585221B1 (ko) | 2016-04-21 | 2016-04-21 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
US15/385,124 US10152380B2 (en) | 2016-04-21 | 2016-12-20 | Memory device, memory system, and method of operating memory device |
CN201710096000.XA CN107305791B (zh) | 2016-04-21 | 2017-02-22 | 存储装置和存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160048952A KR102585221B1 (ko) | 2016-04-21 | 2016-04-21 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170120442A KR20170120442A (ko) | 2017-10-31 |
KR102585221B1 true KR102585221B1 (ko) | 2023-10-05 |
Family
ID=60090211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160048952A KR102585221B1 (ko) | 2016-04-21 | 2016-04-21 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10152380B2 (ko) |
KR (1) | KR102585221B1 (ko) |
CN (1) | CN107305791B (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102026177B1 (ko) | 2017-11-22 | 2019-09-27 | 서울대학교산학협력단 | 셀 스트링의 선택 트랜지스터를 프로그램함으로 데이터를 보호하는 플래시 메모리 장치 및 그것을 포함하는 데이터 저장 장치 |
JP2019164850A (ja) * | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | メモリシステム |
KR102532563B1 (ko) * | 2018-03-28 | 2023-05-17 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그것의 동작방법 |
KR102567314B1 (ko) * | 2018-04-27 | 2023-08-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN110471788B (zh) * | 2018-05-08 | 2024-03-15 | 美光科技公司 | 异步功率损耗影响的数据结构 |
CN109036494A (zh) * | 2018-07-20 | 2018-12-18 | 江苏华存电子科技有限公司 | 一种快速检测闪存瑕疵的方法 |
KR102599046B1 (ko) * | 2018-11-16 | 2023-11-06 | 삼성전자주식회사 | 리커버리 동작을 수행하는 메모리 컨트롤러, 이의 동작 방법 및 이를 포함하는 메모리 시스템 |
KR102608958B1 (ko) | 2018-11-19 | 2023-12-01 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
KR102651128B1 (ko) * | 2018-12-11 | 2024-03-26 | 삼성전자주식회사 | 데이터 비교 기록을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템 |
US11907570B2 (en) * | 2020-02-25 | 2024-02-20 | Micron Technology, Inc. | Predictive media management for read disturb |
US11314583B2 (en) * | 2020-08-18 | 2022-04-26 | Micron Technology, Inc. | Memory data correction using multiple error control operations |
US11437119B2 (en) * | 2020-08-19 | 2022-09-06 | Micron Technology, Inc. | Error read flow component |
KR20220103227A (ko) | 2021-01-14 | 2022-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법 |
KR102505857B1 (ko) * | 2021-11-15 | 2023-03-06 | 삼성전자 주식회사 | 스트롱 에러 정보를 관리하는 메모리 컨트롤러 및 그 동작방법 |
US11886293B2 (en) | 2021-11-15 | 2024-01-30 | Samsung Electronics Co., Ltd. | Memory controller managing strong error information and operating method thereof |
KR102496386B1 (ko) * | 2022-03-16 | 2023-02-06 | 주식회사 파두 | 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130148425A1 (en) * | 2011-09-21 | 2013-06-13 | Sandisk Technologies Inc. | On chip dynamic read for non-volatile storage |
US20140281770A1 (en) * | 2013-03-15 | 2014-09-18 | Kyung-Ryun Kim | Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system |
US20160035417A1 (en) * | 2014-07-29 | 2016-02-04 | Samsung Electronics Co., Ltd. | Memory device and method of operating the memory device |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4977596A (en) * | 1989-03-15 | 1990-12-11 | The United States Of America As Represented By The United States Department Of Energy | Cryptographic synchronization recovery by measuring randomness of decrypted data |
JP4660249B2 (ja) * | 2005-03-31 | 2011-03-30 | 株式会社東芝 | 磁気ランダムアクセスメモリ |
WO2008111058A2 (en) | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
KR100888842B1 (ko) | 2007-06-28 | 2009-03-17 | 삼성전자주식회사 | 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법 |
CN101140809A (zh) * | 2007-09-07 | 2008-03-12 | 炬力集成电路设计有限公司 | 支持流水线纠错码和可配置操作的flash控制器及其控制方法 |
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
US7957187B2 (en) | 2008-05-09 | 2011-06-07 | Sandisk Corporation | Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution |
JP2010015195A (ja) | 2008-06-30 | 2010-01-21 | Toshiba Corp | 記憶制御装置及び記憶制御方法 |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
KR101802815B1 (ko) | 2011-06-08 | 2017-12-29 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법 |
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 |
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 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
US8737133B2 (en) | 2011-10-18 | 2014-05-27 | Seagate Technology Llc | Shifting cell voltage based on grouping of solid-state, non-volatile memory cells |
US8839073B2 (en) | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
US9036417B2 (en) | 2012-09-06 | 2015-05-19 | Sandisk Technologies Inc. | On chip dynamic read level scan and error detection for nonvolatile storage |
KR101934892B1 (ko) * | 2012-10-17 | 2019-01-04 | 삼성전자 주식회사 | 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템 |
KR102038408B1 (ko) | 2012-10-25 | 2019-10-30 | 삼성전자주식회사 | 회귀 분석법을 사용하는 메모리 시스템 및 그것의 읽기 방법 |
KR102123946B1 (ko) * | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
KR102050475B1 (ko) * | 2013-01-14 | 2020-01-08 | 삼성전자주식회사 | 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법 |
US9076545B2 (en) | 2013-01-17 | 2015-07-07 | Sandisk Tecnologies Inc. | Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution |
KR20140093855A (ko) * | 2013-01-18 | 2014-07-29 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 제어 방법 |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US8953373B1 (en) | 2013-10-03 | 2015-02-10 | Lsi Corporation | Flash memory read retry using histograms |
US9378083B2 (en) | 2013-12-04 | 2016-06-28 | Seagate Technology Llc | Adaptive read error recovery for memory devices |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US9502129B1 (en) * | 2015-09-10 | 2016-11-22 | Kabushiki Kaisha Toshiba | Memory system and method of controlling nonvolatile memory |
US9852795B2 (en) * | 2015-09-24 | 2017-12-26 | Samsung Electronics Co., Ltd. | Methods of operating nonvolatile memory devices, and memory systems including nonvolatile memory devices |
-
2016
- 2016-04-21 KR KR1020160048952A patent/KR102585221B1/ko active IP Right Grant
- 2016-12-20 US US15/385,124 patent/US10152380B2/en active Active
-
2017
- 2017-02-22 CN CN201710096000.XA patent/CN107305791B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130148425A1 (en) * | 2011-09-21 | 2013-06-13 | Sandisk Technologies Inc. | On chip dynamic read for non-volatile storage |
US20140281770A1 (en) * | 2013-03-15 | 2014-09-18 | Kyung-Ryun Kim | Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system |
US20160035417A1 (en) * | 2014-07-29 | 2016-02-04 | Samsung Electronics Co., Ltd. | Memory device and method of operating the memory device |
Also Published As
Publication number | Publication date |
---|---|
KR20170120442A (ko) | 2017-10-31 |
CN107305791B (zh) | 2023-09-15 |
CN107305791A (zh) | 2017-10-31 |
US20170308438A1 (en) | 2017-10-26 |
US10152380B2 (en) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102585221B1 (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 | |
CN108573722B (zh) | 操作非易失性存储器件的方法和非易失性存储器件 | |
KR101944793B1 (ko) | 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법 | |
KR102609130B1 (ko) | 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치 | |
KR102289598B1 (ko) | 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 그리고 그것의 프로그램 방법 | |
KR102687216B1 (ko) | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 | |
KR102391514B1 (ko) | 메모리 장치 및 메모리 장치의 동작 방법 | |
KR102065665B1 (ko) | 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법 | |
US9224489B2 (en) | Flash memory devices having multi-bit memory cells therein with improved read reliability | |
KR101979734B1 (ko) | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 | |
US20150043282A1 (en) | Method of estimating deterioration state of memory device and related method of wear leveling | |
KR20170085774A (ko) | 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법 | |
KR20170071126A (ko) | 저장 장치의 동작 방법 | |
KR102128825B1 (ko) | 불휘발성 메모리 장치 및 그것의 동작 방법 | |
JP2009037619A (ja) | メモリシステム及びその読み出し方法 | |
KR102267046B1 (ko) | 스토리지 장치 및 배드 블록 지정 방법 | |
KR20120140508A (ko) | 불휘발성 메모리 장치 및 그것의 읽기 방법 | |
KR20150075170A (ko) | 메모리 컨트롤러 구동방법 및 메모리 컨트롤러 | |
KR20140123230A (ko) | 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법 | |
KR20150055445A (ko) | 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치 | |
CN108986861B (zh) | 对非易失性存储器装置进行编程的方法 | |
KR101642930B1 (ko) | 더미 셀을 갖는 불휘발성 메모리 장치 및 그것의 프로그램 방법 | |
US11263075B2 (en) | Memory system and operating method thereof | |
KR102314137B1 (ko) | 리커버리 동작을 선택적으로 수행하는 불휘발성 메모리 장치 및 그 동작방법 | |
KR20210143612A (ko) | 비휘발성 메모리 및 비휘발성 메모리의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |