KR20110043210A - 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템 - Google Patents

불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20110043210A
KR20110043210A KR1020090100234A KR20090100234A KR20110043210A KR 20110043210 A KR20110043210 A KR 20110043210A KR 1020090100234 A KR1020090100234 A KR 1020090100234A KR 20090100234 A KR20090100234 A KR 20090100234A KR 20110043210 A KR20110043210 A KR 20110043210A
Authority
KR
South Korea
Prior art keywords
read
memory cell
read data
error
data symbol
Prior art date
Application number
KR1020090100234A
Other languages
English (en)
Other versions
KR101601849B1 (ko
Inventor
이기준
손홍락
공준진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090100234A priority Critical patent/KR101601849B1/ko
Priority to US12/769,692 priority patent/US8448048B2/en
Publication of KR20110043210A publication Critical patent/KR20110043210A/ko
Application granted granted Critical
Publication of KR101601849B1 publication Critical patent/KR101601849B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory

Abstract

본 발명은 불휘발성 메모리 장치에 관한 것이다. 본 발명의 불휘발성 메모리 장치는 셀 당 하나 또는 그 이상의 비트를 저장하도록 구성되는 메모리 셀 어레이, 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로, 메모리 셀 어레이의 선택 메모리 셀의 읽기 동작을 적어도 두 번 수행하고, 읽기 동작의 결과로서 읽기 데이터 심볼을 출력하도록 상기 읽기 및 쓰기 회로를 제어하는 제어 로직, 그리고 읽기 데이터 심볼의 패턴에 기반하여 상기 읽기 데이터 심볼의 에러를 정정하고, 에러 정정된 심볼을 출력하도록 구성되는 에러 정정부를 포함한다.

Description

불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템{NONVOLATILE MEMORY DEVICE, METHOD OF READING THE SAME, AND MEMORY SYSTEM INCLUDING THE SAME}
본 발명은 반도체 메모리에 관한 것으로, 더 상세하게는 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다. 플래시 메모리 장치는 크게 노어 타입과 낸드 타입으로 구분된다.
본 발명의 목적은 향상된 신뢰성을 갖는 불휘발성 메모리 장치 및 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템을 제공하는 데에 있다.
본 발명의 다른 목적은 향상된 집적도를 갖는 불휘발성 메모리 장치 및 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템을 제공하는 데에 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 셀 당 하나 또는 그 이상의 비트를 저장하도록 구성되는 메모리 셀 어레이; 상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로; 상기 메모리 셀 어레이의 선택 메모리 셀의 읽기 동작을 적어도 두 번 수행하고, 상기 읽기 동작의 결과로서 읽기 데이터 심볼을 출력하도록 상기 읽기 및 쓰기 회로를 제어하는 제어 로직; 그리고 상기 읽기 데이터 심볼의 패턴에 기반하여 상기 읽기 데이터 심볼의 에러를 정정하고, 에러 정정된 심볼을 출력하도록 구성되는 에러 정정부를 포함한다.
실시 예로서, 상기 읽기 동작 시에, 상기 선택 메모리 셀에 인가되는 읽기 전압이 조절된다.
실시 예로서, 상기 에러 정정부는 상기 읽기 데이터 심볼의 천이 비트를 검출하고, 그리고 상기 검출된 천이에 기반하여 상기 에러를 정정하도록 구성된다.
실시 예로서, 상기 에러 정정부는 미리 설정된 심볼들을 저장하고, 상기 읽기 데이터 심볼을 상기 미리 설정된 심볼들과 각각 비교하고, 그리고 상기 비교 결과에 따라 상기 읽기 데이터 심볼의 에러를 정정하도록 구성된다.
본 발명의 실시 예에 따른 메모리 시스템은 불휘발성 메모리 장치; 그리고 상기 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러를 포함하고, 상기 불휘발성 메모리 장치는 셀 당 하나 또는 그 이상의 비트를 저장하도록 구성되는 메모리 셀 어레이; 상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로; 상기 메모리 셀 어레이의 선택 메모리 셀의 읽기 동작을 적어도 두 번 수행하고, 그리고 상기 읽기 동작의 결과로서 읽기 데이터 심볼을 출력하도록 상기 읽기 및 쓰기 회로를 제어하는 제어 로직; 그리고 상기 읽기 데이터 심볼의 패턴에 기반하여 상기 읽기 데이터 심볼의 에러를 정정하고, 에러 정정된 심볼을 출력하도록 구성되는 에러 정정부를 포함하고, 상기 컨트롤러는 상기 에러 정정된 심볼의 연판정함으로써 상기 선택된 메모리 셀의 데이터를 판별하도록 구성되는 연판정 로직을 포함한다.
실시 예로서, 상기 에러 정정된 심볼의 각 비트는 제 1 값 및 제 2 값 중 하나를 갖고, 상기 연판정 로직은 상기 읽기 데이터 심볼의 비트들이 순차적으로 입력되는 동안 상기 제 1 값의 수를 카운트하고, 그리고 상기 카운트값의 우도(likelihood)를 계산하도록 구성된다.
실시 예로서, 상기 불휘발성 메모리 장치 및 상기 컨트롤러는 반도체 드라이브(SSD, Solid State Drive)를 구성한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치로부터 데이터를 읽는 읽기 방법은 선택 메모리 셀을 적어도 두번 읽어 읽기 데이터 심볼을 획득하고; 그리고 상기 읽기 데이터 심볼의 패턴에 기반하여, 상기 읽기 데이터 심볼의 에러를 정정하여 에러 정정된 심볼을 획득하는 것을 포함한다.
실시 예로서, 상기 에러 정정된 심볼을 연판정하여, 상기 선택 메모리 셀의 데이터를 판별하는 것을 더 포함한다.
실시 예로서, 상기 선택 메모리 셀을 적어도 두 번 읽는 것은 상기 선택 메모리 셀에 인가되는 읽기 전압을 가변하며 상기 선택 메모리 셀을 적어도 두 번 읽는 것을 포함한다.
본 발명에 따르면, 읽기 데이터 심볼의 오류가 정정된다. 따라서, 신뢰성이 향상된다.
본 발명에 따르면, 연판정을 수행하기 위한 저장 용량이 감소된다. 따라서, 집적도가 향상된다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조 번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조 번호들을 이용하여 인용될 것이다.
도 1은 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 데이터 입출력 회로(140), 그리고 제어 로직(150)을 포함한다.
메모리 셀 어레이(110)는 워드 라인들(WL)을 통해 어드레스 디코더(120)에 연결되고, 비트 라인들(BL)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 예시적으로, 행 방향으로 배열되는 메모리 셀들은 워드 라인들(WL)에 연결된다. 열 방향으로 배열되는 메모리 셀들은 비트 라인들(BL)에 연결된다. 예시적으로, 메모리 셀 어레이(110)는 셀 당 하나 또는 그 이상의 비트를 저장할 수 있도록 구성된다.
어드레스 디코더(120)는 워드 라인들(WL)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 제어 로직(150)의 제어에 응답하여 동작하도록 구성된다. 어드레스 디코더(120)는 외부로부터 어드레스(ADDR)를 수신한다.
어드레스 디코더(120)는 수신된 어드레스(ADDR) 중 행 어드레스를 디코딩하도록 구성된다. 디코딩된 행 어드레스를 이용하여, 어드레스 디코더(120)는 워드 라인들(WL)을 선택한다. 어드레스 디코더(120)는 전달된 어드레스(ADDR) 중 열 어드레스를 디코딩하도록 구성된다. 디코딩된 열 어드레스는 읽기 및 쓰기 회로(130)에 전달된다. 예시적으로, 어드레스 디코더(120)는 행 디코더, 열 디코더, 어드레 스 버퍼 등과 같이 잘 알려진 구성 요소들을 포함한다.
읽기 및 쓰기 회로(130)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결되고, 데이터 라인들(DL)을 통해 데이터 입출력 회로(140)에 연결된다. 읽기 및 쓰기 회로(130)는 제어 로직(150)의 제어에 응답하여 동작한다. 읽기 및 쓰기 회로(130)는 어드레스 디코더(120)로부터 디코딩된 열 어드레스를 수신하도록 구성된다. 디코딩된 열 어드레스를 이용하여, 읽기 및 쓰기 회로(130)는 비트 라인들(BL)을 선택한다.
예시적으로, 읽기 및 쓰기 회로(130)는 데이터 입출력 회로(140)로부터 데이터를 수신하고, 수신된 데이터를 메모리 셀 어레이(110)에 기입한다. 읽기 및 쓰기 회로(130)는 메모리 셀 어레이(110)로부터 데이터를 읽고, 읽어진 데이터를 데이터 입출력 회로(140)에 전달한다. 읽기 및 쓰기 회로(130)는 메모리 셀 어레이(110)의 제 1 저장 영역으로부터 데이터를 읽고, 읽어진 데이터를 메모리 셀 어레이(110)의 제 2 저장 영역에 기입한다. 예를 들면, 읽기 및 쓰기 회로(230)는 카피-백(copy-back) 동작을 수행하도록 구성된다.
예시적으로, 읽기 및 쓰기 회로(130)는 페이지 버퍼(또는 페이지 레지스터), 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함한다. 다른 예로서, 읽기 및 쓰기 회로(130)는 감지 증폭기, 쓰기 드라이버, 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함한다.
데이터 입출력 회로(140)는 데이터 라인들(DL)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 데이터 입출력 회로(140)는 제어 로직(150)의 제어에 응답하 여 동작한다. 데이터 입출력 회로(140)는 외부와 데이터(DATA)를 교환하도록 구성된다. 데이터 입출력 회로(140)는 외부로부터 전달되는 데이터(DATA)를 데이터 라인들(DL)을 통해 읽기 및 쓰기 회로(130)에 전달하도록 구성된다. 데이터 입출력 회로(140)는 읽기 및 쓰기 회로로부터 데이터 라인들(DL)을 통해 전달되는 데이터(DATA)를 외부로 출력하도록 구성된다. 예시적으로, 데이터 입출력 회로(140)는 데이터 버퍼 등과 같이 잘 알려진 구성 요소를 포함한다.
제어 로직(150)은 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 그리고 데이터 입출력 회로(140)에 연결된다. 제어 로직(150)은 플래시 메모리 장치(100)의 제반 동작을 제어하도록 구성된다. 제어 로직(150)은 외부로부터 전달되는 제어 신호(CTRL)에 응답하여 동작한다.
제어 로직(150)은 부분 읽기 제어부(160)를 포함한다. 부분 읽기 제어부(160)는 불휘발성 메모리 장치(100)의 부분 읽기 동작을 제어하도록 구성된다. 부분 읽기 제어부(160)의 기능은 도 2 및 도 3을 참조하여 더 상세하게 설명된다.
예시적으로, 부분 읽기 제어부(160)는 디지털 회로, 아날로그 회로, 또는 디지털 및 아날로그 회로들이 결합된 형태로 구현된다. 다른 예로서, 부분 읽기 제어부(160)는 제어 로직(150)에서 구동되는 소프트웨어의 형태로 구현된다. 다른 예로서, 부분 읽기 제어부(160)는 하드웨어 및 소프트웨어가 결합된 형태로 구현된다.
도 2는 도 1의 메모리 셀 어레이(110)의 메모리 셀들의 문턱 전압 산포의 일부를 보여주는 다이어그램이다. 도 2에서, 가로 축은 메모리 셀들의 문턱 전압을 나타내며, 세로 축은 메모리 셀들의 수를 나타낸다.
도 2에서, 메모리 셀들의 제 1 및 제 2 상태들(S1, S2)이 도시되어 있다. 그러나, 메모리 셀들은 제 1 및 제 2 상태들(S1, S2)을 갖는 것으로 한정되지 않는다. 메모리 셀들은 셀 당 적어도 하나의 비트를 저장하도록 구성된다. 즉, 메모리 셀들은 적어도 두 개의 상태들을 갖도록 구성된다.
도 2에서, 메모리 셀들의 문턱 전압 산포가 도시되어 있다. 그러나, 메모리 셀들은 문턱 전압을 이용하여 데이터를 저장하는 것으로 한정되지 않는다. 메모리 셀들이 저항값을 이용하여 데이터를 저장하도록 구성되면, 도 2의 가로축은 메모리 셀들의 저항값을 나타내도록 수정될 것이다. 즉, 메모리 셀들의 저항값 산포가 도 2에 도시될 것이다.
제 1 상태(S1)의 메모리 셀들의 문턱 전압은 제 1 전압(V1) 주변으로 산포된다. 제 2 상태(S2)의 메모리 셀들의 문턱 전압은 제 2 전압(V2) 주변으로 산포된다.
이하에서, 제 1 상태(S1)는 로직 로우 "0"에 대응하고, 제 2 상태(S2)는 로직 하이 "1"에 대응하는 것으로 가정한다. 즉, 메모리 셀이 한 번 읽어질 때, "0" 또는 "1"을 나타내는 1 비트가 읽어지는 것으로 가정한다. 그러나, 제 1 상태(S1) 및 제 2 상태(S2)는 각각 "0" 및 "1"에 대응하는 것으로 한정되지 않는다. 제 1 상태(S1) 및 제 2 상태(S2)는 각각 "1" 및 "0"에 대응하도록 응용될 수 있다.
도 1 및 도 2를 참조하면, 부분 읽기 제어부(160)는 부분 읽기 동작을 제어하도록 구성된다. 부분 읽기 동작 시에, 부분 읽기 제어부(160)는 선택된 메모리 셀을 적어도 두번 읽도록 읽기 및 쓰기 회로(130)를 제어한다. 예를 들면, 부분 읽 기 제어부(160)는 j 비트 부분 읽기를 수행하도록 읽기 및 쓰기 회로(130)를 제어한다. j 비트 부분 읽기 시에, 읽기 및 쓰기 회로(130)는 선택 메모리 셀을 2^j-1 번 읽는다. 즉, 읽기 및 쓰기 회로(130)는 하나의 메모리 셀로부터 2^j-1 비트를 읽는다. 하나의 메모리 셀로부터 읽어지는 2^j-1 비트는 하나의 심볼을 형성한다. 이하에서, 선택 메모리 셀로부터 읽어지는 심볼을 "읽기 데이터 심볼"이라 부르기로 한다.
예시적으로, 부분 읽기 제어부(160)는 3 비트 부분 읽기가 수행되도록 읽기 및 쓰기 회로(130)를 제어하는 것으로 가정한다. 즉, 부분 읽기 시에, 선택 메모리 셀은 7번 읽어진다. 그러나, 부분 읽기 제어부(160)는 3 비트 부분 읽기가 수행되도록 읽기 및 쓰기 회로(130)를 제어하는 것으로 한정되지 않는다.
부분 읽기 시에, 부분 읽기 제어부(160)는 선택 메모리 셀에 인가되는 읽기 전압이 조절되도록 제어한다. 예시적으로, 부분 읽기 시에 선택 메모리 셀에 인가되는 제 1 내지 제 7 읽기 전압들(Vr1~Vr7)이 도 2에 도시되어 있다. 부분 읽기 시에, 제 1 내지 제 7 읽기 전압들(Vr1~Vr7)이 선택 메모리 셀에 순차적으로 인가된다. 제 1 내지 제 7 읽기 전압들(Vr1~Vr7)에 각각 대응하는 읽기 데이터는 읽기 데이터 심볼을 구성한다.
도 3은 도 2의 제 1 내지 제 7 읽기 전압들(Vr1~Vr7)이 선택 메모리 셀에 인가될 때, 읽기 데이터 심볼의 패턴들을 보여준다. 도 3에서, 가로 축은 선택 메모리 셀의 문턱 전압을 나타내며, 세로 축은 선택 메모리 셀에 인가되는 읽기 전압들(Vr1~Vr7)을 나타낸다.
선택 메모리 셀이 제 1 전압 영역(VA1)에 대응하는 문턱 전압을 갖는 것으로 가정한다. 도 2에 도시된 바와 같이, 제 1 전압 영역(VA1)은 제 1 읽기 전압(Vr1) 보다 낮은 레벨에 대응한다. 따라서, 선택 메모리 셀에 제 1 내지 제 7 읽기 전압들(Vr1~Vr7)이 순차적으로 인가될 때, 선택 메모리 셀은 턴-온 된다. 즉, 도 3에 도시된 바와 같이, 읽기 데이터 심볼의 제 1 내지 제 7 비트는 각각 "0"에 대응한다.
선택 메모리 셀이 제 2 전압 영역(VA2)에 대응하는 문턱 전압을 갖는 것으로 가정한다. 도 2에 도시된 바와 같이, 제 2 전압 영역(VA2)은 제 1 읽기 전압(Vr1) 보다 높고 제 2 읽기 전압(Vr2) 보다 낮은 레벨에 대응한다. 따라서, 선택 메모리 셀에 제 1 읽기 전압(Vr1)이 인가될 때, 선택 메모리 셀은 턴-오프 된다. 그리고, 선택 메모리 셀에 제 2 내지 제 7 읽기 전압들(Vr2~Vr7)이 인가될 때, 선택 메모리 셀은 턴-온 된다. 즉, 도 3에 도시된 바와 같이, 읽기 데이터 심볼의 제 1 비트는 "1"에 대응하고, 제 2 내지 제 7 비트는 "0"에 대응한다.
마찬가지로, 선택 메모리 셀의 문턱 전압이 제 3 내지 제 8 전압 영역들(VA3~VA8)에 각각 대응할 때의 읽기 데이터 심볼들의 패턴들이 도 3에 도시되어 있다.
도 3에 도시된 바와 같이, 선택 메모리 셀을 적어도 두 번 읽음으로써 획득되는 읽기 데이터 심볼은 연판정과 같은 후속 동작 시에 사용된다.
도 4는 도 3의 패턴들에 발생된 에러들을 보여준다. 도 2 및 도 4를 참조하면, 선택 메모리 셀이 제 2 전압 영역(VA2)에 대응하는 문턱 전압을 갖고, 선택 메 모리 셀에 제 3 읽기 전압(Vr3)이 인가될 때, 읽기 오류가 발생된다. 선택 메모리 셀이 제 3 전압 영역(VA3)에 대응하는 문턱 전압을 갖고, 선택 메모리 셀에 제 6 읽기 전압(Vr6)이 인가될 때, 읽기 오류가 발생된다. 그리고, 선택 메모리 셀이 제 5 전압 영역(VA5)에 대응하는 문턱 전압을 갖고, 선택 메모리 셀에 제 6 읽기 전압(Vr6)이 인가될 때, 읽기 오류가 발생된다.
부분 읽기 시에 읽기 오류가 발생되면, 부분 읽기에 의해 획득되는 읽기 데이터 심볼이 오류 비트를 갖는다. 읽기 데이터 심볼은 연판정과 같은 후속 동작을 위해 이용된다. 즉, 읽기 데이터 심볼이 오류 비트를 가지면, 연판정과 같은 후속 동작 시에 오동작이 발생된다. 이와 같은 문제를 해결하기 위하여, 부분 읽기 오류를 정정하는 기능이 제공된다.
도 5는 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(200)를 보여주는 블록도이다. 도 5를 참조하면, 불휘발성 메모리 장치(200)는 메모리 셀 어레이(210), 어드레스 디코더(220), 읽기 및 쓰기 회로(230), 데이터 입출력 회로(240), 제어 로직(250), 그리고 부분 읽기 에러 정정부(270)를 포함한다.
메모리 셀 어레이(210) 및 어드레스 디코더(220)는 도 1의 메모리 셀 어레이(110) 및 어드레스 디코더(120)와 각각 동일하게 구성된다. 따라서, 상세한 설명은 생략된다.
도 1을 참조하여 설명된 읽기 및 쓰기 회로(130)와 마찬가지로, 읽기 및 쓰기 회로(230)는 메모리 셀 어레이(210)에 데이터를 기입하고, 메모리 셀 어레이(210)로부터 데이터를 읽도록 구성된다. 읽기 및 쓰기 회로(230)는 데이터 입출 력 회로(240)로부터 데이터 라인들(DL)을 통해 쓰기 데이터를 수신한다. 읽기 및 쓰기 회로(230)는 데이터 라인들(DL)을 통해 데이터 입출력 회로(240)에 읽기 데이터를 전달한다. 부분 읽기 시에, 읽기 및 쓰기 회로(230)는 읽기 데이터 심볼을 부분 읽기 오류 정정부(270)로 전달한다.
부분 읽기 오류 정정부(270)는 제어 로직(250)의 제어에 응답하여 동작한다. 부분 읽기 오류 정정부(270)는 부분 읽기 시에 읽기 및 쓰기 회로(230)로부터 수신되는 읽기 데이터 심볼의 오류를 정정하도록 구성된다. 부분 읽기 오류 정정부(270)는 오류 정정된 심볼을 데이터 입출력 회로(240)에 전달한다. 이후에, 오류 정정된 심볼을 이용하여, 연판정과 같은 후속 동작이 수행된다. 따라서, 연판정과 같은 후속 동작에서 오동작이 발생하는 것이 방지된다.
예시적으로, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 패턴에 기반하여 읽기 데이터 심볼의 오류를 정정하도록 구성된다. 도 2 및 도 3에 도시된 바와 같이, 선택 메모리 셀의 문턱 전압이 k 번째 전압 영역(VAk)에 대응할 때, 정상적으로 읽어진 읽기 데이터 심볼의 제 1 내지 제 (k-1) 비트는 "1"의 값을 갖고, 나머지 비트는 "0"의 값을 갖는다. 이와 같은 읽기 데이터 심볼의 패턴에 기반하여, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 에러를 정정한다. 예를 들면, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 천이 비트를 검출한다. 그리고, 검출된 천이 비트의 위치에 기반하여, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 오류를 정정한다.
도 6은 도 5의 부분 읽기 오류 정정부(270)의 제 1 실시 예(270a)를 보여주 는 블록도이다. 도 5 및 도 6을 참조하면, 부분 읽기 오류 정정부(270a)는 레지스터(271a), 검출기(273a), 그리고 정정기(275a)를 포함한다.
레지스터(271a)는 읽기 및 쓰기 회로(230)로부터 수신되는 읽기 데이터 심볼을 저장하도록 구성된다.
검출기(273a)는 레지스터(271a)에 저장된 읽기 데이터 심볼의 천이 비트(transition bit)를 검출하도록 구성된다. 천이 비트는 읽기 데이터 심볼의 값이 "1" 로부터 "0"으로 천이되는 비트를 나타낸다. 예시적으로, 검출기(273a)는 읽기 데이터 심볼의 (n-1) 번째 비트, n 번째 비트의 보수, 그리고 (n+1) 번째 비트의 보수의 논리곱(AND) 동작을 수행하도록 구성된다.
읽기 데이터 심볼의 (n-1) 번째 비트가 "1"이고, n 번째 비트가 "0"이고, 그리고 (n+1) 번째 비트가 "0"일때, 검출기(273a)는 읽기 데이터 심볼의 n번째 비트에 대응하는 출력을 "1"로 설정한다. 읽기 데이터 심볼의 모든 비트가 "1"이면, 검출기(273a)는 모든 출력들을 "0"으로 설정한다. 그리고, 읽기 데이터 심볼의 모든 비트가 "0"이면, 검출기(273a)는 제 1 읽기 전압(Vr1)으로 읽어진 데이터(즉, 읽기 데이터 심볼의 제 1 비트)에 대응하는 출력을 "1"로, 그리고 나머지 출력들을 "0"으로 설정한다.
정정기(275a)는 검출기(273a)의 출력에 기반하여, 읽기 데이터 심볼의 오류를 정정하도록 구성된다. 정정기(275a)는 검출기(273a)의 출력에 기반하여 읽기 데이터 심볼의 천이 비트의 위치를 인식한다. 그리고, 정정기(275a)는 검출기(273a)의 출력에 기반하여 읽기 데이터 심볼의 모든 비트가 "0" 인지 또는 "1" 인지의 여 부를 인식한다.
예시적으로, 정정기(275a)는 읽기 데이터 심볼의 제 1 비트로부터 검출된 천이 비트 까지의 값을 "1"로 정정한다. 그리고, 정정기(275a)는 읽기 데이터 심볼의 나머지 비트들을 "0"으로 정정한다. 정정된 비트들은 오류 정정된 심볼로서 데이터 입출력 회로(240)에 전달된다.
다른 예로서, 정정기(275a)는 도 3에 도시된 읽기 데이터 심볼의 패턴들을 미리 저장하도록 구성된다. 그리고, 검출기(273a)의 출력에 기반하여, 정정기(275a)는 미리 저장된 읽기 데이터 심볼의 패턴들 중 하나를 선택하도록 구성된다. 예를 들면, 정정기(275a)는 천이 비트의 위치에 기반하여, 읽기 데이터 심볼의 패턴을 선택하도록 구성된다. 선택된 패턴은 오류 정정된 심볼로서 데이터 입출력 회로(240)에 전달된다.
도 7은 도 5의 부분 읽기 오류 정정부(270)의 제 2 실시 예(270b)를 보여주는 블록도이다. 도 5 및 도 7을 참조하면, 부분 읽기 오류 정정부(270b)는 레지스터(271b), 검출기(273b), 그리고 정정기(275b)를 포함한다.
레지스터(271b)는 부분 읽기 시에 읽기 및 쓰기 회로(230)로부터 수신되는 읽기 데이터 심볼을 저장하도록 구성된다.
검출기(273b)는 레지스터(271b)에 저장된 읽기 데이터 심볼의 천이 비트(transition bit)를 검출하도록 구성된다. 천이 비트는 읽기 데이터 심볼의 값이 "1" 로부터 "0"으로 천이되는 비트를 나타낸다. 예시적으로, 검출기(273b)는 읽기 데이터 심볼의 (n-1) 번째 비트, n 번째 비트, 그리고 (n+1) 번째 비트의 보수의 논리곱(AND) 동작을 수행하도록 구성된다.
읽기 데이터 심볼의 (n-1) 번째 비트가 "1" 이고, n 번째 비트가 "1"이고, 그리고 (n+1) 번째 비트가 "0"일때, 검출기(273b)는 읽기 데이터 심볼의 n번째 비트에 대응하는 출력을 "1"로 설정한다. 읽기 데이터 심볼의 모든 비트가 "1"이면, 제 1 읽기 전압(Vr1)으로 읽어진 데이터(즉, 읽기 데이터 심볼의 제 1 비트)에 대응하는 출력을 "1"로, 그리고 나머지 출력들을 "0"으로 설정한다. 그리고, 읽기 데이터 심볼의 모든 비트가 "0"이면, 검출기(273b)는 모든 출력들을 "0"으로 설정한다.
정정기(275b)는 검출기(273b)의 출력에 기반하여, 읽기 데이터 심볼의 오류를 정정하도록 구성된다. 정정기(275b)는 검출기(273b)의 출력에 기반하여 읽기 데이터 심볼의 천이 비트의 위치를 인식한다. 그리고, 정정기(275b)는 검출기(273b)의 출력에 기반하여 읽기 데이터 심볼의 모든 비트가 "0"인지 또는 "1"인지의 여부를 인식한다.
예시적으로, 정정기(275b)는 읽기 데이터 심볼의 제 1 비트로부터 검출된 천이 비트 까지의 값을 "1"로 정정한다. 그리고, 정정기(275b)는 읽기 데이터 심볼의 나머지 비트들을 "0"으로 정정한다. 정정 결과는 오류 정정된 심볼로서 데이터 입출력 회로(240)에 전달된다.
다른 예로서, 정정기(275a)는 도 3에 도시된 읽기 데이터 심볼의 패턴들을 미리 저장하도록 구성된다. 그리고, 검출기(273b)의 출력에 기반하여, 정정기(275b)는 미리 저장된 읽기 데이터 심볼의 패턴들 중 하나를 선택하도록 구성된 다. 선택된 패턴은 오류 정정된 심볼로서 데이터 입출력 회로(240)에 전달된다.
예시적으로, 부분 읽기 오류 정정부(270)는 도 6 및 도 7을 참조하여 설명된 부분 읽기 오류 정정부들(270a, 270b)을 포함하도록 구성된다. 예를 들면, 부분 읽기 오류 정정부(270)는 도 6의 구성요소들 및 도 7의 부분 읽기 오류 정정부들(270a, 270b) 중 하나를 선택적으로 구동하도록 구성될 것이다. 예를 들면, 부분 읽기 오류 정정부(270)는 도 6 및 도 7의 부분 읽기 오류 정정부들(270a, 270b)을 구동하고, 부분 읽기 오류 정정부들(270a, 270b)의 출력을 조합하도록 구성된다. 그리고, 조합된 출력에 기반하여, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 오류를 정정한다.
다시 도 5를 참조하면, 예시적으로, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 도 3의 패턴들에 대한 우도(likelihood)를 계산하도록 구성된다. 즉, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 도 3의 패턴들에 대한 유사성들을 각각 계산한다. 계산된 우도(likelihood)에 기반하여, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 에러를 정정하도록 구성된다.
예를 들면, 부분 읽기 오류 정정부(270)는 읽기 데이터 심볼의 도 3의 패턴들에 대한 우도들(likelihood)을 각각 계산한다. 그리고, 부분 읽기 오류 정정부(270)는 도 3의 패턴들 중 가장 높은 우도(likelihood)에 대응하는 패턴을 선택한다. 선택된 패턴은 에러 정정된 심볼로서 데이터 입출력 회로(240)에 전달된다.
도 8은 도 5의 부분 읽기 오류 정정부(270)의 제 3 실시 예(270c)를 보여주는 블록도이다. 도 5 및 도 8을 참조하면, 부분 읽기 오류 정정부(270)는 레지스 터(271c), 우도 계산기(273c), 메모리(275c), 그리고 선택기(277c)를 포함한다.
레지스터(271c)는 읽기 및 쓰기 회로(230)로부터 읽기 데이터 심볼을 수신 및 저장하도록 구성된다.
메모리(275c)는 도 3에 도시된 패턴들을 저장하도록 구성된다.
우도 계산기(273c)는 레지스터(271c)에 저장된 읽기 데이터 심볼의 메모리(275c)에 저장된 패턴들에 대한 우도들(likelihoods)을 각각 계산하도록 구성된다. 예시적으로, 우도 계산기(273c)는 레지스터(271c)에 저장된 읽기 데이터 심볼의 메모리(275c)에 저장된 패턴들에 대한 해밍 거리들(Hamming diatance)를 각각 계산하도록 구성된다. 그러나, 우도 계산기(273c)는 해밍 거리를 계산하는 것으로 한정되지 않는다.
우도 계산기(273c)는 레지스터(271c)에 저장된 읽기 데이터 심볼의 비트들 및 메모리(275c)에 저장된 각 패턴의 비트들 사이의 배타적 논리합(XOR, exclusive OR)을 계산한다. 그리고, 배타적 논리곱의 결과는 카운터(274c)에 의해 카운트된다. 즉, 레지스터(271c)에 저장된 읽기 데이터 심볼의 비트가 메모리(275c)에 저장된 패턴 중 선택된 패턴의 대응하는 비트와 상이할 때, 카운터(274c)가 카운트 업 된다. 따라서, 카운터(274c)의 카운트 값은 레지스터(271c)에 저장된 읽기 데이터 심볼 및 메모리(275c)에 저장된 패턴 중 선택 패턴의 차이, 즉 해밍 거리를 나타낸다. 메모리(275c)에 저장된 패턴들에 대응하는 해밍 거리들이 각각 계산된다.
선택기(277c)는 우도 계산기(273c)로부터 계산된 우도(예를 들면, 해밍 거리)를 수신한다. 선택기(277c)는 수신된 해밍 거리에 기반하여, 메모리(275c)에 저 장된 패턴들 중 하나를 선택한다. 예를 들면, 선택기(277c)는 메모리(275c)에 저장된 패턴들 중 레지스터(271c)에 저장된 읽기 데이터 심볼과 가장 가까운 해밍 거리를 갖는 패턴을 선택한다. 선택된 패턴은 오류 정정된 심볼로서 데이터 입출력 회로(240)에 전달된다.
도 9는 도 1 및 도 5의 불휘발성 메모리 장치들(100, 200) 중 하나를 포함하는 메모리 시스템(10)을 보여주는 블록도이다. 도 9를 참조하면, 메모리 시스템(10)은 불휘발성 메모리 장치(100, 200) 및 컨트롤러(300)를 포함한다.
컨트롤러(300)는 호스트(Host) 및 불휘발성 메모리 장치(100, 200)에 연결된다. 호스트(Host)로부터의 요청에 응답하여, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)를 액세스하도록 구성된다. 예를 들면, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)의 읽기, 쓰기, 그리고 소거 동작을 제어하도록 구성된다. 컨트롤러(300)는 불휘발성 메모리 장치(100, 200) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
예시적으로, 도 1 및 도 5를 참조하여 설명된 바와 같이, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)에 제어 신호(CTRL), 어드레스(ADDR)를 제공하도록 구성된다. 그리고, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)와 데이터(DATA)를 교환하도록 구성된다.
컨트롤러(300)는 연판정 로직(310)을 포함한다. 연판정 로직(310)은 불휘발성 메모리 장치(100, 200)로부터 수신되는 읽기 데이터 심볼의 연판정을 수행하도 록 구성된다. 예시적으로, 연판정 로직(310)은 디지털 회로, 아날로그 회로, 또는 디지털 및 아날로그 회로들이 결합된 형태로 구현된다. 다른 예로서, 연판정 로직(310)은 컨트롤러(300)에서 구동되는 소프트웨어의 형태로 구현된다. 다른 예로서, 연판정 로직(310)은 하드웨어 및 소프트웨어가 결합된 형태로 구현된다. 연판정 로직(310)은 도 10 내지 도 13을 참조하여 더 상세하게 설명된다.
예시적으로, 컨트롤러(300)는 램(RAM, Random Access Memory), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface), 그리고 메모리 인터페이스(memory interface)와 같은 잘 알려진 구성 요소들을 더 포함한다. 램(RAM)은 프로세싱 유닛의 동작 메모리, 불휘발성 메모리 장치(100, 200) 및 호스트(Host) 사이의 캐시 메모리, 그리고 불휘발성 메모리 장치(100, 200) 및 호스트(Host) 사이의 버퍼 메모리 중 적어도 하나로서 이용된다. 프로세싱 유닛은 컨트롤러(300)의 제반 동작을 제어한다.
호스트 인터페이스는 호스트(Host) 및 컨트롤러(300) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적으로, 컨트롤러(300)는 USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 외부(호스 트)와 통신하도록 구성된다. 메모리 인터페이스는 불휘발성 메모리 장치(200)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
메모리 시스템(10)은 오류 정정 블록을 추가적으로 포함하도록 구성될 수 있다. 오류 정정 블록은 오류 정정 코드(ECC)를 이용하여 불휘발성 메모리 장치(100, 200)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성된다. 예시적으로, 오류 정정 블록은 컨트롤러(300)의 구성 요소로서 제공된다. 다른 예로서, 오류 정정 블록은 불휘발성 메모리 장치(100, 200)의 구성 요소로서 제공된다.
컨트롤러(300) 및 불휘발성 메모리 장치(100, 200)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(300) 및 불휘발성 메모리 장치(100, 200)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성한다. 예를 들면, 컨트롤러(300) 및 불휘발성 메모리 장치(100, 200)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성한다.
컨트롤러(300) 및 불휘발성 메모리 장치(100, 200)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성한다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 저장 장치를 포함한다. 메모리 시스템(10)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(10)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선된다.
다른 예로서, 메모리 시스템(10)은 컴퓨터, 휴대용 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적으로, 불휘발성 메모리 장치(100, 200) 또는 메모리 시스템(10)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 불휘발성 메모리 장치(100, 200) 또는 메모리 시스템(10)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장된다.
도 10은 도 9의 메모리 시스템(10)의 컨트롤러(300)의 연판정 로직(310)의 제 1 실시 예(310a)를 보여주는 블록도이다. 도 10을 참조하면, 연판정 로직(310a)은 레지스터(311a), 계산부(313a), 그리고 판정부(315a)를 포함한다.
레지스터(311a)는 불휘발성 메모리 장치(100, 200)로부터 읽기 데이터 심볼을 수신 및 저장하도록 구성된다.
계산부(313a)는 레지스터(311a)에 저장된 읽기 데이터 심볼의 우도비들(likelihood ratios)을 계산하도록 구성된다. 예시적으로, 계산부(313a)는 읽기 데이터 심볼을 j 비트 심볼로 변환한다. 예를 들면, 3 비트 부분 읽기가 수행될 때, 계산부(313a)는 읽기 데이터 심볼을 3 비트 심볼로 변환한다. 예를 들면, 계산부(313a)는 읽기 데이터 심볼의 "1"의 수를 카운트함으로써, 읽기 데이터 심볼을 3비트 심볼로 변환한다. 읽기 데이터 심볼 및 대응하는 3비트 심볼이 도 11에 도시되어 있다. 도 11은 도 3의 패턴들에 따른 3 비트 심볼의 다양한 패턴들을 보여준다.
이후에, 계산부(313a)는 3비트 심볼의 우도비(likelihood ratio)를 계산한다. 예를 들면, 계산부(313a)는 3비트 심볼의 로그 우도비(logarithmic likelihood ratio)를 계산한다. 예를 들면, 계산부(313a)는 변환된 3비트 심볼의 제 1 상 태(S1, 도 2 참조) 및 제 2 상태(S2, 도 2 참조)에 대한 우도비들을 각각 계산한다. 예시적으로, 계산부(313a)는 메모리 셀들의 문턱 전압 산포에 대한 정보를 저장하도록 구성된다. 그리고, 저장되어 있는 정보에 기반하여, 계산부(313a)는 3비트 심볼의 제 1 및 제 2 상태들(S1, S2)에 대한 우도비들을 각각 계산하도록 구성된다.
예시적으로, 문턱 전압 산포의 정보는 측정을 통해 제공된다. 예를 들면, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)의 메모리 셀들의 문턱 전압 산포를 측정하고, 측정된 산포를 계산부(313a)에 저장한다. 메모리 셀들의 문턱 전압 산포가 가변(예를 들면, 메모리 셀들의 열화 등으로 인해)될 때, 계산부(313a)에 저장되는 문턱 전압 산포에 대한 정보는 갱신된다. 예를 들면, 메모리 셀들의 문턱 전압 산포가 가변될 때, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)의 메모리 셀들의 문턱 전압 산포를 재측정한다. 예시적으로, 재측정은 불휘발성 메모리 장치(100, 200)의 메모리 셀들의 열화(예를 들면, 프로그램 및 소거 횟수)에 기반하여 수행된다. 예시적으로, 문턱 전압 산포의 측정은 부분 읽기에 의해 수행된다.
다른 예로서, 문턱 전압의 정보는 미리 설정된 테이블의 형태로 제공된다. 계산부(313a)는 미리 설정되어 있는 테이블에 기반하여, 3비트 심볼의 우도비를 계산하도록 구성된다. 미리 설정된 테이블은, 메모리 셀들의 열화 정도에 따른 문턱 전압 산포의 표준화된 변화 정보를 포함한다.
계산부(313a)는 계산된 우도비를 판정부(315a)에 전달한다. 판정부(315a)는 계산된 우도비에 기반하여, 선택 메모리 셀의 데이터를 판별한다. 예를 들면, 판정 부(315a)는 제 1 및 제 2 상태들(S1, S2) 중 더 높은 우도비에 대응하는 상태를 선택한고, 선택된 상태를 선택 메모리 셀의 데이터로 판정한다.
상술한 바와 같이, 연판정 로직(310a)은 읽기 데이터 심볼의 제 1 값의 수를 카운트하고, 그리고 카운트값의 제 1 및 제 2 상태들(S1, S2)에 대한 우도를 계산하도록 구성된다. 계산된 우도에 기반하여, 연판정 로직(310a)은 선택 메모리 셀의 데이터를 판별하도록 구성된다. 따라서, 선택 메모리 셀에 저장된 실제 데이터와 가장 유사한 상태가 선택 메모리 셀의 데이터로 판별된다.
도 12는 도 9의 연판정 로직(310)의 제 2 실시 예(310b)를 보여주는 블록도이다. 도 12를 참조하면, 연판정 로직(310b)은 누산기(311b), 계산부(313b), 그리고 판정부(315b)를 포함한다.
누산기(311b)는 불휘발성 메모리 장치(100, 200)로부터 읽기 데이터 심볼을 수신 및 저장하도록 구성된다. 읽기 데이터 심볼이 수신되는 동안, 누산기(311b)는 읽기 데이터 심볼의 순차적으로 수신되는 비트의 "1"의 수를 카운트하여 3비트 심볼을 생성한다. 예시적으로, 누산기(311b)는 덧셈기(ADDER) 및 레지스터(312b)를 포함한다. 레지스터(312b)는 j 비트를 저장하도록 구성된다. 예를 들면, 3 비트 부분 읽기가 수행될 때, 레지스터(312b)는 3비트를 저장하도록 구성된다. 예시적으로, 레지스터(312b)의 초기값은 "000"이다. 덧셈기(ADDER)는 레지스터(312b)에 저장된 3비트 심볼 및 불휘발성 메모리 장치(100, 200)로부터 순차적으로 수신되는 읽기 데이터 심볼의 각 비트를 합한다. 즉, 불휘발성 메모리 장치(100, 200)로부터 읽기 데이터 심볼의 수신이 완료된 때에, 레지스터(312b)는 읽기 데이터 심볼의 "1"의 수를 3비트 데이터의 형태로 저장한다. 레지스터(312b)에 저장된 값은 수신된 읽기 데이터 심볼에 대응하는 3비트 심볼을 나타낸다.
도 10 및 도 11을 참조하여 설명된 바와 같이, 계산부(313b)는 3비트 심볼의 우도비를 계산하도록 구성된다. 판정부(315b)는 계산된 우도비에 기반하여 선택 메모리 셀의 데이터를 판별하도록 구성된다.
상술된 바와 같이, 읽기 데이터 심볼의 비트들이 순차적으로 입력되는 동안, 연판정 로직(310b)은 "1"의 수를 카운트하고, 그리고 카운트값의 우도를 계산하도록 구성된다. 계산된 우도에 기반하여, 연판정 로직(310b)은 선택 메모리 셀의 데이터를 판별하도록 구성된다. 도 10에 도시된 연판정 로직(310a)과 비교할 때, 연판정 로직(310b)은 더 적은 저장 용량으로 연판정을 수행하도록 구성된다.
도 13은 도 9의 연판정 로직(310)의 제 3 실시 예(310c)를 보여주는 블록도이다. 도 13을 참조하면, 연판정 로직(310c)은 누산기(311c), 계산부(313c), 그리고 판정부(315c)를 포함한다. 누산기(311c)가 j 비트(예를 들면, 3비트) 카운터로 구성되는 것을 제외하면, 연판정 로직(310c)은 도 12를 참조하여 설명된 연판정 로직(310b)과 동일하게 구성된다. 따라서, 상세한 설명은 생략된다.
도 1 내지 도 8에서, 하나의 선택 메모리 셀에 대응하는 읽기 데이터 심볼의 에러를 정정하는 방법 및 구성이 설명되었다. 본 발명의 기술적 사상은 동시에 읽어지는 복수의 선택 메모리 셀들에 대응하는 읽기 데이터 심볼들의 에러를 정장하도록 응용될 수 있다.
예시적으로, 부분 읽기 오류 정정부(270)는 동시에 읽어진 선택 메모리 셀들 에 대응하는 읽기 데이터 심볼들을 순차적으로 수신하도록 구성된다. 부분 읽기 오류 정정부(270)는 순차적으로 수신되는 읽기 데이터 심볼들의 에러들을 각각 정정하도록 구성된다.
다른 예로서, m (m은 양의 정수) 개의 선택 메모리 셀들이 동시에 읽어질 때, m 개의 부분 읽기 오류 정정부들(270)이 제공된다. 부분 읽기 오류 정정부들(270)은 선택 메모리 셀들에 대응하는 읽기 데이터 심볼들을 각각 수신하도록 구성된다. 각 부분 읽기 오류 정정부(270)는 수신된 읽기 데이터 심볼의 에러를 정정하도록 구성된다.
다른 예로서, m 개의 선택 메모리 셀들이 동시에 읽어질 때, h (h는 m보다 작은 양의 정수) 개의 부분 읽기 오류 정정부들(270)이 제공된다. m 개의 선택 메모리 셀들에 대응하는 읽기 데이터 심볼들은 h 개의 그룹들로 분할된다. 부분 읽기 오류 정정부들(270)은 읽기 데이터 심볼 그룹들을 각각 수신하도록 구성된다. 각 읽기 데이터 삼볼 그룹의 읽기 데이터 심볼들은 대응하는 부분 읽기 오류 정정부(270)에 순차적으로 전달된다. 각 부분 읽기 오류 정정부(270)는 대응하는 읽기 데이터 심볼 그룹의 읽기 데이터 심볼들의 에러들을 정정하도록 구성된다.
도 9 내지 도 13에서, 하나의 선택 메모리 셀의 데이터를 연판정하는 방법 및 구성이 설명되었다. 본 발명의 기술적 사상은 복수의 선택 메모리 셀들의 데이터를 판정하도록 응용될 수 있다. 상술한 바와 같이, 예시적으로, 선택 메모리 셀들의 데이터를 순차적으로 판정하는 연판정부(310)가 제공된다. 다른 예로서, 선택 메모리 셀들의 데이터를 동시에 연판정하는 복수의 연판정부(310)가 제공된다. 다 른 예로서, 선택 메모리 셀들의 데이터를 그룹화하고, 그룹들 사이에서는 동시에 그리고 그룹 내에서는 순차적으로 연판정을 수행하는 복수의 연판정부(310)가 제공된다.
도 14는 도 1 내지 도 13을 참조하여 설명된 불휘발성 메모리 장치(100, 200) 및 컨트롤러(300)를 포함하는 메모리 시스템(10)의 동작을 설명하기 위한 순서도이다. 도 14를 참조하면, S110 단계에서, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)에 읽기 요청을 전달한다. S120 단계에서, 컨트롤러(300)로부터 수신된 읽기 요청에 응답하여, 불휘발성 메모리 장치(100, 200)는 읽기 동작을 수행한다. 예를 들면, 도 1 및 도 5를 참조하여 설명된 읽기 및 쓰기 회로(130, 230)는 선택 메모리 셀들을 읽는다.
S130 단계에서, 읽어진 데이터가 불휘발성 메모리 장치(100, 200)로부터 컨트롤러(300)로 전달된다. S140 단계에서, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)로부터 읽어진 데이터의 오류가 정정 가능한지 판별한다. 읽어진 데이터의 오류가 정정 가능하면, 컨트롤러(300)는 읽어진 데이터의 오류를 정정한다. 그리고, S195 단계에서, 컨트롤러(300)는 오류 정정된 데이터를 선택 메모리 셀들의 데이터로 판별한다.
S140 단계에서, 읽어진 데이터의 오류가 정정 가능하지 않으면, S150 단계가 수행된다. S150 단계에서, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)에 부분 읽기 요청을 전달한다. S160 단계에서, 컨트롤러(300)로부터 수신되는 부분 읽기 요청에 응답하여, 불휘발성 메모리 장치(100, 200)는 부분 읽기를 수행한다. 부 분 읽기는 도 1 내지 도 8을 참조하여 설명된 바와 같이 수행된다. 따라서, 상세한 설명은 생략된다. 부분 읽기가 수행되면, 읽기 데이터 심볼이 획득된다.
S170 단계에서, 불휘발성 메모리 장치(100, 200)는 읽기 데이터 심볼의 오류를 정정한다. 읽기 데이터 심볼의 오류를 정정하는 동작은 도 5 내지 도 8을 참조하여 설명된 바와 같이 수행된다. 따라서, 상세한 설명은 생략된다. S170 단계가 수행되면, 오류 정정된 심볼이 획득된다. 예시적으로, 도 1을 참조하여 설명된 바와 같이, 불휘발성 메모리 장치(100)가 부분 읽기 오류 정정 기능을 제공하지 않는 경우, S170 단계는 생략된다.
S180 단계에서, 읽기 데이터 심볼이 불휘발성 메모리 장치(100, 200)로부터 컨트롤러(300)로 전달된다. 예시적으로, 도 1을 참조하여 설명된 바와 같이, 불휘발성 메모리 장치(100)가 부분 읽기 오류 정정 기능을 제공하지 않으면, 전달되는 읽기 데이터 심볼은 오류 정정되지 않은 심볼이다. 다른 예로서, 도 5를 참조하여 설명된 바와 같이, 불휘발성 메모리 장치(200)가 부분 읽기 오류 정정 기능을 제공하면, 전달되는 읽기 데이터 심볼은 오류 정정된 심볼이다. S180 단계에서 전달되는 심볼은 "읽기 데이터 심볼"로 인용되며, 이 용어는 오류 정정되지 않은 심볼 및 오류 정정된 심볼을 포함하는 것으로 이해된다.
S190 단계에서, 컨트롤러(300)는 불휘발성 메모리 장치(100, 200)로부터 수신된 읽기 데이터 심볼에 기반하여, 연판정을 수행한다. 연판정은 도 9 내지 도 13을 참조하여 설명된 바와 같이 수행된다. 따라서, 상세한 설명은 생략된다.
S195 단계에서, 연판정 경과에 기반하여, 컨트롤러(300)는 선택 메모리 셀들 의 데이터를 판별한다. 선택 메모리 셀들의 데이터를 판별하는 동작은 도 9 내지 도 12를 참조하여 설명되었다. 따라서, 상세한 설명은 생략된다.
S110 단계 내지 S140 단계, 그리고 S195 단계를 포함하는 동작은 선택 메모리 셀들을 한 번 읽고, 선택 메모리 셀들의 데이터를 판별하는 경판정(hard decision) 동작으로 이해될 수 있다. 그리고, S150 단계 내지 S195 단계로 구성되는 동작은 연판정(soft decision) 동작에 대응한다. 즉, 메모리 시스템(10)은 선택 메모리 셀들의 경판정을 수행하고, 경판정 결과가 페일이면 연판정을 수행하도록 구성될 수 있다. 다른 예로서, 메모리 시스템(10)은 경판정 동작(S110 단계 내지 S140 단계, 그리고 S195 단계로 구성되는 동작)을 수행하지 않고, 연판정 동작(S150 단계 내지 S195 단계로 구성되는 동작)을 수행하도록 구성될 수 있다.
도 15는 도 9의 메모리 시스템(10)의 제 2 실시 예(20)를 보여주는 블록도이다. 도 15를 참조하면, 메모리 시스템(20)은 불휘발성 메모리 장치(400) 및 컨트롤러(500)를 포함한다.
불휘발성 메모리 장치(400)는 불휘발성 메모리 및 연판정 로직(410)을 포함한다. 불휘발성 메모리는 도 1 또는 도 5를 참조하여 설명된 불휘발성 메모리 장치(100, 200)와 마찬가지로 구성된다. 연판정 로직(410)은 도 9 내지 도 13을 참조하여 설명된 연판정 로직(310)과 같은 구성을 갖는다. 그리고, 컨트롤러(500)는 연판정 로직(410)의 기능을 제공하지 않는 것을 제외하면, 도 9 내지 도 13을 참조하여 설명된 컨트롤러(300)와 마찬가지로 구성된다. 즉, 메모리 시스템(20)을 도 9의 메모리 시스템(10)과 비교할 때, 메모리 시스템(20)에서 연판정 로직(410)이 불휘 발성 메모리 장치(400)에 제공된다. 즉, 불휘발성 메모리 장치(400)는 연판정을 수행함으로써 선택 메모리 셀들의 데이터를 판별하도록 구성된다. 그리고, 컨트롤러(500)는 불휘발성 메모리 장치(400)로부터 선택 메모리 셀들의 연판정된 데이터를 수신하도록 구성된다.
연판정 로직(410)이 불휘발성 메모리 장치(400)에 제공될 때, 도 14를 참조하여 설명된 단계들 중 S180 단계는 생략된다. 그리고, S190 및 S195 단계는 불휘발성 메모리 장치(400)에 의해 수행된다. 이후에, 불휘발성 메모리 장치(400)는 컨트롤러(500)에 선택 메모리 셀의 연판정된 데이터를 전송한다.
연판정 로직(410)이 불휘발성 메모리 장치(400)에 제공되면, 불휘발성 메모리 장치(400)는 컨트롤러(500)에 연판정된 데이터를 전송한다. 컨트롤러(500)에 읽기 데이터 심볼을 전송할 때와 비교하면, 불휘발성 메모리 장치(400)가 컨트롤러(500)에 데이터를 전송하는 시간이 감소된다. 따라서, 불휘발성 메모리 장치(400)를 포함하는 메모리 시스템(20)의 읽기 성능(read performance)이 향상된다.
도 16은 도 9의 메모리 시스템(10)의 제 3 실시 예(30)를 보여주는 블록도이다. 도 16을 참조하면, 메모리 시스템(30)은 불휘발성 메모리 장치(100) 및 컨트롤러(600)를 포함한다. 불휘발성 메모리 장치(100)는 도 1을 참조하여 설명된 불휘발성 메모리 장치(100)와 마찬가지로 구성된다. 컨트롤러(600)는 부분 읽기 오류 정정부(610)가 제공되는 것을 제외하면, 도 9의 컨트롤러(300)와 마찬가지로 구성된다. 즉, 메모리 시스템(30)을 도 9의 메모리 시스템(10)과 비교할 때, 메모리 시스 템(30)에서 부분 읽기 오류 정정부(610)가 컨트롤러(600)에 제공된다. 즉, 컨트롤러(600)는 불휘발성 메모리 장치(100)로부터 읽기 데이터 심볼을 수신하도록 구성된다. 그리고, 컨트롤러(600)는 수신된 읽기 데이터 심볼의 오류를 정정하고, 오류 정정된 심볼에 기반하여 연판정을 수행하도록 구성된다.
부분 읽기 오류 정정부(610)가 컨트롤러(600)에 제공될 때, 도 14를 참조하여 설명된 단계들 중 S170 단계는 S180 단계 이후에 컨트롤러(600)에 의해 수행된다.
도 17은 도 9의 메모리 시스템(10)의 제 4 실시 예(40)를 보여주는 블록도이다. 도 17을 참조하면, 메모리 시스템(40)은 불휘발성 메모리 장치(700) 및 컨트롤러(800)를 포함한다. 불휘발성 메모리 장치(700)는 복수의 불휘발성 메모리 칩들을 포함한다. 복수의 불휘발성 메모리 칩들은 복수의 그룹들로 분할된다. 복수의 불휘발성 메모리 칩들의 각 그룹은 하나의 공통 채널을 통해 컨트롤러(800)와 통신하도록 구성된다. 도 17에서, 복수의 불휘발성 메모리 칩들은 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(300)와 통신하는 것으로 도시되어 있다. 각 불휘발성 메모리 칩은 도 1, 도 5, 또는 도 15를 참조하여 설명된 불휘발성 메모리 장치(100, 200, 400)와 같이 구성된다. 그리고, 컨트롤러(800)는 도 9, 도 15, 또는 도 16를 참조하여 설명된 컨트롤러(300, 500, 600)와 같이 구성된다.
도 18은 도 17을 참조하여 설명된 메모리 시스템(40)을 포함하는 컴퓨팅 시스템(900)을 보여주는 블록도이다. 도 18을 참조하면, 컴퓨팅 시스템(900)은 중앙 처리 장치(910), 램(920, RAM, Random Access Memory), 사용자 인터페이스(930), 전원(940), 그리고 메모리 시스템(40)을 포함한다.
메모리 시스템(40)은 시스템 버스(950)를 통해, 중앙처리장치(910), 램(920), 사용자 인터페이스(930), 그리고 전원(940)에 전기적으로 연결된다. 사용자 인터페이스(930)를 통해 제공되거나, 중앙 처리 장치(910)에 의해서 처리된 데이터는 메모리 시스템(40)에 저장된다. 메모리 시스템(40)은 컨트롤러(800) 및 불휘발성 메모리 장치(700)를 포함한다.
도 18에서, 불휘발성 메모리 장치(700)는 컨트롤러(800)를 통해 시스템 버스(950)에 연결되는 것으로 도시되어 있다. 그러나, 불휘발성 메모리 장치(700)는 시스템 버스(950)에 직접 연결되도록 구성될 수 있다. 이때, 도 9 내지 도 17을 참조하여 설명된 컨트롤러(300, 500, 600)의 기능은 프로세서(910)에 의해 수행된다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 자명하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 2는 도 1의 메모리 셀 어레이의 메모리 셀들의 문턱 전압 산포의 일부를 보여주는 다이어그램이다.
도 3은 도 2의 제 1 내지 제 7 읽기 전압들이 선택 메모리 셀에 인가될 때, 읽기 데이터 심볼의 패턴들을 보여준다.
도 4는 도 3의 패턴들에 발생된 에러들을 보여준다.
도 5는 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 6은 도 5의 부분 읽기 오류 정정부의 제 1 실시 예를 보여주는 블록도이다.
도 7은 도 5의 부분 읽기 오류 정정부의 제 2 실시 예를 보여주는 블록도이다.
도 8은 도 5의 부분 읽기 오류 정정부의 제 3 실시 예를 보여주는 블록도이다.
도 9는 도 1 및 도 5의 불휘발성 메모리 장치들 중 하나를 포함하는 메모리 시스템을 보여주는 블록도이다.
도 10은 도 9의 메모리 시스템의 컨트롤러의 연판정 로직의 제 1 실시 예를 보여주는 블록도이다.
도 11은 도 3의 패턴들에 따른 3 비트 심볼의 다양한 패턴들을 보여준다.
도 12는 도 9의 연판정 로직의 제 2 실시 예를 보여주는 블록도이다.
도 13은 도 9의 연판정 로직(310)의 제 3 실시 예를 보여주는 블록도이다.
도 14는 도 1 내지 도 13을 참조하여 설명된 불휘발성 메모리 장치 및 컨트롤러를 포함하는 메모리 시스템의 동작을 설명하기 위한 순서도이다.
도 15는 도 9의 메모리 시스템의 제 2 실시 예를 보여주는 블록도이다.
도 16은 도 9의 메모리 시스템의 제 3 실시 예를 보여주는 블록도이다.
도 17은 도 9의 메모리 시스템의 제 4 실시 예를 보여주는 블록도이다.
도 18은 도 17을 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.

Claims (10)

  1. 셀 당 하나 또는 그 이상의 비트를 저장하도록 구성되는 메모리 셀 어레이;
    상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로;
    상기 메모리 셀 어레이의 선택 메모리 셀의 읽기 동작을 적어도 두 번 수행하고, 상기 읽기 동작의 결과로서 읽기 데이터 심볼을 출력하도록 상기 읽기 및 쓰기 회로를 제어하는 제어 로직; 그리고
    상기 읽기 데이터 심볼의 패턴에 기반하여 상기 읽기 데이터 심볼의 에러를 정정하고, 에러 정정된 심볼을 출력하도록 구성되는 에러 정정부를 포함하는 불휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 읽기 동작 시에, 상기 선택 메모리 셀에 인가되는 읽기 전압이 조절되는 불휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 에러 정정부는 상기 읽기 데이터 심볼의 천이 비트를 검출하고, 그리고 상기 검출된 천이에 기반하여 상기 에러를 정정하도록 구성되는 불휘발성 메모리 장치.
  4. 제 2 항에 있어서,
    상기 에러 정정부는 미리 설정된 심볼들을 저장하고, 상기 읽기 데이터 심볼을 상기 미리 설정된 심볼들과 각각 비교하고, 그리고 상기 비교 결과에 따라 상기 읽기 데이터 심볼의 에러를 정정하도록 구성되는 불휘발성 메모리 장치.
  5. 불휘발성 메모리 장치; 그리고
    상기 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러를 포함하고,
    상기 불휘발성 메모리 장치는
    셀 당 하나 또는 그 이상의 비트를 저장하도록 구성되는 메모리 셀 어레이;
    상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로;
    상기 메모리 셀 어레이의 선택 메모리 셀의 읽기 동작을 적어도 두 번 수행하고, 그리고 상기 읽기 동작의 결과로서 읽기 데이터 심볼을 출력하도록 상기 읽기 및 쓰기 회로를 제어하는 제어 로직; 그리고
    상기 읽기 데이터 심볼의 패턴에 기반하여 상기 읽기 데이터 심볼의 에러를 정정하고, 에러 정정된 심볼을 출력하도록 구성되는 에러 정정부를 포함하고,
    상기 컨트롤러는 상기 에러 정정된 심볼의 연판정함으로써 상기 선택된 메모리 셀의 데이터를 판별하도록 구성되는 연판정 로직을 포함하는 메모리 시스템.
  6. 제 5 항에 있어서,
    상기 에러 정정된 심볼의 각 비트는 제 1 값 및 제 2 값 중 하나를 갖고,
    상기 연판정 로직은 상기 읽기 데이터 심볼의 비트들이 순차적으로 입력되는 동안 상기 제 1 값의 수를 카운트하고, 그리고 상기 카운트값의 우도(likelihood)를 계산하도록 구성되는 메모리 시스템.
  7. 제 5 항에 있어서,
    상기 불휘발성 메모리 장치 및 상기 컨트롤러는 반도체 드라이브(SSD, Solid State Drive)를 구성하는 메모리 시스템.
  8. 불휘발성 메모리 장치로부터 데이터를 읽는 읽기 방법에 있어서:
    선택 메모리 셀을 적어도 두번 읽어 읽기 데이터 심볼을 획득하고; 그리고
    상기 읽기 데이터 심볼의 패턴에 기반하여, 상기 읽기 데이터 심볼의 에러를 정정하여 에러 정정된 심볼을 획득하는 것을 포함하는 읽기 방법.
  9. 제 8 항에 있어서,
    상기 에러 정정된 심볼을 연판정하여, 상기 선택 메모리 셀의 데이터를 판별하는 것을 더 포함하는 읽기 방법.
  10. 제 8 항에 있어서,
    상기 선택 메모리 셀을 적어도 두 번 읽는 것은
    상기 선택 메모리 셀에 인가되는 읽기 전압을 가변하며 상기 선택 메모리 셀 을 적어도 두 번 읽는 것을 포함하는 읽기 방법.
KR1020090100234A 2009-10-21 2009-10-21 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템 KR101601849B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090100234A KR101601849B1 (ko) 2009-10-21 2009-10-21 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
US12/769,692 US8448048B2 (en) 2009-10-21 2010-04-29 Flash memory device and related programming method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090100234A KR101601849B1 (ko) 2009-10-21 2009-10-21 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20110043210A true KR20110043210A (ko) 2011-04-27
KR101601849B1 KR101601849B1 (ko) 2016-03-09

Family

ID=43880221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090100234A KR101601849B1 (ko) 2009-10-21 2009-10-21 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템

Country Status (2)

Country Link
US (1) US8448048B2 (ko)
KR (1) KR101601849B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130136274A (ko) * 2012-06-04 2013-12-12 삼성전자주식회사 저장 장치 및 그것의 데이터 처리 방법
CN110364191A (zh) * 2018-03-26 2019-10-22 爱思开海力士有限公司 存储器装置和具有该存储器装置的存储器系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016203631A1 (ja) * 2015-06-19 2016-12-22 株式会社日立製作所 フラッシュメモリデバイス
KR102408858B1 (ko) * 2017-12-19 2022-06-14 삼성전자주식회사 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100272153B1 (ko) * 1996-04-19 2000-12-01 니시무로 타이죠 3치기억 반도체기억시스템
KR20070115755A (ko) * 2006-05-31 2007-12-06 가부시끼가이샤 도시바 판독 레벨을 정확하게 보정할 수 있는 반도체 메모리디바이스
US20080209111A1 (en) * 2007-02-27 2008-08-28 Samsung Electronics Co., Ltd. Over-sampling read operation for a flash memory device
WO2008133087A1 (ja) * 2007-04-17 2008-11-06 Nec Corporation 半導体記憶装置及びその動作方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3753951B2 (ja) * 2001-05-31 2006-03-08 富士通株式会社 データ再生装置における欠陥検出装置及びそのデータ再生装置
US7296213B2 (en) * 2002-12-11 2007-11-13 Nvidia Corporation Error correction cache for flash memory
JP4331202B2 (ja) 2006-12-25 2009-09-16 株式会社東芝 再生装置及び再生方法
US8751755B2 (en) * 2007-12-27 2014-06-10 Sandisk Enterprise Ip Llc Mass storage controller volatile memory containing metadata related to flash memory storage
US7830708B1 (en) * 2009-04-22 2010-11-09 Seagate Technology Llc Compensating for variations in memory cell programmed state distributions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100272153B1 (ko) * 1996-04-19 2000-12-01 니시무로 타이죠 3치기억 반도체기억시스템
KR20070115755A (ko) * 2006-05-31 2007-12-06 가부시끼가이샤 도시바 판독 레벨을 정확하게 보정할 수 있는 반도체 메모리디바이스
US20080209111A1 (en) * 2007-02-27 2008-08-28 Samsung Electronics Co., Ltd. Over-sampling read operation for a flash memory device
WO2008133087A1 (ja) * 2007-04-17 2008-11-06 Nec Corporation 半導体記憶装置及びその動作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130136274A (ko) * 2012-06-04 2013-12-12 삼성전자주식회사 저장 장치 및 그것의 데이터 처리 방법
CN110364191A (zh) * 2018-03-26 2019-10-22 爱思开海力士有限公司 存储器装置和具有该存储器装置的存储器系统
CN110364191B (zh) * 2018-03-26 2022-10-21 爱思开海力士有限公司 存储器装置和具有该存储器装置的存储器系统

