KR102252379B1 - 메모리 시스템 및 이의 독출 방법 - Google Patents
메모리 시스템 및 이의 독출 방법 Download PDFInfo
- Publication number
- KR102252379B1 KR102252379B1 KR1020130072708A KR20130072708A KR102252379B1 KR 102252379 B1 KR102252379 B1 KR 102252379B1 KR 1020130072708 A KR1020130072708 A KR 1020130072708A KR 20130072708 A KR20130072708 A KR 20130072708A KR 102252379 B1 KR102252379 B1 KR 102252379B1
- Authority
- KR
- South Korea
- Prior art keywords
- read
- data
- block
- bad block
- error
- Prior art date
Links
Images
Classifications
-
- 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
- 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
- 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
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
본 발명의 일 실시예에 따른 메모리 시스템의 독출 방법은 제1 독출명령에 응답하여, 상기 비휘발성 메모리 장치의 제1 블록에 저장된 데이터를 제1 방식으로 독출하여, 에러를 체크하고 정정하는 단계; 상기 제1 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 제1 블록을 제1 임시 배드 블록으로 설정하는 단계; 상기 제1 독출명령에 응답하여, 상기 제1 임시 배드 블록에 저장된 데이터를 상기 제1 방식과 상이한 제2 방식으로 독출하여, 에러를 체크하고 정정하는 단계; 상기 제2 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 배드 블록으로 설정하는 단계를 포함한다.
Description
본 발명은 메모리 장치, 메모리 시스템 및 이의 독출 방법에 관한 것으로, 특히 독출의 신뢰성 또는 독출 속도를 향상시킬 수 있는 메모리 장치, 메모리 시스템 및 이의 독출 방법에 관한 것이다.
메모리 장치 또는 메모리 시스템에서 처리가 요구되는 데이터의 양이 증가됨에 따라 데이터 처리에 대한 메모리 장치 또는 메모리 시스템에서의 동작 속도의 향상이 중요시 되고 있다.
본 발명이 이루고자 하는 기술적 과제는 동작의 신뢰성 또는 동작 속도를 향상시킬 수 있는 메모리 장치, 메모리 시스템 및 이의 독출 방법을 제공하는 것에 있다.
본 발명의 일 실시예에 따른 메모리 시스템의 독출 방법은 제1 독출명령에 응답하여, 상기 비휘발성 메모리 장치의 제1 블록에 저장된 데이터를 제1 방식으로 독출하여, 에러를 체크하고 정정하는 단계; 상기 제1 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 제1 블록을 제1 임시 배드 블록으로 설정하는 단계; 상기 제1 독출명령에 응답하여, 상기 제1 임시 배드 블록에 저장된 데이터를 상기 제1 방식과 상이한 제2 방식으로 독출하여, 에러를 체크하고 정정하는 단계; 상기 제2 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 배드 블록으로 설정하는 단계를 포함한다.
바람직하게는 상기 제1 방식은 하드 디스젼이고, 상기 제2 방식은 소프트 디시젼인 것을 특징으로 한다.
바람직하게는 상기 비휘발성 메모리 장치에서 전체 용량 대비 데이터가 저장된 블록의 비율이 제1 값보다 작은 경우, 상기 제1 임시 배드 블록에 데이터를 저장하거나 제1 임시 배드 블록으로부터 데이터를 독출하지 않는 것을 특징으로 한다.
바람직하게는 상기 비휘발성 메모리 장치에서 전체 용량 대비 데이터가 저장된 블록의 비율이 제1 값보다 커지는 경우, 상기 제1 임시 배드 블록에 데이터를 저장하거나 제1 임시 배드 블록으로부터 데이터를 독출하는 것을 특징으로 한다.
바람직하게는 상기 제2 방식으로 독출된 데이터의 에러가 정정된 경우, 에러가 정정된 상기 제1 블록의 데이터를 정상 블록인 제2 블록에 기입하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는 상기 제1 임시 배드 블록으로 설정된 상기 제1 블록에 저장된 데이터에 대한 제2 독출 명령에 응답하여, 상기 제2 블록에 저장된 데이터를 독출하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는 상기 제1 임시 배드 블록으로 설정된 상기 제1 블록에 저장된 데이터에 대한 제2 독출 명령에 응답하여, 상기 제1 블록에 저장된 데이터를 상기 제1 방식으로 독출하여 에러를 체크하고 정정하는 단계를 수행하지 아니하고, 상기 제2 방식으로 독출하여 에러를 체크하고 정정하는 것을 특징으로 한다.
바람직하게는 상기 제1 독출 명령에 응답하여, 상기 제1 임시 배드 블록에 저장된 데이터를 상기 제1 방식 및 상기 제2 방식과 상이한 제3 방식으로 독출하여, 에러를 체크하고 정정하는 단계; 상기 제3 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 제2 임시 배드 블록으로 처리하는 단계; 및 상기 제1 독출 명령에 응답하여, 상기 제2 임시 배드 블록에 저장된 데이터를 상기 제2 방식으로 독출하여, 에러를 체크하고 정정하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는 상기 제1 임시 배드 블록, 상기 제2 임시 배드 블록 및 상기 배드 블록에 대한, 기입 명령 또는 제2 독출 명령에 대한 처리를 달리하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 독출 방법.
본 발명의 다른 실시예에 따른 메모리 시스템은, 데이터를 저장할 수 있는 복수의 블록을 포함하는 비휘발성 메모리 셀 어레이; 및 상기 비휘발성 메모리 셀 어레이를 제어하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는, 제1 독출명령에 응답하여, 상기 비휘발성 메모리 장치의 제1 블록에 저장된 데이터를 제1 방식으로 독출하여, 에러를 체크하고 정정하고; 상기 제1 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 제1 록을 제1 임시 배드 블록으로 설정하고; 상기 제1 독출명령에 응답하여, 상기 제1 임시 배드 블록에 저장된 데이터를 상기 제1 방식과 상이한 제2 방식으로 독출하여, 에러를 체크하고 정정하고; 상기 제2 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 배드 블록으로 설정하는 것을 특징으로 한다.
바람직하게는 상기 제1 방식은 하드 디스젼이고, 상기 제2 방식은 소프트 디시젼인 것을 특징으로 한다.
바람직하게는 상기 비휘발성 메모리 장치에서 전체 용량 대비 데이터가 저장된 블록의 비율이 제1 값보다 작은 경우, 상기 제1 임시 배드 블록에 데이터를 저장하거나 제1 임시 배드 블록으로부터 데이터를 독출하지 않는 것을 특징으로 한다.
바람직하게는 상기 제2 방식으로 독출된 데이터의 에러가 정정된 경우, 에러가 정정된 상기 제1 블록의 데이터를 정상 블록인 제2 블록에 기입하는 것을 특징으로 한다.
바람직하게는 상기 제1 임시 배드 블록으로 설정된 상기 제1 블록에 저장된 데이터에 대한 제2 독출 명령에 응답하여, 상기 제2 블록에 저장된 데이터를 독출하는 것을 특징으로 한다.
바람직하게는 상기 제1 임시 배드 블록으로 설정된 상기 제1 블록에 저장된 데이터에 대한 제2 독출 명령에 응답하여, 상기 제1 블록에 저장된 데이터를, 상기 제1 방식으로 독출하여 에러를 체크하고 정정하는 단계를 수행하지 아니하고, 상기 제2 방식으로 독출하여 에러를 체크하고 정정하는 것을 특징으로 한다.
본 발명의 실시예에 따른 메모리 장치, 메모리 시스템 및 이의 독출 방법에 의하면, 소프트 디시젼(soft decision)을 수행한 저장영역에 대해서 추후 독출시간을 줄여, 메모리 시스템의 독출 동작 속도를 향상시킬 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 3은 도 2의 메모리 컨트롤러가 최종 독출 데이터를 생성하는 방법에 대한 구체적인 예를 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 플래시 메모리에 포함되는 메모리 셀 어레이의 구조의 예를 나타내는 도면이다.
도 5은 도 4의 블록의 예를 나타내는 도면이다.
도 6은 도 5의 메모리 셀의 일 예를 나타내는 단면도이다.
도 7은 도 4의 메모리 셀 어레이에 대해 설정되는 프로그램 상태에 따른 문턱 전압의 산포를 나타내는 도면이다.
도 8은 메모리 셀 어레이의 문턱 전압의 산포 변화를 설명하는 도면이다.
도 9는 에러 정정을 위해 수행될 수 있는 소프트 디시젼 동작을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출 방법을 나타내는 순서도이다.
도 11는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 12은 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출 방법을 나타내는 순서도이다.
도 13는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 14는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 15은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블럭도이다.
도 16은 본 발명의 실시예에 따른 메모리 카드를 나타내는 블럭도이다.
도 17는 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
도 18은 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 3은 도 2의 메모리 컨트롤러가 최종 독출 데이터를 생성하는 방법에 대한 구체적인 예를 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 플래시 메모리에 포함되는 메모리 셀 어레이의 구조의 예를 나타내는 도면이다.
도 5은 도 4의 블록의 예를 나타내는 도면이다.
도 6은 도 5의 메모리 셀의 일 예를 나타내는 단면도이다.
도 7은 도 4의 메모리 셀 어레이에 대해 설정되는 프로그램 상태에 따른 문턱 전압의 산포를 나타내는 도면이다.
도 8은 메모리 셀 어레이의 문턱 전압의 산포 변화를 설명하는 도면이다.
도 9는 에러 정정을 위해 수행될 수 있는 소프트 디시젼 동작을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출 방법을 나타내는 순서도이다.
도 11는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 12은 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출 방법을 나타내는 순서도이다.
도 13는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 14는 본 발명의 실시예에 따른 비휘발성 메모리 시스템을 나타내는 블록도이다.
도 15은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블럭도이다.
도 16은 본 발명의 실시예에 따른 메모리 카드를 나타내는 블럭도이다.
도 17는 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
도 18은 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템(Memory System)에서의 독출(Read) 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 독출 방법은, 제1 독출명령에 응답하여, 비휘발성 메모리 장치의 제1 블록에 저장된 데이터를 제1 방식으로 독출하여, 에러를 체크하고 정정하는 단계(S110); 제1 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 제1 블록을 제1 임시 배드 블록으로 설정하는 단계(S120); 제1 독출명령에 응답하여, 제1 임시 배드 블록에 저장된 데이터를 제1 방식과 상이한 제2 방식으로 독출하여, 에러를 체크하고 정정하는 단계(S130); 상기 제2 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 배드 블록으로 설정하는 단계(S140)를 포함한다.
도 2는 본 발명의 실시예에 따른 비휘발성 메모리 시스템(Non-Volatile Memory System)을 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 도 1의 독출 방법은 도 2의 비휘발성 메모리 시스템(100)에서의 독출 방법일 수 있다. 도 2의 메모리 시스템(100)은 데이터를 저장하는 비휘발성 메모리 장치(Non-Volatile Memory Device, MEM) 및 메모리 장치(MEM)의 프로그램(program) 또는 독출(read)를 제어하는 메모리 컨트롤러(Memory Controller, Mctrl)를 포함할 수 있다.
비휘발성 메모리 장치(MEM)는 낸드(NAND) 플래시 메모리(Flash Memory)일 수 있다. 비휘발성 메모리 장치(MEM)는 하나 이상의 메모리 셀 어레이(Memory Cell Array, 120)를 포함할 수 있다. 메모리 셀 어레이(120)는 하나 이상의 메모리 블록(BLK1)을 포함할 수 있다. 메모리 블록(BLK1)은 비휘발성 메모리 장치(MEM)의 이레이즈(erase)의 기본 단위(unit)일 수 있다. 메모리 블록(BLK1)은 하나 이상의 페이지(PAG1)를 포함할 수 있다. 페이지(PAG1)는 비휘발성 메모리 장치(MEM)의 프로그램(program) 또는 독출(read)의 기본 단위 일 수 있다.
비휘발성 메모리 장치(MEM)는 그 밖에, 제어 로직(Control Logic, 미도시), 입출력부(I/O unit, 미도시) 및 전원 생성부(Power Generator, 미도시) 등을 더 구비할 수 있으나, 이에 대한 설명은 생략한다. 비휘발성 메모리 장치(MEM)는 독출 명령(Read Command, RCMD)에 응답하여, 메모리 셀 어레이(120)에 저장된 데이터를 출력한다.
메모리 컨트롤러(Mctrl)는 독출부(Read Unit, 110)를 포함할 수 있다. 독출부(110)는 독출 명령(RCMD)를 생성하여, 메모리 셀 어레이(120)로부터 데이터를 독출한다. 구체적인 독출 동작에 대해서 이하 설명한다.
독출부(110)는 제1 블록(BLK1)의 제1 페이지(PAG1)에 저장된 데이터를 하드 독출 전압(V1)으로 하드 디시젼으로 독출하도록 독출명령(RCMD(V1, PAG1))를 생성할 수 있다. 독출부(110)의 독출명령(RCMD(V1, PAG1))에 대응하여, 독출된 데이터(R_DATA1)는 메모리 컨트롤러(Mctrl)에서 수신할 수 있다. 메모리 컨트롤러(Mctrl)는 하드 디시젼으로 독출시에 에러가 발생하였는지 여부를 판단 할 수 있다.
독출부(110)는 독출된 데이터(R_DATA1)에 에러가 있는 경우, 제1 블록(BLK1)을 제1 임시 배드 블록(Bad Block_lev1)으로 설정하도록 제어 명령(MRK(BLK1, LEV1))을 생성할 수 있다. 독출부(110)는 독출된 데이터(R_DATA1)에 에러가 있는 경우, 제1 페이지(PAG1)를 복수의 소프트 독출 전압(V21, V22)로 독출하도록 독출 명령(RCMD(V21, V22, PAG1))를 생성할 수 있다.
메모리 컨트롤러(Mctrl)는 독출 명령(RCMD(V21, V22, PAG1))에 대응하는 독출 데이터(R_DATA21, R_DATA22)를 수신하여, 최종 독출 데이터(R_OUT)를 생성한다. 메모리 컨트롤러(Mctrl)는 예를 들어, LDPC(Low Density Parity Check)등을 이용하여, 에러 체크 및 정정(Error Check and Correction)을 수행할 수 있다. 이에 대한 구체적인 방법은 도 3에 대한 설명에서 후술한다.
따라서, 본 발명의 일 실시예에 따른 비휘발성 메모리 시스템(100)은 하드 디시젼 명령에 대하여 독출된 데이터(R_DATA1)에 에러가 있고 정정이 되지 않는 경우, 제1 블록(BLK1)를 제1 임시 배드 블록(Bad Block_lev1)으로 설정하도록 제어 명령(MRK(BLK1, LEV1))를 생성하여, 설정된 제1 임시 배드 블록을 활용하여 메모리 장치 또는 메모리 시스템의 동작 속도를 향상시킬 수 있다.
본 발명의 다른 실시예에 따른 비휘발성 메모리 시스템(100)은 제1 방식 독출, 제2 방식 독출에 의하여 독출된 데이터들에 대해서, 각각의 방식에 따른 독출 데이터에 대해서 정정이 되었는지 여부에 따라서, 배드 블록의 종류를 레벨링할 수 있다.
예를 들어, 제1 블록에 포함된 데이터가 제1 방식으로 독출하는 경우, 정정되지 아니하고, 제2 방식으로 독출하는 경우, 정정이 된다면, 제1 임시 배드 블록으로 설정할 수 있고, 제1 블록에 포함된 데이터가 제1 방식 및 제2 방식으로 독출하는 경우, 모두 정정 되지 않는다면, 배드 블록으로 설정할 수 있다.
또한, 제1 임시 배드 블록과 배드 블록에 대응하는 독출 명령에 대해서 다르게 처리 및 관리하여, 메모리 장치 및 메모리 시스템의 동작 속도를 향상시킬 수 있다.
본 발명의 다른 실시예에 따른 비휘발성 메모리 시스템(100)은 제1 방식 독출, 제2 방식 및 제3방식 독출에 의하여 독출된 데이터들에 대해서, 각각의 방식에 따른 독출 데이터에 대해서 정정이 되었는지 여부에 따라서, 배드 블록의 종류를 레벨링할 수 있다.
예를 들어, 제1 블록에 포함된 데이터가 제1 방식으로 독출하는 경우, 정정되지 아니하고, 제2 방식으로 독출하는 경우, 정정이 된다면, 제1 임시 배드 블록으로 설정할 수 있고, 제1 블록에 포함된 데이터가 제1 방식 및 제2 방식으로 독출하는 경우, 정정되지 아니하고, 제3 방식으로 독출하는 경우, 정정이 된다면, 제2 임시 배드 블록으로 설정할 수 있다.
또한, 제1 블록에 포함된 데이터가 제1 방식, 제2 방식 및 제3 방식으로 독출하는 경우, 모두 정정되지 않는다면, 배드 블록으로 설정할 수 있다. 또한, 제1 임시 배드 블록과 제2 임시 배드 블록 및 배드 블록을 다르게 처리 및 관리하여, 메모리 장치 및 메모리 시스템의 동작 속도를 향상시킬 수 있다.
예를 들어, 제1 임시 배드 블록에 대해서는 데이터를 기입하거나 독출하지 않고, 제2 임시 배드 블록에 대해서는 데이터를 기입하지만 독출하지는 않을 수 있다. 또한, 제1 임시 배드 블록에 대해서는 메모리 장치의 전체 용량과 대비하여, 90%에 데이터가 기록되어있으면 사용할 수 있고, 제2 임시 배드 블록에 대해서는 메모리 장치의 전체 용량과 대비하여, 95%에 데이터가 기록되어 있으면 사용할 수 있다. 한편, 배드 블록에 대해서는 데이터를 기입하거나 독출하지 않을 수 있다.
도 3은 도 2의 메모리 컨트롤러(Mctrl)가 최종 독출 데이터(R_OUT)를 생성하는 방법에 대한 구체적인 예를 설명하기 위한 도면이다.
도 3을 참조하면, 제1 페이지(PAG1)의 원본 데이터(original data)를 비트열 1101010(Data_org[0~6])이라고 가정한다. 제1 페이지(PAG1)의 원본 데이터를 저장할때, 원본 데이터를 저장하는 메모리 셀 이외에 신뢰성이 우수한 메모리 셀에 패리티 데이터(Parity Data)를 저장할 수 있다. 예를 들어, 패리티 데이터(Parity Data)는 원본 데이터의 비트열의 산술합(Arithmetical Sum)을 저장할 수 있다. 예를 들어, 패리티 데이터(Parity Data)는 비트열100(Parity[0~2])일 수 있다.
계속하여, 제1 페이지(PAG1)에 저장된 데이터를 하드 독출 전압으로 독출한 데이터(R_DATA1)가 1101000(R_Data1[0~6])이라고 가정한다. 즉, 하드 디시젼에 대응하여 독출한 데이터를 1101000(R_Data1[0~6])이라고 가정한다. 도 2의 메모리 컨트롤러(Mctrl)는 R_Data1[0~6]의 비트열의 산술합(Arithmetical Sum)을 011로 계산할 수 있다. 도 2의 메모리 컨트롤러(Mctrl)는 R_Data1[0~6]의 비트열의 산술합(Arithmetical Sum)인 011이 패리티 데이터 100과 일치하지 않으므로, R_Data1[0~6]의 비트열에는 에러(Error)가 삽입되어 있는 것으로 판단할 수 있다.
계속하여, 도2 의 독출부(110)는 독출된 데이터(R_DATA1)에 에러가 있는 경우, 제1 페이지(PAG1)를 복수의 소프트 독출 전압(V21, V22)로 독출하도록 독출 명령(RCMD(V21, V22, PAG1))를 생성한다. 예를 들어, 소프트 독출 전압(V21)으로 독출한 데이터(R_DATA21)가 1101000(R_Data21[0~6])이고, 소프트 독출 전압(V22)으로 독출한 데이터(R_DATA22)가 1101010(R_Data22[0~6])이라고 가정한다. 도 2의 메모리 컨트롤러(Mctrl)은 독출 데이터(R_DATA21[5])와 독출 데이터(R_DATA22[5])가 일치하지 않을 수 있다. 소프트 디시젼에 대한 보다 구체적인 설명은 도 9에 대한 설명에 서 후술한다.
도 4는 본 발명의 실시예에 따른 플래시 메모리에 포함되는 메모리 셀 어레이의 구조의 예를 나타내는 도면이다.
도 2 및 도 4를 참조하면, 본 발명의 실시예에 따른 메모리 시스템(100)의 비휘발성 메모리 장치(MEM)는 메모리 셀 어레이(120)를 포함할 수 있다. 메모리 셀 어레이(120)는 a(a는 2 이상의 정수)개의 블록들(BLK0~BLKa-1)을 구비하고, 각 블록들(BLK0~BLKa-1)은 b(b는 2 이상의 정수)개의 페이지들(PAG0~PAGb-1)을 구비하며, 각 페이지들(PAG0~PAGb-1)은 c(c는 2 이상의 정수)개의 섹터들(SEC0~SECc-1)을 포함할 수 있다. 도 4에서는 도시의 편의를 위해, 블록 BLK0에 대하여만 페이지들(PAG0~PAGb-1) 및 섹터들(SEC0~SECc-1)을 도시하였으나, 다른 블록들(BLK1~BLKa-1)도 블록 BLK0와 동일한 구조를 가질 수 있다.
도 5은 도 4의 블록의 예를 나타내는 도면이다.
도 4 및 도 5을 참조하면, 도 4의 메모리 셀 어레이(120)가 낸드 플래시 메모리(NAND Flash Memory)인 경우, 블록들(BLK0~BLKa-1)은 각각, 비트 라인(BL0~BLd-1) 방향으로, e개의 메모리 셀(MCEL)들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들로 구비될 수 있다. 각 스트링(STR)은 또한, 각각 직렬로 연결되는 메모리 셀(MCEL)들의 양 끝에 연결되는, 드레인(drain) 선택 트랜지스터(STr1) 및 소스(source) 선택 트랜지스터(STr2)를 포함할 수 있다.
본 발명의 실시예에 따른 비휘발성 메모리 장치(MEM)는 블록 단위로 이레이즈가 수행되고, 각 워드 라인(WL0~WLe-1)에 대응되는 페이지 단위로 프로그램을 수행할 수 있다. 본 발명의 실시예에 따른 비휘발성 메모리 장치(MEM)는 이상에서 설명된 메모리 셀 어레이(120)와 동일한 구조로 동일한 동작을 수행하는 복수개의 메모리 셀 어레이들이 구비될 수도 있다.
도 6은 도 5의 메모리 셀의 일 예를 나타내는 단면도이다.
도 5의 각 메모리 셀(MCEL)은 도 11과 같이 구현될 수 있다. 도 6을 참조하면, 기판(SUB) 상에 소스(S) 및 드레인(D)이 형성되고, 소스(S)와 드레인(D)의 사이에는 채널 영역이 형성될 수 있다. 채널 영역의 상부에는 플로팅 게이트(FG)가 형성되는데, 채널 영역과 플로팅 게이트(FG)의 사이에는 터널링(tunneling) 절연층과 같은 절연층이 배치될 수 있다. 플로팅 게이트(FG)의 상부에는 컨트롤 게이트(CG)가 형성되는데, 플로팅 게이트(FG)와 컨트롤 게이트(CG)의 사이에는 블로킹(blocking) 절연층과 같은 절연층이 배치될 수 있다. 기판(SUB), 소스(S), 드레인(D) 및 컨트롤 게이트(CG)에는 메모리 셀(MCEL)에 대한 프로그램, 소거 및 독출 동작에 필요한 전압들이 인가될 수 있다.
도 5의 플래시 메모리에서는 도 6의 메모리 셀(MCEL)의 문턱 전압(threshold voltage, Vth)의 구별에 의해 메모리 셀(MCEL)에 저장된 데이터가 독출될 수 있다. 메모리 셀(MCEL)의 문턱 전압(Vth)은 플로팅 게이트(FG)에 저장된 전자(electron)의 양에 따라 결정될 수 있다. 예를 들어, 플로팅 게이트(FG)에 저장된 전자가 많을수록 메모리 셀(MCEL)의 문턱 전압은 높아질 수 있다.
메모리 셀(MCEL)의 문턱 전압(Vth)의 일정 범위에 대해, 한 비트, 두 비트 또는 세 비트 이상의 데이터가 설정될 수 있다. 이에 대응되어, 도 5의 각 워드라인에는 하나 또는 둘 이상의 페이지가 설정될 수 있다. 다시 말해, 각 워드라인에 하나 또는 둘 이상의 페이지가 프로그램 될 수 있다.
도 7은 도 4의 메모리 셀 어레이에 대해 설정되는 프로그램 상태에 따른 문턱 전압의 산포를 나타내는 도면이다.
도 7를 참조하면, 본 발명의 실시예에 따른 메모리 시스템(100)은 도 7의 (a)와 같이 각각의 문턱 전압의 범위, 즉 각각의 문턱전압 산포에 대해 하나의 비트의 데이터가 설정되는 비휘발성 메모리 장치(MEM)를 포함할 수 있다. 이와 같은 구조의 낸드 플래시 메모리를 싱글-레벨 셀(SLC: Single-Level Cell) 낸드 플래시 메모리라 한다. SLC 낸드 플래시 메모리의 각 메모리 셀(MCEL)은 한 비트의 데이터가 프로그램 될 수 있다. SLC 낸드 플래시 메모리의 경우, 도 5의 각 워드 라인마다 하나의 페이지가 설정될 수 있다.
또는 본 발명의 실시예에 따른 메모리 시스템(100)은 도 7의 (b) 또는 도 7의 (c)와 같이 각각의 문턱 전압의 범위, 즉 각각의 문턱전압 산포에 대해 둘 이상의 비트의 데이터가 설정되는 비휘발성 메모리 장치(MEM)를 포함할 수 있다. 이와 같은 구조의 낸드 플래시 메모리를 멀티-레벨 셀(MLC: Multi-Level Cell) 낸드 플래시 메모리라 한다. MLC 낸드 플래시 메모리의 각 메모리 셀(MCEL)은 두 비트 이상의 데이터가 프로그램 될 수 있다. MLC 낸드 플래시 메모리의 경우, 도 5의 각 워드 라인마다 두 개 이상의 페이지가 설정될 수 있다.
단, 메모리 셀에 3 비트의 데이터가 프로그램 되는 낸드 플래시 메모리의 경우, TLC(Tripple Level Cell) 낸드 플래시 메모리라 명명하기도 하나, 설명의 편의를 위해, 이하에서는 메모리 셀에 2 비트 이상의 데이터가 프로그램 되는 낸드 플래시 메모리를 MLC 낸드 플래시 메모리로 통칭한다. MLC 낸드 플래시 메모리에서, 4개 이상의 문턱전압 산포를 식별하기 위해, 하드 독출 전압은 3개 이상의 전압 레벨로 설정될 수 있다.
본 발명의 실시예에 따른 메모리 시스템(100)은, 전술한 바와 같이, SLC 낸드 플래시 메모리 또는 MLC 비휘발성 메모리 장치(MEM)를 포함할 수 있다. 다만, 이에 한정되는 것은 아니다. 본 발명의 실시예에 따른 메모리 시스템(100)은 SLC 낸드 플래시 메모리 및 MLC 낸드 플래시 메모리를 함께 구비할 수 있다. 또는 본 발명의 실시예에 따른 비휘발성 메모리 장치(MEM)는 도 8의 다수의 블록(BLK0~BLKa-1) 중 일부는 SLC 방식으로 데이터를 프로그램 하고, 나머지는 MLC 방식으로 데이터를 프로그램 할 수도 있다.
이상에서 설명된 본 발명의 실시예에 따른 플래시 메모리에서, 그 내제된 구조적 한계 및 주변 환경 변화에 따른 다양한 성능 열화가 발생할 수 있다. 예를 들어, 본 발명의 실시예에 따른 플래시 메모리는 도 5의 공통 소스 라인 잡음, 프로그램 및 이레이즈의 반복에 따른 내구성(endurance), 도 11의 플로팅 게이트(FG)에 트랩된 전자의 보유력(retention), 리드 디스터브(read disturb) 현상 및 온도 등에 의해, 도 7와 같이 설정된 문턱전압 산포가 도 8과 같이 변경될 수 있다.
도 8을 참조하면, 도 4의 (a)와 같이, 두 개의 문턱전압 산포(S1, S2)는 두 개의 문턱전압 산포(S1, S2) 사이의 전압 레벨로 설정된 도 2의 하드 디시젼 전압에 의해 식별되었던 것이, 전술된 비휘발성 메모리 장치(MEM)의 성능 열화에 의해, 문턱전압 산포가 도 4의 (b)와 같이 변경될 수 있다. 도 4의 (b)는 제1 문턱전압 산포(S1)가 제1 문턱전압 산포(S2) 방향으로 이동된 예를 보여준다. 도 4의 (b)의 예에서, 하드 디시젼 전압으로 독출을 수행할 경우, 빗금친 부분은 프로그램 된 데이터와 다른 데이터로 독출되는 에러가 발생할 수 있다.
이러한 에러는 ECC 엔진(Error Check and Correction)에 의해 정정될 수 있다. 예를 들어, ECC 엔진은 기입하고자 하는 데이터를 인코딩(encoding)하여 패리티 데이터를 생성하고, 독출된 데이터 및 이에 포함되는 패리티 데이터를 디코딩(decoding)하여 에러를 검출하고 정정할 수 있다.
도 9는 에러 정정을 위해 수행될 수 있는 소프트 디시젼 동작을 설명하기 위한 도면이다.
도 2 및 도 9를 참조하면, 소프트 디시젼 동작은 하드 독출 전압(HRV)을 메모리 셀 어레이의 제1 페이지(PGA1)에 인가하여, 각 메모리 셀의 문턱 전압이 제1 문턱전압 산포(S1) 및 제2 문턱전압 산포(S2) 중 어느 범위에 포함되는지를 식별한다. 하드 독출 전압(HRV)보다 작은 문턱 전압을 갖는 메모리 셀은 1로 식별되고, 하드 독출 전압(HRV)보다 작은 문턱 전압을 갖는 메모리 셀은 0으로 식별될 수 있다.
하드 독출 전압(HRV)은, 제1 문턱전압 산포(S1) 및 제2 문턱전압 산포(S2)를 식별하기 위한 하드 디시젼 전압과 동일한 전압 레벨을 가질 수 있다. 전술한 바와 같이, 문턱전압 산포가 4개 이상인 MLC 플래시 메모리에 대하여는 하드 디시젼 전압이 다수의 전압 레벨을 가질 수 있는데, 이 경우, 하드 독출 전압(HRV)은 다수의 전압 레벨 중 제1 문턱전압 산포(S1) 및 제2 문턱전압 산포(S2)를 식별하기 위한 전압 레벨을 가질 수 있다. 하드 독출 전압(HRV)에 의해 식별된 데이터를 하드 데이터(HD)라 명명할 수 있다.
다음으로, 소프트 디시젼 동작은, 한 쌍을 이루고 각각 하드 독출 전압(HRV)과 제1 전압 값(△V1) 및 제2 전압 값(△V1)의 차이를 갖는 제1 소프트 독출 전압(SRV1a) 및 제2 소프트 독출 전압(SRV1b)을 순차적으로 제1 페이지(PGA1)에 인가하여, 소프트 데이터(SD)를 센싱할 수 있다. 제1 소프트 독출 전압(SRV1a)보다 낮은 문턱 전압을 갖는 메모리 셀은 1로 식별되고, 제1 소프트 독출 전압(SRV1a)보다 높고 제2 소프트 독출 전압(SRV1b)보다 낮은 문턱 전압을 갖는 메모리 셀은 0으로 식별될 수 있다. 그리고, 제2 소프트 독출 전압(SRV1b)보다 높은 문턱 전압을 갖는 메모리 셀은 1로 식별될 수 있다. 소프트 데이터(SDTA)는 제1 소프트 독출 전압(SRV1a)에 따른 메모리 셀의 온-오프에 의한 비트 값과 제2 소프트 독출 전압(SRV1b)에 따른 메모리 셀의 온-오프에 의한 비트 값의 반전된 값을 배타적 논리합 하여 형성될 수 있다.
도 9의 예에서, 하드 데이터(HDTA) 및 소프트 데이터(SDTA)에 근거한 신뢰성 데이터(RDTA)는 구간 ①, ②, ③ 및 ④에 대해 각각 11, 10, 00 및 01의 값을 가질 수 있다. 다만, 이에 한정되는 것은 아니고, 하드 데이터(HDTA) 및 소프트 데이터(SDT)에 근거한 신뢰성 데이터(RDTA)는 다른 값으로 설정될 수도 있다.
메모리 시스템(100)은 신뢰성 데이터(RDTA)가 11로 식별되는 구간 ①에 포함되는 문턱 전압을 갖는 메모리 셀로부터 독출된 데이터(비트)를 스트롱 1(strong 1: 해당 데이터(비트) 값이 1로 식별되고 1일 확률이 높음을 나타냄)로 처리할 수 있다. 즉, 메모리 시스템(100)은 신뢰성 데이터(RDTA)가 11로 식별되는 구간 ①에 포함되는 문턱 전압을 갖는 메모리 셀로부터 독출된 데이터(비트)에 대해 스트롱 1이라는 가중치를 부여할 수 있다. 그리고, 메모리 시스템(100)은 신뢰성 데이터(RDTA)가 10으로 식별되는 구간 ②에 포함되는 문턱 전압을 갖는 메모리 셀로부터 독출된 데이터(비트)를 위크 1(weak 1: 해당 데이터(비트) 값이 1로 식별되나 1일 확률이 낮음을 나타냄)로 처리할 수 있다. 즉, 메모리 시스템(100)은 신뢰성 데이터(RDTA)가 10으로 식별되는 구간 ②에 포함되는 문턱 전압을 갖는 메모리 셀로부터 독출된 데이터(비트)에 대해 위크 1이라는 가중치를 부여할 수 있다.
마찬가지로, 메모리 시스템(100)은 신뢰성 데이터(RDTA)가 00으로 식별되는 구간 ③에 포함되는 문턱 전압을 갖는 메모리 셀로부터 독출된 데이터(비트)를 스트롱 0(해당 데이터(비트) 값이 0으로 식별되고 0일 확률이 높음을 나타냄)으로 가중치를 부여하여 처리하고, 신뢰성 데이터(RDTA)가 01로 식별되는 구간 ④에 포함되는 문턱 전압을 갖는 메모리 셀로부터 독출된 데이터(비트)를 위크 0(해당 데이터(비트) 값이 0으로 식별되나 0일 확률이 낮음을 나타냄)으로 가중치를 부여하여 처리할 수 있다. 이렇게 소프트 디시젼 수행 결과로 얻어지는 가중치는 에러 정정의 기준이 될 수 있다.
도 10은 본 발명의 일 실시예에 따른 메모리 시스템(Memory System)에서의 독출(Read) 방법을 나타내는 순서도이다.
도 10을 참조하면, 본 발명의 실시예에 따른 독출 방법은, 비휘발성 메모리 셀 어레이의 제1 블록에 저장된 데이터를 제1 독출 전압으로 독출하는 제1 독출 단계(S210), 제1 독출시에 에러가 발생하였는지 판단하는 단계(S220), 제1 독출시에 발생한 에러가 정정이 가능한지 판단하는 단계(S225), 제1 독출 데이터를 정정하는 단계(S230)을 포함할 수 있다.
또한, 본 발명의 실시예에 따른 독출 방법은, 제1 독출시에 에러가 발생하고 정정되지 않은 경우, 제1 블록을 제1 임시 배드 블록으로 설정하고, 제1 임시 배드 블록에 저장된 데이터를 복수의 제2 독출 전압으로 독출하는 제2 독출 단계(S240), 제2 독출시에 에러가 발생하였는지 판단하는 단계(S250), 제2 독출시에 발생한 에러가 정정이 가능한지 판단하는 단계(S255), 제2 독출 데이터를 정정하는 단계(S260)를 포함할 수 있다.
또한, 본 발명의 실시예에 따른 독출 방법은, 제2 독출시 에러가 발생하고 정정되지 않은 경우, 제1 블록을 배드 블록으로 설정하는 단계(S270)를 포함할 수 있다.
따라서, 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출(Read) 방법은 제1 독출(예를 들어, 하드 디시젼)으로 에러가 발생하고 정정되지 않은 경우, 제1 블록을 제1 임시 배드 블록으로 일반적인 배드 블록과 구별하여 설정하고, 설정된 제1 임시 배드 블록을 활용하여 메모리 장치 또는 메모리 시스템의 동작 속도를 향상시킬 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출(Read) 방법은 제1 임시 배드 블록과 일반적인 배드 블록과 구별하여 설정하고, 제1 임시 배드 블록을 설정한 이후에 제1 임시 배드 블록에 대한 독출 명령이 있는 경우, 제1 독출시 에러를 검출 또는 정정하지 않고, 제2 독출 단계를 수행하여, 독출 속도를 향상시킬 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출(Read) 방법은 제1 임시 배드 블록과 일반적인 배드 블록과 구별하여 설정하고, 비휘발성 메모리 셀 어레이에서 정상 블록들에 일정부분 이상 데이터가 저장되지 않는 경우, 제1 임시 배드 블록에 데이터를 사용하지 않으므로써, 독출 데이터의 신뢰성을 향상시킬 수 있다.
예를 들어, 정상 블록에 포함된 메모리 셀 중에서 90% 이상 데이터가 저장되지 않은 경우에는, 제1 임시 배드 블록에 데이터를 기입, 독출하지 않을 수 있다. 다른 예에서, 정상 블록에 포함된 메모리 셀 중에서 95% 이상 데이터가 저장되지 않은 경우에는, 제1 임시 배드 블록에 데이터를 기입, 독출하지 않을 수 있다.
도 11는 본 발명의 실시예에 따른 비휘발성 메모리 시스템(Non-Volatile Memory System, 200)을 나타내는 블록도이다.
도 10 및 도 11를 참조하면, 도 10의 독출 방법은 도 11의 비휘발성 메모리 시스템(200)에서의 독출 방법일 수 있다. 도 11의 메모리 시스템(200)은 데이터를 저장하는 비휘발성 메모리 장치(Non-Volatile Memory Device, MEM) 및 메모리 장치(MEM)의 프로그램(program) 또는 독출(read)를 제어하는 메모리 컨트롤러(Memory Controller, Mctrl)를 포함할 수 있다. 도 11의 비휘발성 메모리 장치(MEM) 및 메모리 컨트롤러(Mctrl)은 도 2의 비휘발성 메모리 장치(MEM) 및 메모리 컨트롤러(Mctrl)과 유사하게 동작할 수 있다. 이하 중복되는 설명은 생략한다.
메모리 컨트롤러(Mctrl)는 독출부(Read Unit, 210), 제1 판단부(Determination Unit, 230) 및 제2 판단부(Determination Unit, 250)를 포함할 수 있다. 독출부(210)는 독출 명령(RCMD)를 생성하여, 메모리 셀 어레이(220)로부터 데이터를 독출한다. 구체적인 독출 동작에 대해서 이하 설명한다.
독출부(210)는 제1 블록(BLK1)의 제1 페이지(PAG1)에 저장된 데이터를 하드 독출 전압(V1)으로 하드 디시젼으로 독출하도록 독출명령(RCMD(V1, PAG1))를 생성할 수 있다. 독출부(110)의 독출명령(RCMD(V1, PAG1))에 대응하여, 독출된 데이터(R_DATA1)는 제1 판단부(230)에서 수신할 수 있다. 제1 판단부(230)는 하드 디시젼으로 독출시에 에러가 발생하였고, 에러를 정정할 수 없는지를 판단하여, 판단 결과(DET(R_DATA1))를 생성할 수 있다.
독출부(210)는 독출된 데이터(R_DATA1)에 에러가 발생하였고, 에러를 정정할 수 없는 경우, 제1 블록(BLK1)를 제1 임시 배드 블록(Bad Block_lev1)으로 설정하도록 제어 명령(MRK(BLK1, LEV1))를 생성할 수 있다. 독출부(210)는 독출된 데이터(R_DATA1)에 에러가 발생하였고, 에러를 정정할 수 없는 경우, 제1 페이지(PAG1)를 복수의 소프트 독출 전압(V21, V22)로 독출하도록 독출 명령(RCMD(V21, V22, PAG1))를 생성할 수 있다.
제1 판단부(250)는 독출 명령(RCMD(V21, V22, PAG1))에 대응하는 독출 데이터(R_DATA21, R_DATA22)를 수신하여, 최종 독출 데이터(R_OUT)를 생성한다. 메모리 컨트롤러(Mctrl)는 예를 들어, LDPC(Low Density Parity Check)등을 이용하여, 에러 체크 및 정정(Error Check and Correction)을 수행할 수 있다.
따라서, 본 발명의 일 실시예에 따른 비휘발성 메모리 시스템(200)은 하드 디시젼 명령에 대하여 독출된 데이터(R_DATA1)에 에러가 있고 정정이 되지 않는 경우, 제1 블록(BLK1)를 제1 임시 배드 블록(Bad Block_lev1)으로 설정하도록 제어 명령(MRK(BLK1, LEV1))를 생성하여, 설정된 제1 임시 배드 블록을 활용하여 메모리 장치 또는 메모리 시스템의 동작 속도를 향상시킬 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 메모리 시스템(200)은 제1 임시 배드 블록과 일반적인 배드 블록과 구별하여 설정하고, 제1 임시 배드 블록을 설정한 이후에 제1 임시 배드 블록에 대한 독출 명령이 있는 경우, 제1 독출시 에러를 검출 또는 정정하지 않고, 제2 독출 단계를 수행하여, 독출 속도를 향상시킬 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 메모리 시스템(200)은 제1 임시 배드 블록과 일반적인 배드 블록과 구별하여 설정하고, 비휘발성 메모리 셀 어레이에서 정상 블록들에 일정부분 이상 데이터가 저장되지 않는 경우, 제1 임시 배드 블록에 데이터를 사용하지 않으므로써, 독출 데이터의 신뢰성을 향상시킬 수 있다.
예를 들어, 정상 블록에 포함된 메모리 셀 중에서 90% 이상 데이터가 저장되지 않은 경우에는, 제1 임시 배드 블록에 데이터를 기입, 독출하지 않을 수 있다. 다른 예에서, 정상 블록에 포함된 메모리 셀 중에서 95% 이상 데이터가 저장되지 않은 경우에는, 제1 임시 배드 블록에 데이터를 기입, 독출하지 않을 수 있다.
도 12은 본 발명의 일 실시예에 따른 메모리 시스템(Memory System)에서의 독출(Read) 방법을 나타내는 순서도이다.
도 12을 참조하면, 본 발명의 실시예에 따른 독출 방법은, 도 10의 독출 방법과 유사하다. 다만, 제2 독출 데이터를 정정하는 단계(S360) 이후에, 제1 블록에 저장된 데이터를 정상블록인 제2블록에 저장하는 단계(S380)를 더 포함할 수 있다.
따라서, 본 발명의 일 실시예에 따른 메모리 시스템에서의 독출(Read) 방법은 제1 독출(예를 들어, 하드 디시젼)으로 에러가 발생하고 정정되지 않은 경우, 제1 블록을 제1 임시 배드 블록으로 일반적인 배드 블록과 구별하여 설정하고, 제1 임시 배드 블록은 사용하지 않고, 제1 임시 배드 블록에 저장된 데이터를 제2 블록에 저장하여 사용할 수 있다. 따라서, 본 발명의 일 실시예에 따른 메모리 시스템은 독출속도를 향상시킬 수 있다.
도 13는 본 발명의 실시예에 따른 비휘발성 메모리 시스템(Non-Volatile Memory System, 300)을 나타내는 블록도이다.
도 12 및 도 13를 참조하면, 도 12의 독출 방법은 도 13의 비휘발성 메모리 시스템(300)에서의 독출 방법일 수 있다. 도 13의 메모리 시스템(300)은 비휘발성 메모리 장치(Non-Volatile Memory Device, MEM) 및 메모리 컨트롤러(Memory Controller, Mctrl)를 포함할 수 있다. 도 13의 비휘발성 메모리 장치(MEM) 및 메모리 컨트롤러(Mctrl)은 도 2의 비휘발성 메모리 장치(MEM) 및 메모리 컨트롤러(Mctrl)과 유사하게 동작할 수 있다. 이하 중복되는 설명은 생략한다.
비휘발성 메모리 장치(MEM)는 하나 이상의 메모리 셀 어레이(320)를 포함할 수 있다. 메모리 셀 어레이(320)는 메모리 블록(BLK1) 및 메모리 블록(BLK2)을 포함할 수 있다.
메모리 컨트롤러(Mctrl)는 독출부(Read Unit, 310)를 포함할 수 있다. 독출부(310)의 동작은 도 2의 독출부(110)의 동작과 유사하다. 메모리 컨트롤러(Mctrl)는 독출 명령(RCMD(V21, V22, PAG1))에 대응하는 독출 데이터(R_DATA21, R_DATA22)를 수신하여, 최종 독출 데이터(R_OUT)를 생성한다. 메모리 컨트롤러(Mctrl)는 제1 임시 배드 블록(Bad Block_lev1)의 데이터를 제2 블록(BLK2)에 저장 할 수 있다.
본 발명의 일 실시예에 따른 비휘발성 메모리 시스템(300)은 하드 디시젼 명령에 대하여 독출된 데이터(R_DATA1)에 에러가 있고 정정이 되지 않는 경우, 제1 블록(BLK1)를 제1 임시 배드 블록(Bad Block_lev1)으로 설정하고, 설정된 제1 임시 배드 블록의 데이터를 제2 블록(BLK2)에 저장하여 메모리 장치 또는 메모리 시스템의 동작 속도를 향상시킬 수 있다.
도 14는 본 발명의 실시예에 따른 비휘발성 메모리 시스템(Non-Volatile Memory System)을 나타내는 블록도이다.
도 14의 메모리 시스템(400)은 데이터를 저장하는 비휘발성 메모리 장치(Non-Volatile Memory Device, MEM) 및 메모리 장치(MEM)의 프로그램(program) 또는 독출(read)를 제어하는 메모리 컨트롤러(Memory Controller, Mctrl)를 포함할 수 있다.
비휘발성 메모리 장치(MEM)는 도 2의 비휘발성 메모리 장치(MEM)와 달리, 온 칩 컨트롤러(On Chip Controller, 440)을 포함할 수 있다. 온 칩 컨트롤러(440)는 독출부(410)를 포함할 수 있다. 독출부(410)는 메모리 컨트롤러(Mctrl)로부터 독출 명령(RCMD(PAG1))를 수신하여, 메모리 셀 어레이(420)로부터 데이터를 독출한다. 구체적인 독출 동작에 대해서 이하 설명한다.
독출부(410)는 제1 블록(BLK1)의 제1 페이지(PAG1)에 저장된 데이터를 하드 독출 전압(V1)으로 하드 디시젼으로 독출하도록 독출명령(READ(V1))를 생성할 수 있다. 독출부(410)의 독출명령(READ(V1))에 대응하여, 독출된 데이터(R_DATA1)는 온 칩 컨트롤러(440)에서 수신할 수 있다. 온 칩 컨트롤러(440)는 하드 디시젼으로 독출시에 에러가 발생하였는지 여부를 판단하여, 판단 결과(DET(R_DATA1))를 생성할 수 있다.
독출부(410)는 독출된 데이터(R_DATA1)에 에러가 있는 경우, 제1 블록(BLK1)를 제1 임시 배드 블록(Bad Block_lev1)으로 설정하도록 제어 명령(MRK(BLK1, LEV1))를 생성할 수 있다. 독출부(410)는 독출된 데이터(R_DATA1)에 에러가 있는 경우, 제1 페이지(PAG1)를 복수의 소프트 독출 전압(V21, V22)로 독출하도록 독출 명령(READ(V21, V22)를 생성할 수 있다.
온 칩 컨트롤러(440)는 독출 명령(READ(V21, V22))에 대응하는 독출 데이터(R_DATA21, R_DATA22)를 수신하여, 최종 독출 데이터(R_OUT)를 생성한다. 따라서, 본 발명의 비휘발성 메모리 시스템(400)은 온 칩 컨트롤러(440)에 의하여 독출명령이 수행될 수 있다.
도 15은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블럭도이다.
본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)은 버스(BUS)에 전기적으로 연결된 프로세서(CPU), 사용자 인터페이스(UI) 및 메모리 시스템(MSYS)을 구비한다. 메모리 시스템(MSYS)은 메모리 컨트롤러(Ctrl) 및 비휘발성 메모리 장치(MEM)를 포함한다. 비휘발성 메모리 장치(MEM)에는 프로세서(CPU)에 의해서 처리된 또는 처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가, 메모리 컨트롤러(Ctrl)를 통해, 저장될 것이다. 도 15의 메모리 시스템(MSYS)은 도 2 등의 메모리 시스템(100)과 같을 수 있다. 따라서, 컴퓨팅 시스템(CSYS)에 의하면, 메모리 시스템(100)의 독출의 신뢰성을 향상시킬 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)는 파워 공급 장치(PS)를 더 구비할 수 있다. 또한, 비휘발성 메모리 장치(MEM)가 도 2등의 프로그램 방법으로 프로그램을 수행하는 플래시 메모리 장치일 경우, 본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)은 휘발성 메모리 장치(예를 들어, RAM)을 더 구비할 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리 및 베이스밴드 칩셋(baseband chipset)과 같은 모뎀이 추가적으로 제공될 수 있다. 또한, 본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다.
도 16은 본 발명의 실시예에 따른 메모리 카드를 나타내는 블럭도이다.
도 16을 참조하면, 본 발명의 실시예에 따른 메모리 카드(MCRD)는, 메모리 컨트롤러(Ctrl) 및 비휘발성 메모리 장치(MEM)를 구비한다. 메모리 컨트롤러(Ctrl)는 입출력 수단(I/O)를 통해 수신되는 외부의 호스트(미도시)의 요청에 응답하여 비휘발성 메모리 장치(MEM)로의 데이터 기입 또는 비휘발성 메모리 장치(MEM)로부터의 데이터 리드를 제어한다. 또한, 메모리 컨트롤러(Ctrl)는 비휘발성 메모리 장치(MEM)에 대한 소거 동작을 제어한다. 본 발명의 실시예에 따른 메모리 카드(MCRD)의 메모리 컨트롤러(Ctrl)는 상기와 같은 제어 동작을 수행하기 위해, 각각 호스트 및 메모리 장치와의 인터페이스를 수행하는 인터페이스부들(미도시), 및 램(RAM) 등을 구비할 수 있다. 본 발명의 실시예에 따른 메모리 카드(MCRD)는 도 2 등의 메모리 시스템(100)으로 구현될 수 있다.
도 16의 메모리 카드(MCRD)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다. 따라서, 도 16의 메모리 카드(MCRD)에 의하면, 메모리 시스템(100)의 리드의 신뢰성을 향상시키면서도 시스템의 오버헤드를 줄일 수 있다.
도 17는 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
도 17를 참조하면, 본 발명의 실시예에 따른 SSD는 SSD 컨트롤러(SCTL) 및 비휘발성 메모리 장치(MEM)를 포함한다. SSD 컨트롤러(SCTL)는 버스(BUS)로 연결되는 프로세서(PROS), 램(RAM), 캐쉬 버퍼(CBUF) 및 메모리 컨트롤러(Ctrl)를 구비할 수 있다. 프로세서(PROS)는 호스트(미도시)의 요청(명령, 어드레스, 데이터)에 응답하여 메모리 컨트롤러(Ctrl)가 비휘발성 메모리 장치(MEM)와 데이터를 송수신하도록 제어한다. 본 발명의 실시예에 따른 SSD의 프로세서(PROS) 및 메모리 컨트롤러(Ctrl)는 하나의 ARM 프로세서로 구현될 수도 있다. 프로세서(PROS)의 동작에 필요한 데이터는 램(RAM)에 로딩될 수 있다.
호스트 인터페이스(HOST I/F)는 호스트의 요청을 수신하여 프로세서(PROS)로 전송하거나, 비휘발성 메모리 장치(MEM)로부터 전송된 데이터를 호스트로 전송한다. 호스트 인터페이스(HOST I/F)는 USB(Universal Serial Bus), MMC(Man Machine Communication), PCI-E(Peripheral Component Interconnect-Express), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Device Interface), 그리고 IDE(Intelligent Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜로, 호스트와 인터페이스 할 수 있다. 비휘발성 메모리 장치(MEM)로 전송하고자 하거나, 비휘발성 메모리 장치(MEM)로부터 전송된 데이터는 캐쉬 버퍼(CBUF)에 임시로 저장될 수 있다. 캐쉬 버퍼(CBUF)는 SRAM 등일 수 있다.
본 발명의 실시예에 따른 SSD는 도 2 등의 메모리 시스템(100)으로 구현될 수 있다. 따라서, 도 17의 SSD에 의하면, 리드의 신뢰성을 향상시키면서도 독출 속도를 증가시킬 수 있다.
도 18은 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다.
도 18을 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(NSYS)은 네트워크를 통해 연결되는 서버 시스템(SSYS) 및 다수의 단말들(TEM1~TEMn)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(SSYS)은 네트워크에 연결되는 다수의 단말들(TEM1~TEMn)로부터 수신되는 요청을 처리하는 서버(SERVER) 및 단말들(TEM1~TEMn)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD를 포함하는 구비할 수 있다. 이때, 도 18의 SSD는 도 17의 SSD일 수 있다. 즉, 도 18의 SSD는 SSD 컨트롤러(SCTL) 및 비휘발성 메모리 장치(MEM)를 포함하고, 비휘발성 메모리 장치(MEM)는 도 1 등의 리드 방법으로 리드를 수행하는 플래시 메모리 장치일 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (15)
- 비휘발성 메모리 장치를 포함하는 비휘발성 메모리 시스템의 독출 방법에 있어서,
제1 독출 명령에 응답하여, 상기 비휘발성 메모리 장치의 제1 블록에 저장된 데이터를 제1 방식으로 독출하여, 에러를 체크하고 정정하는 단계;
상기 제1 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 제1 블록을 제1 임시 배드 블록으로 설정하는 단계;
제2 독출 명령에 응답하여, 상기 제1 임시 배드 블록에 저장된 데이터를 상기 제1 방식과 상이한 제2 방식으로 독출하여, 에러를 체크하고 정정하는 단계;
상기 제2 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 배드 블록으로 설정하는 단계를 포함하며,
상기 비휘발성 메모리 장치에서 전체 용량 대비 데이터가 저장된 블록의 비율이 제1 값보다 커지는 경우, 상기 제1 임시 배드 블록에 데이터를 저장하거나 제1 임시 배드 블록으로부터 데이터를 독출하는 것을 특징으로 하는 메모리 시스템의 독출 방법. - 제1항에 있어서, 상기 제1 방식은 하드 디시젼이고, 상기 제2 방식은 소프트 디시젼인 것을 특징으로 하는 메모리 시스템의 독출 방법.
- 삭제
- 삭제
- 제1항에 있어서, 상기 제2 방식으로 독출된 데이터의 에러가 정정된 경우, 에러가 정정된 상기 제1 블록의 데이터를 정상 블록인 제2 블록에 기입하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 독출 방법.
- 제5항에 있어서, 상기 제1 임시 배드 블록으로 설정된 상기 제1 블록에 저장된 데이터에 대한 제3 독출 명령에 응답하여, 상기 제2 블록에 저장된 데이터를 독출하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 독출 방법.
- 제1항에 있어서, 상기 제1 임시 배드 블록으로 설정된 상기 제1 블록에 저장된 데이터에 대한 제2 독출 명령에 응답하여, 상기 제1 블록에 저장된 데이터를 상기 제1 방식으로 독출하여 에러를 체크하고 정정하는 단계를 수행하지 아니하고, 상기 제2 방식으로 독출하여 에러를 체크하고 정정하는 것을 특징으로 하는 메모리 시스템의 독출 방법.
- 제1항에 있어서, 상기 제2 독출 명령에 응답하여, 상기 제1 임시 배드 블록에 저장된 데이터를 상기 제1 방식 및 상기 제2 방식과 상이한 제3 방식으로 독출하여, 에러를 체크하고 정정하는 단계;
상기 제3 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 제2 임시 배드 블록으로 처리하는 단계; 및
제3 독출 명령에 응답하여, 상기 제2 임시 배드 블록에 저장된 데이터를 상기 제2 방식으로 독출하여, 에러를 체크하고 정정하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 독출 방법. - 제8항에 있어서, 상기 제1 임시 배드 블록, 상기 제2 임시 배드 블록 및 상기 배드 블록에 대한, 기입 또는 독출에 대한 처리를 달리하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 독출 방법.
- 데이터를 저장할 수 있는 복수의 블록을 포함하는 비휘발성 메모리 셀 어레이; 및 상기 비휘발성 메모리 셀 어레이를 제어하는 메모리 컨트롤러를 포함하는 메모리 시스템에 있어서,
상기 메모리 컨트롤러는,
제1 독출명령에 응답하여, 상기 비휘발성 메모리 셀 어레이의 제1 블록에 저장된 데이터를 제1 방식으로 독출하여, 에러를 체크하고 정정하고;
상기 제1 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 제1 블록을 제1 임시 배드 블록으로 설정하고;
제2 독출명령에 응답하여, 상기 제1 임시 배드 블록에 저장된 데이터를 상기 제1 방식과 상이한 제2 방식으로 독출하여, 에러를 체크하고 정정하고;
상기 제2 방식으로 독출된 데이터의 에러가 정정되지 아니하는 경우, 상기 제1 임시 배드 블록을 배드 블록으로 설정하며;
상기 비휘발성 메모리 셀 어레이에서 전체 용량 대비 데이터가 저장된 블록의 비율이 제1 값보다 작은 경우, 상기 제1 임시 배드 블록에 데이터를 저장하거나 제1 임시 배드 블록으로부터 데이터를 독출하지 않는 것을 특징으로 하는 메모리 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130072708A KR102252379B1 (ko) | 2013-06-24 | 2013-06-24 | 메모리 시스템 및 이의 독출 방법 |
US14/312,214 US9478298B2 (en) | 2013-06-24 | 2014-06-23 | Memory system and method of reading data thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130072708A KR102252379B1 (ko) | 2013-06-24 | 2013-06-24 | 메모리 시스템 및 이의 독출 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150000358A KR20150000358A (ko) | 2015-01-02 |
KR102252379B1 true KR102252379B1 (ko) | 2021-05-14 |
Family
ID=52112009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130072708A KR102252379B1 (ko) | 2013-06-24 | 2013-06-24 | 메모리 시스템 및 이의 독출 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9478298B2 (ko) |
KR (1) | KR102252379B1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014140111A (ja) * | 2013-01-21 | 2014-07-31 | Sony Corp | コントローラ、情報処理システム、コントローラの制御方法およびプログラム |
US20150256916A1 (en) * | 2014-03-04 | 2015-09-10 | Knowles Electronics, Llc | Programmable Acoustic Device And Method For Programming The Same |
KR102190241B1 (ko) * | 2014-07-31 | 2020-12-14 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
US10019314B2 (en) | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
CN107391026B (zh) | 2016-04-27 | 2020-06-02 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
CN111679787B (zh) | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
US10133664B2 (en) | 2016-04-27 | 2018-11-20 | Silicon Motion Inc. | Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips |
US10289487B2 (en) | 2016-04-27 | 2019-05-14 | Silicon Motion Inc. | Method for accessing flash memory module and associated flash memory controller and memory device |
US20200160165A1 (en) * | 2018-06-26 | 2020-05-21 | Vishal Sarin | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array |
US10936456B1 (en) | 2019-02-20 | 2021-03-02 | Apple Inc. | Handling malfunction in a memory system comprising a nonvolatile memory by monitoring bad-block patterns |
CN113127238B (zh) * | 2019-12-30 | 2024-02-09 | 北京懿医云科技有限公司 | 数据库中导出数据的方法及装置、介质和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110258371A1 (en) | 2010-04-19 | 2011-10-20 | Tsung-Chieh Yang | Method for performing memory access management, and associated memory device and controller thereof |
US20130159785A1 (en) * | 2011-12-16 | 2013-06-20 | Daisuke Hashimoto | Semiconductor storage device, method for controlling the same and control program |
US20130346671A1 (en) | 2012-06-22 | 2013-12-26 | Winbond Electronics Corporation | On-Chip Bad Block Management for NAND Flash Memory |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333364B2 (en) * | 2000-01-06 | 2008-02-19 | Super Talent Electronics, Inc. | Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory |
US6757848B2 (en) * | 2001-06-19 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Recovery of user data from partially incorrect data set in tape data storage system |
JP4158526B2 (ja) | 2003-01-09 | 2008-10-01 | 松下電器産業株式会社 | メモリカード及びメモリへのデータ書き込み方法 |
JP4404625B2 (ja) * | 2003-12-25 | 2010-01-27 | パナソニック株式会社 | 情報処理装置および該装置用のromイメージ生成装置 |
JP4722839B2 (ja) | 2004-05-19 | 2011-07-13 | パナソニック株式会社 | メモリ制御回路、不揮発性記憶装置及びメモリ制御方法 |
US7861122B2 (en) * | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
US20070294588A1 (en) * | 2006-05-09 | 2007-12-20 | Coulson Richard L | Performing a diagnostic on a block of memory associated with a correctable read error |
KR100888695B1 (ko) | 2007-02-27 | 2009-03-16 | 삼성전자주식회사 | 과표본화 읽기 동작을 수행하는 플래시 메모리 장치 및그것의 데이터 독출 방법 |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
KR101378365B1 (ko) | 2008-03-12 | 2014-03-28 | 삼성전자주식회사 | 하이브리드 메모리 데이터 검출 장치 및 방법 |
US7788541B2 (en) * | 2008-04-15 | 2010-08-31 | Dot Hill Systems Corporation | Apparatus and method for identifying disk drives with unreported data corruption |
US8169825B1 (en) * | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
JP2011197957A (ja) | 2010-03-18 | 2011-10-06 | Toshiba Corp | 誤り訂正符号復号装置及び誤り訂正符号復号方法 |
KR101080191B1 (ko) | 2010-03-18 | 2011-11-07 | 스티븐 상근 오 | 웨어레벨링 방법 |
KR101672293B1 (ko) | 2010-05-11 | 2016-11-03 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이의 리드 동작 방법 및 이를 포함하는 장치들 |
US8451664B2 (en) * | 2010-05-12 | 2013-05-28 | Micron Technology, Inc. | Determining and using soft data in memory devices and systems |
US20120240007A1 (en) | 2010-10-20 | 2012-09-20 | Stec, Inc. | Ldpc decoding for solid state storage devices |
KR101792868B1 (ko) | 2010-11-25 | 2017-11-02 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 읽기 방법 |
KR101736337B1 (ko) | 2011-02-28 | 2017-05-30 | 삼성전자주식회사 | 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법 |
KR20130102397A (ko) * | 2012-03-07 | 2013-09-17 | 삼성전자주식회사 | 플래시 메모리 및 플래시 메모리에서의 리드 방법 |
US9021332B2 (en) * | 2012-12-11 | 2015-04-28 | Seagate Technology Llc | Flash memory read error recovery with soft-decision decode |
-
2013
- 2013-06-24 KR KR1020130072708A patent/KR102252379B1/ko active IP Right Grant
-
2014
- 2014-06-23 US US14/312,214 patent/US9478298B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110258371A1 (en) | 2010-04-19 | 2011-10-20 | Tsung-Chieh Yang | Method for performing memory access management, and associated memory device and controller thereof |
US20130159785A1 (en) * | 2011-12-16 | 2013-06-20 | Daisuke Hashimoto | Semiconductor storage device, method for controlling the same and control program |
US20130346671A1 (en) | 2012-06-22 | 2013-12-26 | Winbond Electronics Corporation | On-Chip Bad Block Management for NAND Flash Memory |
Also Published As
Publication number | Publication date |
---|---|
US20140380129A1 (en) | 2014-12-25 |
KR20150000358A (ko) | 2015-01-02 |
US9478298B2 (en) | 2016-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102252379B1 (ko) | 메모리 시스템 및 이의 독출 방법 | |
KR101835605B1 (ko) | 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법 | |
US8036035B2 (en) | Erase cycle counter usage in a memory device | |
US11474748B2 (en) | Compound feature generation in classification of error rate of data retrieved from memory cells | |
US8479083B2 (en) | Flash memory devices having multi-bit memory cells therein with improved read reliability | |
KR101736792B1 (ko) | 플래시 메모리 및 그것의 셀프 인터리빙 방법 | |
KR102083491B1 (ko) | 메모리 장치, 메모리 시스템 및 이의 동작 방법 | |
US20200151058A1 (en) | Providing data of a memory system based on an adjustable error rate | |
US20120134207A1 (en) | Non-Volatile Memory Device And Read Method Thereof | |
US11145357B2 (en) | Memory system, memory controller and method for operating memory system | |
US11887681B2 (en) | Performing selective copyback in memory devices | |
US12072762B2 (en) | Error-handling management during copyback operations in memory devices | |
US20230176741A1 (en) | Validating read level voltage in memory devices | |
KR20210079555A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
CN113806254B (zh) | 存储器系统、存储器控制器及存储器系统的操作方法 | |
KR20130030099A (ko) | 플래시 메모리 시스템 및 플래시 메모리 시스템의 독출 방법 | |
US20240071521A1 (en) | Memory device producing metadata characterizing applied read voltage level with respect to voltage distributions | |
CN114765047A (zh) | 非易失性存储器装置中的软读取阈值估计的高斯建模 | |
US7944755B2 (en) | Erase verify in memory devices | |
CN115705896A (zh) | 在存储器装置中的读取操作期间的电荷损失补偿 | |
US11444637B2 (en) | Self-adaptive low-density parity check hard decoder | |
US11934266B2 (en) | Memory compaction management in memory devices | |
US20240071554A1 (en) | Block family error avoidance bin scans after memory device power-on | |
US20240242754A1 (en) | Implementing global wordline bias voltages for read state transitions | |
US20230359388A1 (en) | Memory read calibration based on memory device-originated metadata characterizing voltage distributions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |