KR20160108000A - 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법 - Google Patents

복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20160108000A
KR20160108000A KR1020150031734A KR20150031734A KR20160108000A KR 20160108000 A KR20160108000 A KR 20160108000A KR 1020150031734 A KR1020150031734 A KR 1020150031734A KR 20150031734 A KR20150031734 A KR 20150031734A KR 20160108000 A KR20160108000 A KR 20160108000A
Authority
KR
South Korea
Prior art keywords
voltage
voltages
read
page
data
Prior art date
Application number
KR1020150031734A
Other languages
English (en)
Inventor
유병성
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020150031734A priority Critical patent/KR20160108000A/ko
Priority to US14/835,347 priority patent/US20160260492A1/en
Priority to CN201510599151.8A priority patent/CN105938720A/zh
Publication of KR20160108000A publication Critical patent/KR20160108000A/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • 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
    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12005Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명의 실시 예에 따른 메모리 시스템의 동작 방법은, 복수의 페이지 데이터를 획득하도록 음의 전압 레벨부터 최대 전압 레벨 사이의 복수의 테스트 전압들을 순차적으로 선택된 워드 라인에 인가하면서 선택된 페이지를 읽고, 복수의 페이지 데이터에 기초하여 전압 상태들에 각각 대응하는 센터 전압들을 검출하고, 검출된 센터 전압들에 따라 읽기 전압들을 세팅하고, 그리고 세팅된 읽기 전압들을 선택된 워드 라인에 인가하여 선택된 페이지에 저장된 데이터를 읽는 단계를 포함한다.

Description

복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법{MEMORY SYSTEM INCLUDING MEMORY CELLS HAVING A PLURALITY OF VOLTAGE STATES AND OPERATING METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 메모리 시스템 및 그것의 동작 방법에 관한 것이다.
반도체 메모리 장치(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의 반도체 메모리 장치를 보여주는 블록도이다.
도 3는 도 2의 메모리 셀 어레이를 설명하기 위한 블록도이다.
도 4는 최하위 비트 프로그램 및 최상위 비트 프로그램 시 메모리 셀들의 문턱 전압 산포를 보여주는 다이어그램이다.
도 5는 MSB 프로그램이 완료된 후 제 1 내지 제 4 전압 상태들이 쉬프트되는 것을 설명하기 위한 도면이다.
도 6은 도 1의 메모리 시스템이 선택된 페이지의 데이터를 판별하기 위한 동작 방법을 보여주는 순서도이다.
도 7은 도 6의 S110단계의 실시 예를 보여주는 순서도이다.
도 8은 테스트 전압들을 설명하기 위한 도면이다.
도 9는 변경된 제 2 내지 제 4 전압 상태들의 센터 전압들을 검출하는 방법을 설명하기 위한 도면이다.
도 10은 센터 전압들에 따라 읽기 전압들을 세팅하는 방법을 설명하기 위한 도면이다.
도 11은 룩업 테이블을 보여주는 개념도이다.
도 12는 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 보여주는 순서도이다.
도 13은 메모리 시스템의 동작 방법의 다른 실시 예를 보여주는 순서도이다.
도 14는 도 1의 컨트롤러를 구현하기 위한 일 실시 예를 보여주는 블록도이다.
도 15는 도 1의 메모리 시스템의 응용 예를 보여주는 블록도이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(50)을 보여주는 블록도이다.
도 1을 참조하면, 메모리 시스템(50)은 반도체 메모리 장치(100) 및 컨트롤러(200)를 포함한다.
반도체 메모리 장치(100)는 컨트롤러(200)의 제어에 응답하여 동작한다. 반도체 메모리 장치(100)는 메모리 셀 어레이(110) 및 메모리 셀 어레이(110)를 구동하기 위한 주변 회로(120)를 포함한다. 메모리 셀 어레이(110)는 복수의 불휘발성 메모리 셀들을 포함한다.
주변 회로(120)는 컨트롤러(200)의 제어에 응답하여 동작한다. 주변 회로(120)는 컨트롤러(200)의 제어에 응답하여, 메모리 셀 어레이(110)에 데이터를 프로그램한다. 주변 회로(120)는 메모리 셀 어레이(110)로부터 데이터를 읽고 메모리 셀 어레이(110)의 데이터를 소거하도록 구성된다.
실시 예로서, 반도체 메모리 장치(100)의 읽기 동작 및 프로그램 동작은 페이지 단위로 수행될 수 있다. 반도체 메모리 장치(100)의 소거 동작은 메모리 블록 단위로 수행될 수 있다.
프로그램 동작 시에, 주변 회로(120)는 컨트롤러(200)로부터 프로그램 동작을 나타내는 커맨드, 물리 블록 어드레스(Physical Block Address), 및 쓰기 데이터를 수신할 것이다. 물리 블록 어드레스에 의해 하나의 메모리 블록과 그것에 포함된 하나의 페이지가 선택될 것이다. 주변 회로(120)는 선택된 페이지에 쓰기 데이터를 프로그램할 것이다.
읽기 동작 시에, 주변 회로(120)는 컨트롤러(200)로부터 읽기 동작을 나타내는 커맨드(이하, 읽기 커맨드), 물리 블록 어드레스를 수신할 것이다. 물리 블록 어드레스에 의해 하나의 메모리 블록과 그것에 포함된 하나의 페이지가 선택될 것이다. 주변 회로(120)는 선택된 페이지로부터 데이터를 읽고, 읽어진 데이터(이하, 페이지 데이터)를 컨트롤러(200)에 출력할 것이다.
소거 동작 시에, 주변 회로(120)는 컨트롤러(200)로부터 소거 동작을 나타내는 커맨드 및 물리 블록 어드레스를 수신할 것이다. 물리 블록 어드레스는 하나의 메모리 블록을 특정할 것이다. 주변 회로(120)는 물리 블록 어드레스에 대응하는 메모리 블록의 데이터를 소거할 것이다.
반도체 메모리 장치(100)는 불휘발성(nonvolatile) 메모리 장치이다. 실시 예로서, 반도체 메모리 장치(100)는 플래시 메모리 장치(Flash Memory Device)일 수 있다.
컨트롤러(200)은 반도체 메모리 장치(100)의 제반 동작을 제어한다. 컨트롤러(200)는 외부 호스트로부터의 요청에 응답하여 반도체 메모리 장치(100)를 액세스하도록 구성된다.
컨트롤러(200)는 램(210), 메모리 제어부(220) 및 에러 정정 블록(230)을 포함한다.
램(210)은 메모리 제어부(220)의 제어에 응답하여 동작한다. 메모리 제어부(220)는 반도체 메모리 장치(100)의 읽기 동작, 프로그램 동작, 소거 동작, 그리고 배경(background) 동작을 제어하도록 구성된다. 메모리 제어부(220)는 반도체 메모리 장치(100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
호스트가 읽기 요청(request)을 전송할 때, 메모리 제어부(220)는 읽기 요청에 해당하는 페이지(즉, 선택된 페이지)의 데이터를 식별하기 위해 읽기 커맨드를 반도체 메모리 장치(100)에 제공할 것이다. 메모리 제어부(220)는 읽기 요청에 포함된 논리 어드레스(Logical Block Address)를 물리 블록 어드레스(Physical Block Address)로 변환할 것이다. 실시 예로서, 메모리 제어부(220)는 플래시 변환 레이어(Flash Translation Layer, FTL)의 기능을 수행한다. 메모리 제어부(220)는 생성된 물리 블록 어드레스를 읽기 커맨드와 함께 반도체 메모리 장치(100)에 제공할 것이다.
읽기 커맨드에 응답하여, 반도체 메모리 장치(100)는 선택된 페이지로부터 페이지 데이터를 읽고, 읽어진 페이지 데이터를 컨트롤러(200)에 전송한다. 에러 정정 블록(230)은 메모리 제어부(220)의 제어에 응답하여 페이지 데이터에 에러가 포함되는지 여부를 판별한다. 예를 들면, 컨트롤러(200)는 에러 정정 코드(Error Correction Code)에 따라 페이지 데이터를 디코드할 수 있다. 에러 정정 코드로서 다양한 방식들이 이용될 수 있음이 이해될 것이다. 예를 들면, BCH 코드(Bose, Chaudhri, Hocquenghem Code), 리드 솔로몬 코드(Reed Solomon Code), 해밍 코드(Hamming code), LDPC 코드(low density parity check Code) 등 다양한 방식들의 에러 정정 코드들이 사용될 수 있음이 이해될 것이다. 예를 들면, 페이지 데이터에 설정된 개수 이상의 에러 비트들이 포함된 경우 디코드는 실패할 수 있다. 페이지 데이터에 설정된 개수보다 같거나 작은 에러 비트들이 포함된 경우 디코드는 성공할 수 있다.
디코드의 성공은 해당 읽기 커맨드가 패스됨을 의미할 것이다. 디코드의 실패는 해당 읽기 커맨드가 페일됨을 의미할 것이다. 디코드가 성공될 때 컨트롤러(200)는 에러가 정정된 페이지 데이터를 호스트로 출력할 것이다.
도 2는 도 1의 반도체 메모리 장치(100)를 보여주는 블록도이다. 도 3는 도 2의 메모리 셀 어레이(110)를 설명하기 위한 블록도이다.
도 2를 참조하면, 반도체 메모리 장치(100)는 메모리 셀 어레이(110) 및 주변 회로(120)를 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 복수의 메모리 셀들은 행 라인들(RL)을 통해 어드레스 디코더(121)에 연결되고, 비트 라인들(BL)을 통해 읽기 및 쓰기 회로(123)에 연결된다.
도 3를 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 제 1 내지 제 z 메모리 블록들(BLK1~BLKz)은 제 1 내지 제 m 비트 라인들(BL1~BLm)에 공통 연결된다. 제 1 내지 제 m 비트 라인들(BL1~BLm)은 도 2의 비트 라인들(BL)을 구성한다. 복수의 메모리 블록들(BLK1~BLKz) 각각은 소거 단위를 이룬다.
도 3에서, 설명의 편의를 위해 복수의 메모리 블록들(BLK1~BLKz) 중 하나(BLK1)에 포함된 요소들이 도시되고, 나머지 메모리 블록들(BLK2~BLKz) 각각에 포함된 요소들은 생략된다. 나머지 메모리 블록들(BLK2~BLKz) 각각은 제 1 메모리 블록(BLK1)과 마찬가지로 구성됨이 이해될 것이다.
메모리 블록(BLK1)은 복수의 셀 스트링들(CS1~CSm)을 포함한다. 제 1 내지 제 m 셀 스트링들(CS1~CSm)은 각각 제 1 내지 제 m 비트 라인들(BL1~BLm)에 연결된다.
복수의 셀 스트링들(CS1~CSm) 각각은 드레인 선택 트랜지스터(DST), 직렬 연결된 복수의 메모리 셀들(MC1~MCn) 및 소스 선택 트랜지스터(SST)를 포함한다. 드레인 선택 트랜지스터(DST)는 드레인 선택 라인(DSL1)에 연결된다. 제 1 내지 제 n 메모리 셀들(MC1~MCn)은 각각 제 1 내지 제 n 워드 라인들(WL1~WLn)에 연결된다. 소스 선택 트랜지스터(SST)는 소스 선택 라인(SSL1)에 연결된다.
드레인 선택 트랜지스터(DST)의 드레인 측은 해당 비트 라인에 연결된다. 소스 선택 트랜지스터(SST)의 소스 측은 기준 전압 노드에 연결된다. 실시 예로서, 소스 선택 트랜지스터(SST)의 소스 측은 공통 소스 라인(미도시)에 연결되고, 그러한 공통 소스 라인은 기준 전압으로 바이어스될 수 있다.
제 1 내지 제 m 셀 스트링들(CS1~CSm) 중 하나의 워드 라인에 연결된 메모리 셀들은 하나의 페이지(pg)를 구성한다. 따라서, 하나의 메모리 블록(BLK1)은 복수의 페이지들을 포함한다.
드레인 선택 라인(DSL1), 제 1 내지 제 n 워드 라인들(WL1~WLn) 및 소스 선택 라인(SSL1)은 도 2의 행 라인들(RL)에 포함된다. 드레인 선택 라인(DSL1), 제 1 내지 제 n 워드 라인들(WL1~WLn) 및 소스 선택 라인(SSL1)은 어드레스 디코더(121)에 의해 제어된다. 제 1 내지 제 m 비트 라인들(BL1~BLm)은 읽기 및 쓰기 회로(123)에 의해 제어된다.
다시 도 2를 참조하면, 주변 회로(120)은 어드레스 디코더(121), 전압 발생기(122), 읽기 및 쓰기 회로(123), 입출력 버퍼(124) 및 제어 로직(125)을 포함한다.
어드레스 디코더(121)은 행 라인들(RL)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(121)은 제어 로직(125)의 제어에 응답하여 동작하도록 구성된다. 어드레스 디코더(121)은 제어 로직(125)을 통해 물리 블록 어드레스(PA)를 수신한다.
반도체 메모리 장치(100)의 읽기 동작은 페이지(도 3의 pg 참조) 단위로 수행된다. 읽기 동작 시에 수신되는 물리 블록 어드레스(PA)는 블록 어드레스, 행 어드레스를 포함한다.
어드레스 디코더(121)는 수신된 물리 블록 어드레스(PA) 중 블록 어드레스를 디코딩하도록 구성된다. 어드레스 디코더(121)은 디코딩된 블록 어드레스에 따라 복수의 메모리 블록들(BLK1~BLKz) 중 하나의 메모리 블록을 선택한다.
어드레스 디코더(121)은 수신된 물리 블록 어드레스(PA) 중 행 어드레스를 디코딩하여 선택된 메모리 블록 중 하나의 워드 라인을 선택하도록 구성된다. 이에 따라 하나의 페이지가 선택된다. 어드레스 디코더(121)은 전압 발생기(122)로부터의 읽기 전압(혹은 테스트 전압)을 선택된 워드 라인에 인가하고, 전압 발생기(122)로부터의 패스 전압을 비선택된 워드 라인들에 인가할 수 있다.
전압 발생기(122)는 제어 로직(125)의 제어에 응답하여 동작한다. 전압 발생기(122)는 반도체 메모리 장치(100)에 공급되는 외부 전원 전압을 이용하여 내부 전원 전압을 생성한다. 예를 들면, 전압 발생기(122)는 외부 전원 전압을 레귤레이팅하여 내부 전원 전압을 생성한다. 이렇게 생성된 내부 전원 전압은 어드레스 디코더(121), 읽기 및 쓰기 회로(123), 입출력 버퍼(124) 및 제어 로직(125)에 제공되어 반도체 메모리 장치(100)의 동작 전압으로서 사용된다.
전압 발생기(122)는 외부 전원 전압 및 내부 전원 전압 중 적어도 하나를 이용하여 복수의 전압들을 생성한다. 실시 예로서, 전압 발생기(122)는 내부 전원 전압을 수신하는 복수의 펌핑 커패시터들을 포함하고, 제어 로직(125)의 제어에 응답하여 복수의 펌핑 커패시터들을 선택적으로 활성화함으로써 복수의 전압들을 생성한다. 예를 들면, 전압 발생기(122)는 읽기 동작 시에 읽기 전압 및 읽기 전압보다 높은 레벨의 패스 전압을 발생한다. 생성된 전압들은 어드레스 디코더(121)에 제공될 수 있다.
읽기 및 쓰기 회로(123)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결된다. 읽기 및 쓰기 회로(123)는 제어 로직(125)의 제어에 응답하여 동작한다.
읽기 및 쓰기 회로(123)는 읽기 동작 시 메모리 셀 어레이(110)의 선택된 페이지로부터 페이지 데이터(DATA)를 읽고, 저장한다. 페이지 데이터(DATA)는 데이터 라인(DL)을 통해 입출력 버퍼(124)로 전달된다.
입출력 버퍼(124)는 데이터 라인들(DL)을 통해 읽기 및 쓰기 회로(123)에 연결된다. 입출력 버퍼(124)는 제어 로직(125)의 제어에 응답하여 동작한다. 입출력 버퍼(124)는 읽기 및 쓰기 회로(123)로부터 데이터 라인들(DL)을 통해 전송된 페이지 데이터(DATA)를 컨트롤러(200, 도 1 참조)로 출력한다.
제어 로직(125)은 반도체 메모리 장치(100)의 제반 동작을 제어하도록 구성된다. 제어 로직(125)는 커맨드(CMD) 및 물리 블록 어드레스(PA)를 수신할 수 있다. 읽기 동작 시, 커맨드(CMD)는 읽기 커맨드일 것이다. 프로그램 동작 시, 커맨드(CMD)는 프로그램 동작을 나타내는 커맨드일 것이다. 소거 동작 시, 커맨드(CMD)는 소거 동작을 나타내는 커맨드일 것이다. 제어 로직(125)는 수신된 커맨드(CMD)에 응답하여 어드레스 디코더(121), 전압 발생기(122), 읽기 및 쓰기 회로(123) 및 입출력 버퍼(124)를 제어하도록 구성된다.
반도체 메모리 장치(100)의 설정값을 변경하기 위한 파라미터 설정 정보가 커맨드(CMD)로서 수신될 수 있다. 파라미터 설정 정보는 읽기 전압을 변경하기 위한 정보를 포함할 수 있다. 이러한 경우, 제어 로직(125)은 파라미터 설정 정보에 따라 읽기 전압을 조절하도록 전압 발생기(122)를 제어할 수 있다.
각 페이지에 포함된 메모리 셀들의 문턱 전압 상태들은 다양한 원인들에 의해 쉬프트될 수 있다. 선택된 워드 라인에 인가되는 읽기 전압이 조절됨으로써, 선택된 페이지의 데이터가 상이한 페이지 데이터로서 식별됨은 잘 알려져 있다. 적합하지 않은 읽기 전압을 인가함으로써, 페이지 데이터에 많은 에러 비트들이 포함될 수 있다. 읽기 전압을 조절함으로써, 페이지 데이터에 포함된 에러 비트들이 감소될 수 있다. 메모리 제어부(220, 도 1 참조)는 파라미터 설정 정보를 커맨드(CMD)로서 반도체 메모리 장치(100)에 제공하여 읽기 전압을 조절하고, 이후 읽기 커맨드를 커맨드(CMD)로서 전송하여 선택된 페이지의 페이지 데이터를 수신할 수 있다.
도 4는 최하위 비트(Least Significant Bit, LSB) 프로그램 및 최상위 비트(Most Significant Bit, MSB) 프로그램 시 메모리 셀들의 문턱 전압 산포를 보여주는 다이어그램이다. 도 4에서, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 수를 나타낸다.
도 4를 참조하면, 프로그램 전, 메모리 셀들은 소거 상태(E)를 갖는다. 예를 들면, 소거 상태(E)에 해당하는 전압 범위는 접지(Ground: 0V)보다 낮을 수 있다. 예를 들면, 소거 상태(E)의 메모리 셀들은 논리값 "1"을 저장하는 것으로 정의될 수 있다.
LSB 프로그램에 의해, 메모리 셀들은 2개의 전압 상태들(E, LP)을 갖게 된다. 메모리 셀들은 소거 상태(E) 또는 하위 프로그램 상태(Lower Program State, LP)를 갖도록 프로그램된다. 각 메모리 셀에 하나의 데이터 비트가 저장되어, 해당 페이지(pg, 도 3 참조)에 하나의 LSB 페이지가 저장된다. 예를 들면, 소거 상태(E)의 메모리 셀은 논리값 "1"을 저장하고, 하위 프로그램 상태(LP)의 메모리 셀은 논리값 "0"을 저장하는 것으로 정의될 수 있다.
해당 페이지 내에 LSB 페이지가 저장되고 MSB 페이지는 아직 저장되지 않는 경우, 제 1 읽기 전압(Vr1)이 선택된 워드 라인에 인가되어 LSB 페이지의 데이터가 페이지 데이터로서 읽어질 것이다. 제 1 읽기 전압(Vr1)보다 낮거나 같은 문턱 전압을 갖는 메모리 셀은 논리값 "1"로 읽혀질 것이다. 제 1 읽기 전압(Vr1)보다 높은 문턱 전압을 갖는 메모리 셀은 논리값 "0"으로 읽혀질 것이다.
LSB 프로그램 후에, MSB 프로그램이 수행된다. MSB 프로그램에 의해, 메모리 셀들은 4개의 전압 상태들(E, UP1, UP2, UP3)을 갖게 된다. 프로그램 데이터에 따라, 소거 상태(E) 및 하위 프로그램 상태(LP)의 메모리 셀들은 소거 상태(E) 및 제 1 내지 제 3 상위 프로그램 상태들(Uppwer Program State, UP1~UP3)을 갖도록 프로그램된다. 예를 들면, 소거 상태(E)의 메모리 셀은 소거 상태(E) 또는 제 1 상위 프로그램 상태(Upper Program State, UP1)를 갖도록 프로그램되고, 하위 프로그램 상태(LP)의 메모리 셀은 제 2 상위 프로그램 상태(UP2) 또는 제 3 상위 프로그램 상태(UP3)를 갖도록 프로그램될 수 있다.
이에 따라 각 메모리 셀에 2개의 데이터 비트들이 저장되어 해당 페이지에 LSB 페이지 및 MSB 페이지가 저장된다. 각 메모리 셀의 최하위 비트(LB)는 LSB 페이지를 구성한다. 각 메모리 셀의 최상위 비트(MB)는 MSB 페이지를 구성한다.
실시 예로서, 소거 상태(E)는 논리값 "11"에 대응되고, 제 1 상위 프로그램 상태(UP1)는 논리값 "01"에 대응되고, 제 2 상위 프로그램 상태(UP2)는 논리값 "00"에 대응되고, 제 3 상위 프로그램 상태(UP3)는 논리값 "10"에 대응될 수 있다. 즉, 소거 상태(E), 그리고 제 1 내지 제 3 상위 프로그램 상태들(UP1~UP3)의 최하위 비트들(LSBP)은 각각 "1", "1", "0" 및 "0"으로 정의되고, 소거 상태(E), 그리고 제 1 내지 제 3 상위 프로그램 상태들(UP1~UP3)의 최상위 비트들(MSBP)은 각각 "1", "0", "0" 및 "1"으로 정의될 수 있다.
선택 페이지 내에 LSB 페이지 및 MSB 페이지 모두가 저장된다고 가정한다. LSB 페이지에 대한 읽기 시에, 제 2 읽기 전압(Vr2)이 선택된 워드 라인에 인가되어 LSB 페이지에 저장된 데이터가 페이지 데이터로서 읽어질 것이다. MSB 페이지에 대한 읽기 시에, 제 3 읽기 전압(Vr3)이 선택된 워드 라인에 인가되어 제 1 읽기가 수행되고, 제 4 읽기 전압(Vr4)이 선택된 워드 라인에 인가되어 제 2 읽기가 수행되고, 제 1 및 제 2 읽기들의 결과에 따라 MSB 페이지에 저장된 데이터가 판별될 것이다.
메모리 셀들 각각에 많은 데이터 비트들이 저장될수록, 메모리 셀들이 갖는 전압 상태들의 개수는 증가한다. 전압 상태들이 많아질수록, 전압 상태들 사이의 읽기 마진(margin)은 감소할 수 있다. 전압 상태들(E, UP1, UP2, UP4) 사이의 읽기 마진들 사이에 제 2 내지 제 4 읽기 전압들(Vr2~Vr4)이 위치할 것이 요구된다.
이하, 설명의 편의를 위해 선택된 페이지에 LSB 페이지 및 MSB 페이지가 저장되고, 소거 상태(E) 및 제 1 내지 제 3 상위 프로그램 상태들(UP1~UP3)은 각각 제 1 내지 제 4 전압 상태들에 해당하는 것으로 정의된다.
도 5는 MSB 프로그램이 완료된 후 제 1 내지 제 4 전압 상태들(E, UP1, UP2, UP4)이 쉬프트되는 것을 설명하기 위한 도면이다. 도 5에서, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 수를 나타낸다.
도 5를 참조하면, 제 2 전압 상태(UP1)는 음의 방향으로 쉬프트되고, 해당 메모리 셀들은 변경된 제 2 전압 상태(UP11)를 갖는다. 제 3 전압 상태(UP2)는 양의 방향으로 쉬프트되고, 해당 메모리 셀들은 변경된 제 3 전압 상태(UP21)를 갖는다. 제 4 전압 상태(UP3)는 양의 방향으로 쉬프트되고, 해당 메모리 셀들은 변경된 제 4 전압 상태(UP31)를 갖는다.
반도체 메모리 장치(50)에서, 프로그램 및 소거 사이클(Program Erase Cycle)이 반복될수록 메모리 셀은 열화된다. 예를 들면, 각 메모리 셀에 포함된 산화막은 열화되어 의도치 않게 전자를 포획할 수 있다. 이러한 경우, 해당 메모리 셀의 문턱 전압은 의도치 않게 높아질 수 있다. 도 5에서 변경된 제 3 전압 상태(UP21) 및 변경된 제 4 전압 상태(UP31)가 이에 해당한다. 변경된 제 3 전압 상태(UP21)는 제 3 전압 상태(UP2)보다 높아진 전압 범위를 갖는다. 변경된 제 4 전압 상태(UP31)는 제 4 전압 상태(UP3)보다 높아진 전압 범위를 갖는다.
반도체 메모리 장치(50)에서, 메모리 셀에 대한 프로그램이 완료된 후 메모리 셀에 트랩된 전하는 누설될 수 있다. 예를 들면, 메모리 셀의 플로팅 게이트에 트랩된 전자들은 시간이 경과할수록 누설될 수 있다. 이러한 경우, 해당 메모리 셀의 문턱 전압은 의도치 않게 낮아질 수 있다. 도 5에서 변경된 제 2 전압 상태(UP11)가 이에 해당한다. 변경된 제 2 전압 상태(UP11)는 제 2 전압 상태(UP1)보다 낮아진 전압 범위를 갖는다. 특히 변경된 제 2 전압 상태(UP11)의 전압 범위가 음의 전압 레벨을 포함하는 경우, 소거 상태(E)와 변경된 제 2 전압 상태(UP11) 사이의 읽기 마진은 더 감소한다.
도 5에서 소거 상태(E)는 쉬프트되지 않는 것으로 도시된다. 하지만, 이는 예시적인 것으로서 소거 상태(E) 또한 양의 방향으로 혹은 음의 방향으로 쉬프트될 수 있음이 이해될 것이다.
제 1 내지 제 4 전압 상태들(E, UP1, UP2, UP3)의 전압 범위들이 변경되면, 제 2 내지 제 4 읽기 전압들(Vr2~Vr4)은 읽기 마진들 사이에 위치하지 않을 수 있다. 만약 제 2 내지 제 4 읽기 전압들(Vr2~Vr4)을 이용하여 읽기가 수행되면, 읽어진 페이지 데이터는 많은 에러 비트들을 포함할 것이다.
도 6은 도 1의 메모리 시스템(50)이 선택된 페이지의 데이터를 판별하기 위한 동작 방법(300)을 보여주는 순서도이다. 도 6을 참조한 설명에서, 설명의 편의를 위해 선택된 페이지에 LSB 페이지 및 MSB 페이지가 저장된다고 가정한다.
도 1 및 도 6을 참조하면, S110단계에서, 컨트롤러(200)는 최소 전압 레벨부터 최대 전압 레벨 사이의 복수의 테스트 전압들을 이용하여 선택된 페이지로부터 복수의 페이지 데이터들을 획득한다. 이때, 최소 전압 레벨은 음의 전압 레벨이다. 최소 전압 레벨과 최대 전압 레벨은 미리 정해진 값일 수 있다. 실시 예로서, 최소 전압 레벨은 제 1 전압 상태(E, 도 5 참조)의 전압 범위에 속할 수 있다. 최대 전압 레벨은 변경된 제 1 내지 제 4 전압 상태들(E, UP11~UP31, 도 5 참조)의 전압 범위들보다 더 높다. 따라서, 최소 전압 레벨과 최대 전압 레벨 사이의 전압 범위는 제 1 전압 상태(E)를 제외한 제 2 내지 제 4 전압 상태들(UP11, UP21, UP31)의 전압 범위들을 포함한다.
각 테스트 전압이 선택된 워드 라인에 인가되어 선택된 페이지로부터 페이지 데이터가 획득될 것이다. 획득된 페이지 데이터는 컨트롤러(200)에 전송되고, 메모리 제어부(220)는 페이지 데이터를 램(210)에 저장할 수 있다. x번의 읽기들을 통해 x개의 페이지 데이터들이 획득될 수 있다(x는 자연수). 복수의 페이지 데이터들을 통해 제 2 내지 제 4 전압 상태들(UP1, UP2, UP3)이 판별될 수 있다. 복수의 페이지 데이터들에 기초하여 복수의 샘플링 데이터들을 생성함으로써, 제 2 내지 제 4 전압 상태들(UP1, UP2, UP3)의 산포가 판별될 수 있다.
S120단계에서, 컨트롤러(200)는 복수의 페이지 데이터들에 기초하여 제 2 내지 제 4 전압 상태들(UP1, UP2, UP3) 각각의 센터 전압을 검출한다. 이는 도 9를 참조하여 더 상세히 설명된다.
S130단계에서, 컨트롤러(200)는 검출된 센터 전압들에 따라 제 2 내지 제 4 전압 상태들(UP1, UP2, UP3)에 대응하는 읽기 전압들을 세팅한다. 이는 도 10을 참조하여 더 상세히 설명된다.
S140단계에서, 컨트롤러(200)는 선택된 페이지에 대한 읽기를 수행한다. S130단계에서 세팅된 각 읽기 전압이 선택된 워드 라인에 인가되어 선택된 페이지에 대한 읽기가 수행될 것이다. MSB 페이지에 대한 읽기 시에, 세팅된 읽기 전압들 중 하나가 선택된 워드 라인에 인가되어 제 1 읽기가 수행되고, 세팅된 읽기 전압들 중 나머지 하나가 선택된 워드 라인에 인가되어 제 2 읽기가 수행되고, 제 1 및 제 2 읽기들의 결과에 따라 MSB 페이지에 저장된 데이터가 판별될 것이다.
도 7은 도 6의 S110단계의 실시 예를 보여주는 순서도이다. 도 8은 테스트 전압들(Vt1~Vtp+1)을 설명하기 위한 도면이다. 도 7에서, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 수를 나타낸다.
먼저 도 1 및 도 7을 참조하면, S111단계에서, 메모리 제어부(220)는 반도체 메모리 장치(50)에 파라미터 설정 정보를 전송한다. 파라미터 설정 정보는 전압 발생기(122, 도 2 참조)에서 생성될 테스트 전압의 레벨에 대한 정보를 포함한다. 제어 로직(125)은 파라미터 설정 정보에 따라 전압 발생기(122)에서 생성될 테스트 전압을 세팅한다.
S112단계에서, 메모리 제어부(220)는 선택된 페이지를 읽는다. 메모리 제어부(220)는 읽기 커맨드, 그리고 선택된 페이지를 가리키는 물리 블록 어드레스를 반도체 메모리 장치(100)에 전송할 것이다. 반도체 메모리 장치(100)는 S111단계에서 세팅된 테스트 전압을 선택된 워드 라인에 인가하여 선택된 페이지로부터 페이지 데이터를 읽는다. 그리고, 반도체 메모리 장치(100)는 읽어진 페이지 데이터를 컨트롤러(200)에 전송한다. 메모리 제어부(220)는 페이지 데이터를 램(210)에 저장할 것이다.
S113단계에서, 메모리 제어부(220)는 파라미터 설정 정보가 최대 전압 레벨에 도달하였는지 판별한다. 만약 그렇지 않다면, S111단계가 재수행된다.
도 8을 참조하면, 제 1 내지 제 p+1 테스트 전압들(Vt1~Vtp+1) 각각을 나타내는 파라미터 설정 정보가 S111단계가 수행될 때마다 순차적으로 전송될 것이다. S111단계가 수행될 때마다 파라미터 설정 정보가 나타내는 테스트 전압의 레벨은 증가할 수 있다. 제 1 내지 제 p+1 테스트 전압들(Vt1~Vtp+1)을 이용하여 제 1 내지 제 p+1 페이지 데이터들이 읽어질 것이다.
제 1 내지 제 p+1 테스트 전압들(Vt1~Vtp+1) 사이의 전압 차가 감소할수록, 도 6의 S120단계에서 검출되는 센터 전압들의 신뢰성은 증가할 것이다. 제 1 내지 제 p+1 테스트 전압들(Vt1~Vtp+1) 사이의 전압 차가 증가할수록, 도 6의 S120단계에서 검출되는 센터 전압들의 신뢰성은 감소할 것이다.
제 1 테스트 전압(Vt1)은 제 1 전압 상태(E)의 전압 범위(ERV)에 속할 수 있다. 이에 따라, 제 1 전압 상태(E)와 인접한 제 2 전압 상태(UP11)가 음의 방향으로 과도하게 쉬프트되더라도, 제 2 전압 상태(UP11)가 좀 더 정확히 판별될 수 있다.
도 9는 변경된 제 2 내지 제 4 전압 상태들(UP11~UP31)의 센터 전압들을 검출하는 방법을 설명하기 위한 도면이다. 도 9에서, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 수를 나타낸다.
도 9를 참조하면, 제 1 내지 제 p+1 테스트 전압들(Vt1~Vtp+1)에 의해 제 1 내지 제 p 전압 범위들(RV1~RVp)이 구분된다. 메모리 제어부(220, 도 1 참조)는 복수의 페이지 데이터들에 기초하여, 제 1 내지 제 p 전압 범위들(RV1~RVp)에 각각 대응하는 제 1 내지 제 p 샘플링 데이터들(SD1~SDp)을 연산한다.
실시 예로서, 제 q(q는 1보다 크거나 같고 p보다 작거나 같은 자연수) 샘플링 데이터는 제 q 페이지 데이터와 제 q+1 페이지 데이터를 비교함으로써 검출될 수 있다. 제 q 페이지 데이터와 제 q+1 페이지 데이터는 데이터 비트별로 비교될 수 있다. 제 q 페이지 데이터의 데이터 비트와 제 q+1 페이지 데이터의 해당 데이터 비트가 비교될 것이다. 제 q 샘플링 데이터는 제 q 페이지 데이터 내에서 논리값 "0"이고 제 q+1 페이지 데이터 내에서 논리값 "1"인 데이터 비트들의 수를 나타낼 수 있다. 이에 따라, 각 샘플링 데이터는 해당 전압 범위에 속하는 문턱 전압들을 갖는 메모리 셀들의 수를 나타낼 수 있다. 제 1 내지 제 p 샘플링 데이터들(SD1~SDp)에 따라 변경된 제 2 내지 제 4 전압 상태들(UP11, UP21, UP31)이 판별될 수 있다.
샘플링 데이터의 값이 큰 것은, 해당 전압 범위에 센터 전압이 속함을 의미한다. 도 9에서, 변경된 제 2 전압 상태(UP11)는 제 4 전압 범위(RV4)에 속하는 것으로 도시된다. 제 4 샘플링 데이터(SD4)는 인접 샘플링 데이터들(예를 들면 SD2, SD3, SD5 및 SD6)보다 큰 값을 가질 것이다. 메모리 제어부(220)는 변경된 제 2 전압 상태(UP11)에 대응하는 제 1 센터 전압이 제 4 전압 범위(RV4) 내에 속함을 감지할 것이다. 메모리 제어부(220)는 제 4 전압 범위(RV4)에 속하는 전압을 제 1 센터 전압으로 결정할 것이다. 예를 들면, 제 1 센터 전압은 제 4 전압 범위(RV4)의 평균 전압으로서 결정될 수 있다. 제 10 샘플링 데이터(SD10)는 인접 샘플링 데이터보다 큰 값을 가질 것이다. 메모리 제어부(220)는 제 10 전압 범위(RV10)에 속하는 전압을, 변경된 제 3 전압 상태(UP21)에 대응하는 제 2 센터 전압으로 결정할 것이다. 도 9에 표시되지는 않으나, 메모리 제어부(220)는 제 r(r은 1보다 크거나 같고 p보다 작거나 같은 자연수) 전압 범위(RVr)에 속하는 전압을, 변경된 제 4 전압 상태(UP31)에 대응하는 제 3 센터 전압으로 결정할 것이다.
도 10은 센터 전압들에 따라 읽기 전압들을 세팅하는 방법을 설명하기 위한 도면이다. 도 10에서, 가로축은 문턱 전압을 나타내고, 세로축은 메모리 셀들의 수를 나타낸다.
도 10을 참조하면, 제 1 내지 제 3 센터 전압들(Vc1~Vc3)이 검출되면, 메모리 제어부(220)는 제 1 내지 제 3 센터 전압들(Vc1~Vc3)을 각각 제 1 내지 제 3 디폴트 전압들(Vd1~Vd3)과 비교한다. 제 1 내지 제 3 디폴트 전압들(Vd1~Vd3)은 메모리 셀 어레이(110) 내 특정 저장 영역에 메타 정보로서 저장되고, 파워 온 후에, 램(210)에 로드될 수 있다. 제 1 내지 제 3 디폴트 전압들(Vd1~Vd3)은 각각 제 2 내지 제 4 전압 상태들(UP1~UP3)에 대응한다. 메모리 제어부(220)는 각 센터 전압과 해당 디폴트 전압 사이의 차이값을 계산한다. 메모리 제어부(220)는 계산된 차이값을 해당 읽기 전압에 반영한다.
도 10에서, 제 1 센터 전압(Vc1)은 제 1 디폴트 전압(Vd1)보다 제 1 차이값(dV1)만큼 낮다. 이는, 변경된 제 2 전압 상태(UP11)가 제 2 전압 상태(UP1)보다 음의 방향으로 쉬프트됨을 의미한다. 해당 읽기 전압(Vr3)은 낮아질 것이 요구된다. 메모리 제어부(220)는 제 3 읽기 전압(Vr3)보다 제 1 차이값(dV1)만큼 낮은 전압(Vr31)을 선택할 수 있다.
제 2 센터 전압(Vc2)은 제 2 디폴트 전압(Vd2)보다 제 2 차이값(dV2)만큼 높다. 이는, 변경된 제 3 전압 상태(UP21)가 제 3 전압 상태(UP2)보다 양의 방향으로 쉬프트됨을 의미한다. 해당 읽기 전압(Vr2)은 높아질 것이 요구된다. 메모리 제어부(220)는 제 2 읽기 전압(Vr2)보다 제 2 차이값(dV2)만큼 높은 전압(Vr21)을 선택할 수 있다.
제 3 센터 전압(Vc3)은 제 3 디폴트 전압(Vd3)보다 제 3 차이값(dV3)만큼 높다. 해당 읽기 전압(Vr4)은 높아질 것이 요구된다. 메모리 제어부(220)는 제 4 읽기 전압(Vr4)보다 제 3 차이값(dV3)만큼 높은 전압(Vr41)을 선택할 수 있다.
만약, LSB 페이지에 대한 읽기가 수행된다고 가정한다. 메모리 제어부(220)는 반도체 메모리 장치(100)에 파라미터 설정 정보를 전송하여, 읽기 시 변경된 제 2 읽기 전압(Vr21)을 사용하도록 반도체 메모리 장치(100)를 제어할 것이다. 이후 읽기 시, 반도체 메모리 장치(100)는 변경된 제 2 읽기 전압(Vr21)을 선택된 워드 라인에 인가하여 읽기를 수행할 것이다. 반도체 메모리 장치(100)는 읽어진 페이지 데이터를 컨트롤러(200)에 제공한다.
만약, MSB 페이지에 대한 읽기가 수행된다고 가정한다. 메모리 제어부(220)는 반도체 메모리 장치(100)에 파라미터 설정 정보를 전송하여, 제 1 및 제 2 읽기들 시에 각각 변경된 제 3 및 제 4 읽기 전압들(V31, V41)을 사용하도록 반도체 메모리 장치(100)를 제어할 것이다. 이후, 반도체 메모리 장치(100)는 변경된 제 3 읽기 전압(Vr31)을 선택된 워드 라인에 인가하여 제 1 읽기를 수행하고, 변경된 제 4 읽기 전압(Vr41)을 선택된 워드 라인에 인가하여 제 2 읽기를 수행할 것이다. 반도체 메모리 장치(100)는 제 1 및 제 2 읽기들의 결과에 따라 MSB 페이지에 저장된 페이지 데이터를 판별하고, 판별된 페이지 데이터를 컨트롤러(200)에 제공한다.
본 발명의 실시 예에 따르면, 컨트롤러(200)는 선택된 페이지의 전압 상태들(E, UP11~UP31) 중 적어도 일부(UP11~UP31)의 센터 전압들을 식별하고, 식별된 센터 전압들에 따라 읽기 전압들을 조절한다. 이에 따라, 전압 상태들(E, UP11~UP31) 사이의 읽기 마진들 내에서 효율적으로 읽기 전압들을 결정할 수 있다. 따라서, 향상된 신뢰성을 갖는 메모리 시스템(50)이 제공된다.
도 11은 룩업 테이블(Look-Up Table, LUT)을 보여주는 개념도이다.
도 11을 참조하면, 룩업 테이블(LUT)은 전압 상태 별로 복수의 비교 전압들을 저장한다. 제 2 전압 상태(UP1)에 대응하는 제 1 내지 제 a 비교 전압들(V21~V2a)이 정의된다. 제 3 전압 상태(UP2)에 대응하는 제 1 내지 제 b 비교 전압들(V31~V3b)이 정의된다. 제 4 전압 상태(UP4)에 대응하는 제 1 내지 제 c 비교 전압들(V41~V4c)이 정의된다.
룩업 테이블(LUT)은 각 비교 전압에 대응하는 전압 레벨을 저장한다. 제 2 전압 상태(UP1)의 제 1 내지 제 a 비교 전압들(V21~V2a)은 각각 제 1 내지 제 a 전압 레벨들(V2_1~V2_a)에 대응한다. 제 3 전압 상태(UP2)의 제 1 내지 제 b 비교 전압들(V31~V3b)은 각각 제 1 내지 제 b 전압 레벨들(V3_1~V3_b)에 대응한다. 제 4 전압 상태(UP4)의 제 1 내지 제 c 비교 전압들(V41~V4c)은 각각 제 1 내지 제 c 전압 레벨들(V4_1~V4_c)에 대응한다.
이러한 룩업 테이블(LUT)은 램(210)에 저장될 수 있다. 메모리 제어부(220)는, 각 전압 상태의 센터 전압이 결정되면, 결정된 센터 전압과 일치하는 비교 전압을 룩업 테이블(LUT) 내에서 서치하고, 서치된 비교 전압에 해당하는 전압 레벨을 읽기 전압으로서 결정할 수 있다. 즉, 메모리 제어부(220)는 각 전압 상태의 센터 전압이 결정되면, 결정된 센터 전압을 룩업 테이블(LUT) 내에서 조회하여 읽기 전압을 결정할 수 있다. 룩업 테이블(LUT)을 구비함으로써, 센터 전압의 결정 후 읽기 전압을 결정하기 위한 연산 없이 빠른 시간 내에 룩업 테이블(LUT)으로부터 읽기 전압이 획득될 수 있다. 룩업 테이블(LUT)을 구비함으로써, 반도체 메모리 장치(100)의 특성에 맞게 읽기 전압이 조절될 수 있다.
도 12는 본 발명의 실시 예에 따른 메모리 시스템(50)의 동작 방법을 보여주는 순서도이다.
도 1 및 도 12를 참조하면, S510단계에서, 호스트로부터 읽기 요청이 수신되면, 컨트롤러(200)는 하드 판정(hard decision)에 기초하여 선택된 페이지의 데이터를 판별한다. 컨트롤러(200)는 선택된 페이지의 페이지 데이터를 반도체 메모리 장치(100)로부터 읽을 것이다. 컨트롤러(200)는 하드 판정에 따른 에러 정정 코드에 따라 페이지 데이터를 정정할 것이다. 예를 들면, 컨트롤러(200)는 BCH 코드, 리드 솔로몬 코드 및 해밍 코드 등에 따라 페이지 데이터를 디코딩할 것이다.
S520단계에서, 만약 에러 정정이 실패할 때 S530단계가 수행된다.
S530단계에서, 컨트롤러(200)는 소프트 판정(soft decision)에 기초하여 선택된 페이지의 데이터를 판별한다. 컨트롤러(200)는 선택된 페이지의 페이지 데이터를 반도체 메모리 장치(100)로부터 읽을 것이다. 컨트롤러(200)는 소프트 판정에 따른 에러 정정 코드에 따라 페이지 데이터를 정정할 것이다. 예를 들면, 컨트롤러(200)는 LDPC 코드 등에 따라 페이지 데이터를 디코딩할 것이다.
S540단계에서, 소프트 판정에 기초한 에러 정정이 성공하였는지 여부를 판별한다. 만약 실패했다면, 컨트롤러(200)는 도 6을 참조하여 설명된 동작 방법(300)을 수행할 수 있다.
도 13은 메모리 시스템(50)의 동작 방법의 다른 실시 예를 보여주는 순서도이다.
도 1 및 도 13을 참조하면, S610단계에서 S640단계는 도 12를 참조하여 설명된 S510단계 내지 S540단계와 마찬가지로 설명된다. 이하 중복되는 설명은 생략된다.
S650단계에서, 컨트롤러(200)는 소프트 판정에 기초한 에러 정정이 실패할 때 읽기 페일 신호를 외부 호스트로 출력한다. 외부 호스트는 읽기 페일 신호에 따라 선택된 페이지의 데이터가 읽어질 수 없음을 감지할 것이다. 이때, 외부 호스트는 스페셜 읽기 요청을 추가적으로 컨트롤러(200)에 제공할 수 있다.
S660단계에서, 컨트롤러(200)는 스페셜 읽기 요청이 수신되는지 여부를 판별한다. 만약 스페셜 읽기 요청이 수신된다면, 컨트롤러(200)는 도 6을 참조하여 설명된 동작 방법(300)을 수행할 수 있다.
도 14는 도 1의 컨트롤러(200)를 구현하기 위한 일 실시 예(1200)를 보여주는 블록도이다.
도 14를 참조하면, 컨트롤러(1200)는 램(1210, Random Access Memory), 프로세싱 유닛(1220, processing unit), 호스트 인터페이스(1230, host interface), 메모리 인터페이스(1240, memory interface) 및 에러 정정 블록(1250)을 포함한다.
프로세싱 유닛(1220)은 컨트롤러(1200)의 제반 동작을 제어한다. 램(1210)은 프로세싱 유닛(1220)의 동작 메모리, 반도체 메모리 장치(100, 도 4 및 도 11 참조) 및 호스트 사이의 캐시 메모리, 그리고 반도체 장치(100) 및 호스트 사이의 버퍼 메모리 중 적어도 하나로서 이용될 수 있다. 프로세싱 유닛(1220) 및 램(1210)은 도 1의 메모리 제어부(220)의 기능을 수행할 것이다. 예를 들면, 프로세싱 유닛(1220)은 프로그램 명령, 데이터 파일, 데이터 구조 등을 램(1210)에 로드하고, 로드된 데이터를 실행함으로써 메모리 제어부(220)의 기능을 수행할 것이다.
추가적으로, 램(1210)은 도 1의 램(210)으로 이용된다. 도 14에는 하나의 램(1210)이 제공되는 것이 도시되나, 2 이상의 램들이 제공될 수 있음이 이해될 것이다.
호스트 인터페이스(1230)는 호스트 및 컨트롤러(1200) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 실시 예로서, 컨트롤러(1200)는 USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜, 사유(private) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트와 통신하도록 구성된다.
메모리 인터페이스(1240)는 반도체 메모리 장치(100)와 인터페이싱한다. 에러 정정 블록(1250)은 에러 정정 코드를 이용하여 페이지 데이터를 디코딩할 것이다.
도 15는 도 1의 메모리 시스템(50)의 응용 예(2000)를 보여주는 블록도이다.
도 15를 참조하면, 메모리 시스템(2000)은 반도체 메모리 장치(2100) 및 컨트롤러(2200)를 포함한다. 반도체 메모리 장치(2100)는 복수의 반도체 메모리 칩들을 포함한다. 복수의 반도체 메모리 칩들은 복수의 그룹들로 분할된다.
도 15에서, 복수의 그룹들은 각각 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(2200)와 통신하는 것으로 도시되어 있다. 각 반도체 메모리 칩은 도 2를 참조하여 설명된 반도체 메모리 장치(100)와 마찬가지로 구성되고, 동작할 것이다.
각 그룹은 하나의 공통 채널을 통해 컨트롤러(2200)와 통신하도록 구성된다. 컨트롤러(2200)는 도 14를 참조하여 설명된 컨트롤러(1200)와 마찬가지로 구성되고, 복수의 채널들(CH1~CHk)을 통해 반도체 메모리 장치(2100)의 복수의 메모리 칩들을 제어하도록 구성된다.
도 15에서, 하나의 채널에 복수의 반도체 메모리 칩들이 연결되는 것으로 설명되었다. 그러나, 하나의 채널에 하나의 반도체 메모리 칩이 연결되도록 메모리 시스템(2000)이 변형될 수 있음이 이해될 것이다.
본 발명의 실시 예에 따르면, 컨트롤러는 선택된 페이지의 전압 상태들 중 적어도 일부의 센터 전압들을 식별하고, 식별된 센터 전압들에 따라 읽기 전압들을 조절한다. 이에 따라, 전압 상태들 사이의 읽기 마진들 내에서 효율적으로 읽기 전압들을 결정할 수 있다. 따라서, 향상된 신뢰성을 갖는 메모리 시스템이 제공된다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 반도체 메모리 장치
110: 메모리 셀 어레이
120: 주변 회로
210: 램
220: 메모리 제어부
230: 에러 정정 블록

Claims (18)

  1. 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템의 동작 방법에 있어서:
    복수의 페이지 데이터를 획득하도록, 음의 전압 레벨부터 최대 전압 레벨 사이의 복수의 테스트 전압들을 순차적으로 선택된 워드 라인에 인가하면서 선택된 페이지를 읽는 단계;
    상기 복수의 페이지 데이터에 기초하여, 상기 복수의 전압 상태들 중 적어도 일부의 전압 상태들에 각각 대응하는 센터 전압들을 검출하는 단계;
    상기 검출된 센터 전압들에 따라 읽기 전압들을 세팅하는 단계; 및
    상기 세팅된 읽기 전압들을 상기 선택된 워드 라인에 인가하여 상기 선택된 페이지에 저장된 데이터를 읽는 단계를 포함하는 동작 방법.
  2. 제 1 항에 있어서,
    상기 음의 전압 레벨은 상기 복수의 전압 상태들 중 가장 낮은 전압 상태의 전압 범위 내에 속하는 동작 방법.
  3. 제 1 항에 있어서,
    상기 최대 전압 레벨은 상기 복수의 전압 상태들의 전압 범위들보다 더 높은 동작 방법.
  4. 제 1 항에 있어서,
    상기 센터 전압들에 각각 대응하는 디폴트 전압들이 정의되고,
    상기 읽기 전압들을 세팅하는 단계는,
    상기 센터 전압들 각각과 해당 디폴트 전압 사이의 차이에 따라 상기 읽기 전압들을 세팅하는 단계를 포함하는 동작 방법.
  5. 제 1 항에 있어서,
    상기 메모리 시스템은 복수의 비교 전압들에 각각 대응하는 전압 레벨들을 정의하는 룩업 테이블(look-up table)을 저장하고,
    상기 읽기 전압들을 세팅하는 단계는,
    상기 룩업 테이블 내 비교 전압들 중 상기 검출된 센터 전압들과 일치하는 비교 전압들을 서치하고, 상기 서치된 비교 전압들에 각각 대응하는 전압 레벨들을 상기 읽기 전압들로 세팅하는 단계를 포함하는 동작 방법.
  6. 제 1 항에 있어서,
    상기 센터 전압들을 검출하는 단계는,
    상기 복수의 페이지 데이터에 따라, 상기 복수의 테스트 전압들에 의해 구분되는 전압 범위들 각각에 해당하는 샘플링 데이터를 연산하는 단계; 및
    상기 샘플링 데이터에 따라 상기 센터 전압들을 검출하는 단계를 포함하는 동작 방법.
  7. 제 6 항에 있어서,
    상기 샘플링 데이터는 상기 전압 범위들 각각에 해당하는 메모리 셀들의 개수에 해당하는 동작 방법.
  8. 제 1 항에 있어서,
    하드 판정(hard decision)에 기초하여 상기 선택된 페이지의 데이터를 판별하는 단계를 더 포함하는 동작 방법.
  9. 제 8 항에 있어서,
    상기 하드 판정에 기초한 상기 판별이 실패할 때, 소프트 판정(soft decision)에 기초하여 상기 선택된 페이지의 데이터를 판별하는 단계를 더 포함하는 동작 방법.
  10. 제 9 항에 있어서,
    상기 소프트 판정에 기초한 상기 판별이 실패할 때, 상기 복수의 테스트 전압들을 순차적으로 상기 선택된 워드 라인에 인가하면서 상기 선택된 페이지를 읽는 단계가 수행되는 동작 방법.
  11. 제 1 항에 있어서,
    상기 소프트 판정에 기초한 상기 판별이 실패할 때, 외부 호스트에 읽기 페일 신호를 출력하는 단계; 및
    상기 호스트로부터 스페셜 읽기 요청이 수신될 때, 상기 복수의 테스트 전압들을 순차적으로 상기 선택된 워드 라인에 인가하면서 상기 선택된 페이지를 읽는 단계가 수행되는 동작 방법.
  12. 복수의 워드 라인들에 각각 연결된 복수의 페이지들을 포함하되, 상기 복수의 페이지들 각각은 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 반도체 메모리 셀 어레이; 및
    복수의 페이지 데이터를 획득하도록 음의 전압 레벨부터 최대 전압 레벨 사이의 복수의 테스트 전압들을 순차적으로 이용하여 선택된 페이지를 읽고, 상기 복수의 페이지 데이터에 기초하여 상기 복수의 전압 상태들 중 적어도 일부의 전압 상태들에 각각 대응하는 센터 전압들을 검출하는 컨트롤러를 포함하되,
    상기 컨트롤러는 상기 검출된 센터 전압들에 따라 읽기 전압들을 세팅하고 상기 세팅된 읽기 전압들을 이용하여 상기 선택된 페이지에 저장된 데이터를 읽는 메모리 시스템.
  13. 제 12 항에 있어서,
    상기 음의 전압 레벨은 상기 복수의 전압 상태들 중 가장 낮은 전압 상태의 전압 범위 내에 속하는 메모리 시스템.
  14. 제 12 항에 있어서,
    상기 최대 전압 레벨은 상기 복수의 전압 상태들의 전압 범위들보다 더 높은 메모리 시스템.
  15. 제 12 항에 있어서,
    상기 컨트롤러는 상기 센터 전압들에 각각 대응하는 디폴트 전압들을 저장하고, 상기 센터 전압들 각각과 해당 디폴트 전압 사이의 차이에 따라 상기 읽기 전압들을 세팅하는 메모리 시스템.
  16. 제 12 항에 있어서,
    상기 컨트롤러는 복수의 비교 전압들에 각각 대응하는 전압 레벨들을 정의하는 룩업 테이블(look-up table)을 저장하고, 상기 룩업 테이블 내 비교 전압들 중 상기 검출된 센터 전압들과 일치하는 비교 전압들을 서치하고, 상기 서치된 비교 전압들에 각각 대응하는 전압 레벨들을 상기 읽기 전압들로 세팅하는 메모리 시스템.
  17. 제 12 항에 있어서,
    상기 컨트롤러는 상기 복수의 페이지 데이터에 따라 상기 복수의 테스트 전압들에 의해 구분되는 전압 범위들 각각에 해당하는 샘플링 데이터를 연산하고, 상기 샘플링 데이터에 따라 상기 센터 전압들을 검출하는 메모리 시스템.
  18. 제 17 항에 있어서,
    상기 샘플링 데이터는 상기 전압 범위들 각각에 해당하는 메모리 셀들의 개수에 해당하는 메모리 시스템.
KR1020150031734A 2015-03-06 2015-03-06 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법 KR20160108000A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150031734A KR20160108000A (ko) 2015-03-06 2015-03-06 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법
US14/835,347 US20160260492A1 (en) 2015-03-06 2015-08-25 A read voltage setting method for a memory system including memory cells having plurality of logic states
CN201510599151.8A CN105938720A (zh) 2015-03-06 2015-09-18 包括具有多个电压状态的存储单元的存储系统及操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150031734A KR20160108000A (ko) 2015-03-06 2015-03-06 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20160108000A true KR20160108000A (ko) 2016-09-19

Family

ID=56849865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150031734A KR20160108000A (ko) 2015-03-06 2015-03-06 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법

Country Status (3)

Country Link
US (1) US20160260492A1 (ko)
KR (1) KR20160108000A (ko)
CN (1) CN105938720A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9812223B2 (en) * 2013-06-21 2017-11-07 SK Hynix Inc. Semiconductor memory device and method of operating the same
KR20140148132A (ko) * 2013-06-21 2014-12-31 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US11062780B1 (en) 2019-12-30 2021-07-13 SanDiskTechnologies LLC System and method of reading two pages in a nonvolatile memory

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101818504B1 (ko) * 2011-02-24 2018-01-15 삼성전자 주식회사 반도체 메모리 장치 및 반도체 메모리 시스템

Also Published As

Publication number Publication date
US20160260492A1 (en) 2016-09-08
CN105938720A (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
CN106326028B (zh) 具有不同奇偶校验区的存储器件
CN105144302B (zh) 存储器装置中的错误校正操作
JP5138319B2 (ja) メモリーシステム及び該動作方法。
US10394652B2 (en) Memory system for performing read retry operation and operating method thereof
US8923067B2 (en) Memory system and method of operating memory system using soft read voltages
KR101925384B1 (ko) 불휘발성 메모리를 포함하는 메모리 시스템 및 불휘발성 메모리의 제어 방법
KR102461447B1 (ko) 불휘발성 메모리 시스템
KR102239868B1 (ko) 메모리 시스템 및 그것의 동작 방법
US20150149863A1 (en) Semiconductor storage device, method for controlling the same and control program
US11604695B2 (en) Copy-back operations in a memory device
US10545691B2 (en) Memory system and method of controlling nonvolatile memory
US9147483B2 (en) Apparatus and method of operating memory device
US9841916B2 (en) Memory system for controlling semiconductor memory devices through plurality of channels
US20140181617A1 (en) Management of non-valid decision patterns of a soft read retry operation
US9514848B2 (en) Solid state drive and associated error check and correction method
TWI668695B (zh) 電壓調整方法、記憶體控制電路單元以及記憶體儲存裝置
KR101618313B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20170052066A (ko) 메모리 시스템 및 이의 동작 방법
KR20160132169A (ko) 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
KR20200018060A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR20160108000A (ko) 복수의 전압 상태들을 갖는 메모리 셀들을 포함하는 메모리 시스템 및 그것의 동작 방법
US9727401B2 (en) Method of operating semiconductor memory device and memory system including semiconductor memory device
KR20180051984A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20170028152A (ko) 메모리 시스템 및 그 동작 방법
KR20200127516A (ko) 메모리 컨트롤러 및 이의 동작 방법