Also Published As

Publication number Publication date
KR101601849B1 (ko) 2016-03-09
US20110093765A1 (en) 2011-04-21
US8448048B2 (en) 2013-05-21

Similar Documents

Publication Publication Date Title
US8793554B2 (en) Switchable on-die memory error correcting engine
US20190068222A1 (en) Data storage apparatus and operating method thereof
US10075190B2 (en) Adaptive scheduler for decoding
KR101710663B1 (ko) 메모리 시스템 및 그것의 동작 방법
US9411679B2 (en) Code modulation encoder and decoder, memory controller including them, and flash memory system
CN106257594B (zh) 读取干扰收回策略
US9274886B2 (en) Data storage device having a reduced error occurrence, operating method thereof, and data processing system including the same
US10824523B2 (en) Data storage device and operating method thereof
US9768808B2 (en) Method for modifying device-specific variable error correction settings
US20120144261A1 (en) Error checking and correcting circuit, memory system compising error checking and correcting circuit, and related methods of operation
US20160299844A1 (en) Mapping Logical Groups of Data to Physical Locations In Memory
US20140136925A1 (en) Method of operating a data storage device
KR20160090054A (ko) 플래시 메모리 시스템 및 그의 동작 방법
US9304851B2 (en) Decoding with log likelihood ratios stored in a controller
KR20190038964A (ko) 에러 정정 코드 유닛, 그것의 인코딩 및 디코딩 방법
US20170286219A1 (en) Data storage device and operating method thereof
KR101601849B1 (ko) 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
US11082068B2 (en) Error correction circuit, memory controller having error correction circuit, and memory system having memory controller
TWI493562B (zh) 具有受配置以防止過度校正之錯誤校正的記憶體
CN106158046B (zh) 用于turbo乘积码的误校正避免
KR20100109223A (ko) 불휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그리고 그것의 동작 방법
US10671479B2 (en) High performance memory controller
US20100287447A1 (en) Memory system identifying and correcting erasure using repeated application of read operation
US9460782B2 (en) Method of operating memory controller and devices including memory controller
US9595341B2 (en) Memory system to determine interference of a memory cell by adjacent memory cells, and operating method thereof

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 5