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

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

Info

Publication number
KR101596827B1
KR101596827B1 KR1020090097748A KR20090097748A KR101596827B1 KR 101596827 B1 KR101596827 B1 KR 101596827B1 KR 1020090097748 A KR1020090097748 A KR 1020090097748A KR 20090097748 A KR20090097748 A KR 20090097748A KR 101596827 B1 KR101596827 B1 KR 101596827B1
Authority
KR
South Korea
Prior art keywords
program
voltage
memory cells
programmed
memory cell
Prior art date
Application number
KR1020090097748A
Other languages
English (en)
Other versions
KR20110040472A (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 KR1020090097748A priority Critical patent/KR101596827B1/ko
Priority to US12/780,988 priority patent/US8432734B2/en
Publication of KR20110040472A publication Critical patent/KR20110040472A/ko
Application granted granted Critical
Publication of KR101596827B1 publication Critical patent/KR101596827B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells

Landscapes

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

Abstract

본 발명은 불휘발성 메모리 장치의 동작 방법에 관한 것이다. 본 발명의 불휘발성 메모리 장치의 동작 방법은 메모리 셀들의 프로그램 동작을 시작하고, 메모리 셀들 중 프로그램 패스된 메모리 셀을 검출하고, 프로그램 패스된 메모리 셀이 검출된 후, 상기 메모리 셀들의 프로그램 동작이 완료될 때까지의 프로그램 루프의 수를 카운트하고, 그리고 카운트 값에 기반하여 프로그램 시작 전압을 조절한다.

Description

불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템{NONVOLATILE MEMORY DEVICE, METHOD OF OPERATING 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) 등이 있다. 플래시 메모리 장치는 크게 노어 타입과 낸드 타입으로 구분된다.
본 발명의 목적은 신뢰성을 유지하며 향상된 동작 속도를 갖는 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템을 제공하는 데에 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 동작 방법은 메모리 셀들의 프로그램 동작을 시작하고; 상기 메모리 셀들 중 프로그램 패스된 메모리 셀을 검출하고; 상기 프로그램 패스된 메모리 셀이 검출된 후, 상기 메모리 셀들의 프로그램 동작이 완료될 때까지의 프로그램 루프의 수를 카운트하고; 그리고 상기 카운트 값에 기반하여 프로그램 시작 전압을 조절하는 것을 포함한다.
실시 예로서, 상기 프로그램 시작 전압을 조절하는 것은 상기 카운트 값이 기준값보다 클 때, 상기 프로그램 시작 전압을 조절하는 것을 포함한다.
실시 예로서, 상기 프로그램 시작 전압은 상기 프로그램 패스된 메모리 셀이 검출된 때의 프로그램 전압의 레벨에 따라 조절된다.
실시 예로서, 상기 메모리 셀들 각각은 n 비트를 저장하도록 구성되고, 상기 프로그램 시작 전압을 조절하는 것은 상기 메모리 셀들에 최하위 비트(Least Significant Bit, LSB)로부터 k 번째 비트들이 프로그램된 때의 상기 카운트 값에 기반하여, 상기 메모리 셀들에 k+1 내지 n 비트들이 프로그램될 때의 프로그램 시작 전압을 조절하는 것을 포함한다.
실시 예로서, 상기 메모리 셀들 각각은 n 비트를 저장하도록 구성되고, 상기 프로그램 시작 전압을 조절하는 것은 상기 메모리 셀들에 최하위 비트(Least Significant Bit, LSB)로부터 k 번째 비트들이 프로그램된 때의 상기 카운트 값에 기반하여, 상기 메모리 셀들에 k+1 비트들이 프로그램될 때의 프로그램 시작 전압을 조절하는 것을 포함한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 메모리 셀 어레이; 상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로; 그리고 상기 메모리 셀 어레이에 프로그램 전압을 제공하도록 구성되는 제어 로직을 포함하고, 프로그램 동작 시에 상기 제어 로직은, 프로그램 패스된 메모리 셀이 검출된 때부터 상기 프로그램 동작이 완료될 때까지의 프로그램 루프의 수에 기반하여, 프로그램 시작 전압을 조절하도록 구성된다.
실시 예로서, 상기 제어 로직은 적어도 하나의 디폴트 프로그램 시작 전압을 저장하도록 구성되는 제 1 레지스터; 그리고 적어도 하나의 가변된 프로그램 시작 전압을 저장하도록 구성되는 제 2 레지스터를 포함하고, 상기 프로그램 패스된 메모리 셀이 검출된 때의 프로그램 전압의 레벨이 상기 제 2 레지스터에 저장된다.
실시 예로서, 상기 제어 로직은 상기 프로그램 패스된 메모리 셀이 검출된 때에 카운트를 시작하고, 프로그램 루프가 수행될 때마다 카운트 업 하도록 구성되는 카운터; 기준값을 저장하도록 구성되는 저장 회로; 상기 카운트 값 및 상기 기준값을 비교하여 선택 신호를 발생하는 비교기; 그리고 상기 선택 신호에 응답하여 상기 제 1 레지스터의 출력 및 상기 제 2 레지스터의 출력을 선택하도록 구성되는 다중화기를 포함하고, 상기 카운트 값이 상기 기준값보다 크면, 상기 제 2 레지스터의 출력이 선택된다.
본 발명의 실시 예에 따른 메모리 시스템은 불휘발성 메모리 장치; 그리고 상기 불휘발성 메모리 장치를 제어하도록 구성되는 프로세서를 포함하고, 상기 불휘발성 메모리 장치는 메모리 셀 어레이; 상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로; 그리고 상기 메모리 셀 어레이에 프로그램 전압을 제공하도록 구성되는 제어 로직을 포함하고, 프로그램 동작 시에 상기 제어 로직은, 프로그램 패스된 메모리 셀이 검출된 때부터 상기 프로그램 동작이 완료될 때까지의 프로그램 루프의 수에 기반하여, 프로그램 시작 전압을 조절하도록 구성된다.
실시 예로서, 상기 불휘발성 메모리 장치 및 상기 컨트롤러는 반도체 드라이브(Solid State Drive, SSD)를 구성한다.
본 발명에 따르면, 최하위 페이지 프로그램 시에 프로그램 특성 및 그것의 정확도가 측정된다. 상위 페이지 프로그램 시에, 프로그램 특성의 정확도 및 프로그램 특성에 기반하여 프로그램 시작 전압이 조절된다. 따라서, 신뢰성을 유지하며 향상된 동작 속도를 갖는 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템이 제공된다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조 번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조 번호들을 이용하여 인용될 것이다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)를 보여주는 블록도이다. 이하에서, 간결한 설명을 위하여, 불휘발성 메모리 장치(100)는 플래시 메모리 장치인 것으로 가정한다. 그러나, 본 발명의 기술적 사상은 플래시 메모리 장치(100)에 적용되는 것으로 한정되지 않는다. 예를 들면, 본 발명의 기술적 사상은 SRAM, DRAM, SDRAM 등과 같은 휘발성 메모리, 그리고 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리 장치에 적용되도록 응용 및 변형될 수 있다.
도 1을 참조하면, 본 발명의 실시 예에 따른 플래시 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 데이터 입출력 회로(140), 패스 페일 체크 회로(150), 그리고 제어 로직(160)을 포함한다.
메모리 셀 어레이(110)는 워드 라인들(WL)을 통해 어드레스 디코더(120)에 연결되고, 비트 라인들(BL)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 메모리 셀들은 워드 라인들(WL) 및 비트 라인들(BL)에 연결된다. 예를 들면, 행 방향으로 배열되는 메모리 셀들은 워드 라인들(WL)에 연결되고, 열 방향으로 배열되는 메모리 셀들은 비트 라인들(BL)에 연결된다. 예시적으로, 메모리 셀 어레이(110)는 셀 당 하나 또는 그 이상의 비트를 저장하도록 구성된다. 메모리 셀 어레이(110)는 도 2 및 도 3을 참조하여 더 상세하게 설명된다.
어드레스 디코더(120)는 워드 라인들(WL)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 제어 로직(160)의 제어에 응답하여 동작한다. 어드레스 디코더(120)는 외부로부터 어드레스(ADDR)를 수신한다.
어드레스 디코더(120)는 수신된 어드레스(ADDR) 중 행 어드레스를 디코딩하여 워드 라인들(WL)을 선택하도록 구성된다. 선택된 워드 라인들 및 비선택된 워드 라인들을 통해, 프로그램 동작을 위한 전압들, 읽기 동작을 위한 전압들, 또는 소거 동작을 위한 전압들이 메모리 셀 어레이(110)에 제공된다. 예시적으로, 워드 라인들(WL)에 전달되는 전압들은 제어 로직(160)으로부터 제공된다.
어드레스 디코더(120)는 전달된 어드레스(ADDR) 중 열 어드레스를 디코딩하여, 읽기 및 쓰기 회로(130)에 전달하도록 구성된다. 예시적으로, 어드레스 디코더(120)는 행 디코더, 열 디코더, 어드레스 버퍼 등과 같이 잘 알려진 구성 요소들을 포함한다.
읽기 및 쓰기 회로(130)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결되고, 데이터 라인들(DL)을 통해 데이터 입출력 회로(140)에 연결된다. 읽기 및 쓰기 회로(130)는 패스 페일 체크 회로(150)에 연결된다. 읽기 및 쓰기 회 로(130)는 제어 로직(160)의 제어에 응답하여 동작한다. 읽기 및 쓰기 회로(130)는 어드레스 디코더(120)로부터 디코딩된 열 어드레스를 수신하도록 구성된다. 디코딩된 열 어드레스에 응답하여, 읽기 및 쓰기 회로(130)는 비트 라인들(BL)을 선택한다. 선택된 비트 라인들 및 비선택된 비트 라인들을 통해, 프로그램 동작, 읽기 동작, 또는 소거 동작을 위한 전압들이 메모리 셀 어레이(110)에 제공된다.
예시적으로, 읽기 및 쓰기 회로(130)는 데이터 입출력 회로(140)로부터 데이터를 수신하고, 수신된 데이터를 메모리 셀 어레이(110)에 기입하도록 구성된다. 읽기 및 쓰기 회로(130)는 메모리 셀 어레이(110)로부터 데이터를 읽고, 읽어진 데이터를 데이터 입출력 회로(140)에 전달하도록 구성된다. 읽기 및 쓰기 회로(130)는 메모리 셀 어레이(110)의 제 1 저장 영역으로부터 데이터를 읽고, 읽어진 데이터를 메모리 셀 어레이(110)의 제 2 저장 영역에 기입하도록 구성된다. 예를 들면, 읽기 및 쓰기 회로(130)는 카피-백(copy-back) 동작을 수행하도록 구성된다.
예시적으로, 읽기 및 쓰기 회로(130)는 페이지 버퍼(또는 페이지 레지스터), 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함한다. 다른 예로서, 읽기 및 쓰기 회로(130)는 감지 증폭기, 쓰기 드라이버, 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함한다.
데이터 입출력 회로(140)는 데이터 라인들(DL)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 데이터 입출력 회로(140)는 제어 로직(160)의 제어에 응답하여 동작한다. 데이터 입출력 회로(140)는 외부와 데이터(DATA)를 교환하도록 구성된다. 외부로부터 수신되는 데이터(DATA)는 데이터 라인들(DL)을 통해 읽기 및 쓰 기 회로(130)에 전달된다. 읽기 및 쓰기 회로로부터 전달되는 데이터(DATA)는 외부로 출력된다. 예시적으로, 데이터 입출력 회로(140)는 데이터 버퍼 등과 같이 잘 알려진 구성 요소를 포함한다.
패스 페일 체크 회로(150)는 읽기 및 쓰기 회로(130)에 연결된다. 프로그램 검증 동작 시에, 패스 페일 체크 회로(150)는 읽기 및 쓰기 회로(130)에 의해 읽어진 데이터를 수신하도록 구성된다. 그리고, 읽기 및 쓰기 회로(130)로부터 수신된 데이터에 기반하여, 패스 페일 체크 회로(150)는 프로그램 패스 또는 프로그램 페일을 판별하도록 구성된다. 예를 들면, 프로그램되는 메모리 셀들 모두가 프로그램 패스되면, 패스 페일 체크 회로(150)는 패스 신호(PASS)를 제어 로직(160)에 제공한다. 다른 예로서, 프로그램되는 메모리 셀들 중 프로그램 페일된 메모리 셀들의 수가 미리 설정된 수 보다 적으면, 패스 페일 체크 회로(150)는 패스 신호(PASS)를 제어 로직(160)에 제공한다. 이때, 미리 설정된 수는 플래시 메모리 장치(100)의 에러 정정 코드(ECC, Error Correcting Code) 또는 플래시 메모리 장치(100)를 제어하는 컨트롤러의 에러 정정 코드(ECC)에 의해 정정될 수 있는 에러 비트 수 보다 작은 수 일 것이다.
읽기 및 쓰기 회로(130)로부터 수신된 데이터에 기반하여, 패스 페일 체크 회로(150)는 최초 패스(first pass)를 판별하도록 구성된다. 예를 들면, 프로그램되는 메모리 셀들 중 처음으로 프로그램 패스된 메모리 셀이 검출되면, 패스 페일 체크 회로(150)는 최초 패스가 발생된 것으로 판별한다. 다른 예로서, 프로그램되는 메모리 셀들 중 프로그램 패스된 메모리 셀들의 수가 미리 설정된 수에 도달하 면, 패스 페일 체크 회로(150)는 최초 패스가 발생된 것으로 판별한다. 이때, 미리 설정된 수는 플래시 메모리 장치(100)의 에러 정정 코드(ECC, Error Correcting Code) 또는 플래시 메모리 장치(100)를 제어하는 컨트롤러의 에러 정정 코드(ECC)에 의해 정정될 수 있는 에러 비트 수 보다 작은 수 일 것이다.
예시적으로, 최초 패스 검출 시에, 최초 패스 검증 동작이 수행된다. 최초 패스 검증 동작 시에, 읽기 및 쓰기 회로(130)의 페이지 버퍼에 로딩된 데이터들이 반전된다. 즉, 프로그램 금지 데이터에 대응하는 페이지 버퍼는 로직 로우를 저장하도록 반전된다. 그리고, 프로그램되는 데이터에 대응하는 페이지 버퍼는 로직 하이를 저장하도록 반전된다. 이후에, 검증 전압이 인가된다. 검증 전압이 인가되면, 검증 전압보다 낮은 문턱 전압을 갖는 메모리 셀들에 대응하는 페이지 버퍼에 로직 로우가 저장된다. 즉, 최초 패스 검증 동작이 수행되면, 검증 전압보다 높은 문턱 전압을 갖는 메모리 셀들에 대응하는 페이지 버퍼에 로직 하이가 저장되고, 나머지 페이지 버퍼에 로직 로우가 저장된다. 로직 하이를 검출함으로써, 패스 페일 체크 회로(150)는 최초 패스를 검출하도록 구성된다. 최초 패스가 판별되면, 패스 페일 체크 회로(150)는 최초 패스 신호(FP)를 제어 로직(160)에 전달한다.
제어 로직(160)은 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 데이터 입출력 회로(140), 그리고 패스 페일 체크 회로(150)에 연결된다. 제어 로직(160)은 플래시 메모리 장치(100)의 제반 동작을 제어하도록 구성된다. 제어 로직(160)은 외부로부터 전달되는 제어 신호(CTRL)에 응답하여 동작한다. 제어 로직(160)은 패스 페일 체크 회로(150)로부터 패스 신호(PASS) 및 최초 패스 신호(FP)를 수신하 도록 구성된다.
제어 로직(160)은 프로그램 시작 전압 저장부(161), 프로그램 시작 전압 선택부(163), 그리고 프로그램 전압 발생부(165)를 포함한다. 프로그램 시작 전압 저장부는 적어도 하나의 디폴트(default) 전압 정보(VId) 및 적어도 하나의 조절된(adjusted) 전압 정보(VIa)를 저장하도록 구성된다. 디폴트 전압 정보(VId)는 플래시 메모리 장치(100)에서 사용되는 디폴트 프로그램 시작 전압(Vd, 이하에서 디폴트 전압이라 부르기로 함)의 레벨에 대한 정보를 포함한다. 조절된 전압 정보(VIa)는 프로그램 동작을 통해 조절된 프로그램 시작 전압(Va, 이하에서 조절된 전압이라 부르기로 함)의 레벨에 대한 정보를 포함한다. 예시적으로, 제어 로직(160)은 최초 패스 신호(FP)에 응답하여 조절된 전압 정보(VIa)를 설정하도록 구성된다.
프로그램 시작 전압 선택부(163)는 프로그램 시작 전압 저장부(161)에 저장된 전압 정보들 중 하나를 선택하도록 구성된다. 예시적으로, 프로그램 시작 전압 선택부(163)는 패스 신호(PASS) 및 최초 패스 신호(FP)에 응답하여 전압 정보를 선택하도록 구성된다. 선택된 전압 정보(VI)는 프로그램 전압 발생부(165)에 전달된다.
프로그램 전압 발생부(165)는 프로그램 시작 전압 선택부(163)로부터 선택된 전압 정보(VI)를 수신한다. 프로그램 전압 발생부(165)는 수신된 전압 정보에 응답하여 프로그램 전압을 발생하도록 구성된다.
예시적으로, 제 1 프로그램 루프에서, 프로그램 전압 발생부(165)는 수신된 전압 정보(VI)에 대응하는 프로그램 시작 전압(Vini)을 프로그램 전압(Vpgm)으로서 출력한다. 프로그램 루프가 수행될 때마다, 프로그램 전압 발생부(165)는 프로그램 전압(Vpgm)의 레벨을 프로그램 시작 전압(Vini)으로부터 단계적으로 상승시킨다. 즉, ISPP (Incremental Step Pulse Program)이 수행된다.
여기에서, 프로그램 루프는 프로그램 전압(Vpgm)을 인가하고, 그리고 검증 전압을 인가하는 동작으로 구성된다. 프로그램 루프는 패스 신호(PASS)가 수신될 때까지 또는 프로그램 루프의 횟수가 미리 설정된 횟수(예를 들면, 상한(max) 횟수)에 도달할 때까지 반복적으로 수행된다. 발생된 프로그램 전압은 어드레스 디코더(120)를 통해 워드 라인들(WL)에 제공된다.
도 2는 도 1의 메모리 셀 어레이(110)의 일부를 보여주는 블록도이다. 도 2를 참조하면, 제 1 내지 제 n 워드 라인들(WL1~WLn) 및 제 1 내지 제 m 비트 라인들(BL1~BLm)이 도시되어 있다. 그리고, 워드 라인들(WL1~WLn) 및 비트 라인들(BL1~BLm)이 교차하는 영역에 메모리 셀들(MC)이 배치된다.
예시적으로, 프로그램 동작은 페이지 단위로 수행된다. 각각의 메모리 셀(MC)이 1 비트를 저장할 때, 하나의 워드 라인(예를 들면, WL1)에 연결된 메모리 셀들(MC)은 하나의 페이지를 형성한다. 각각의 메모리 셀(MC)이 2 비트를 저장할 때, 하나의 워드 라인(예를 들면, WL1)에 연결된 메모리 셀들은 2 개의 페이지를 형성한다. 예를 들면, 하나의 워드 라인(예를 들면, WL1)에 연결된 메모리 셀들의 최하위 비트들(LSB, Least Significant Bit)은 최하위 페이지(LSB page)를 형성하고, 최상위 비트들(MSB, Most Significant Bit)은 최상위 페이지를 형성한다. 마찬 가지로, 각각의 메모리 셀(MC)이 i 비트를 저장할 때, 하나의 워드 라인(예를 들면, WL1)에 연결된 메모리 셀들은 i 개의 페이지들을 형성한다.
도 3은 셀 당 3 비트를 저장하도록 구성되는 메모리 셀 어레이(110)의 페이지들을 보여주는 블록도이다. 도 3에서, 비트 라인들(BL) 및 메모리 셀들은 생략되어 있다. 제 1 워드 라인(WL1)에 연결된 메모리 셀들은 최하위 페이지(LSB page), 중간 페이지(Central Significant Bit page), 그리고 최상위 페이지(MSB page)를 형성한다. 마찬가지로, 제 2 내지 제 n 워드 라인들(WL2~WLn) 각각에 연결된 메모리 셀들은 최하위 페이지(LSB page), 중간 페이지(CSB page), 그리고 최상위 페이지(MSB page)를 형성한다.
도 4는 도 2 및 도 3의 메모리 셀 어레이에 데이터가 프로그램되는 과정을 보여주는 다이어그램이다. 도 4에서, 가로 축은 메모리 셀들의 문턱 전압을 나타내고, 세로 축은 메모리 셀들의 수를 나타낸다. 즉, 도 4는 메모리 셀들의 문턱 전압 산포를 보여준다.
예시적으로, 도 3의 제 1 워드 라인(WL1)에 연결된 메모리 셀들이 프로그램되는 것으로 가정한다. 도 4를 참조하면, 메모리 셀들은 소거 상태(Erase state)로부터 프로그램된다.
최하위 비트(LSB) 프로그램 시에, 소거 상태(E)의 메모리 셀들 각각은 소거 상태(E) 및 최하위 프로그램 상태(LP) 중 하나로 프로그램된다. 이때, 제 1 워드 라인(WL1)에 연결된 메모리 셀들의 최하위 페이지(LSB page)에 데이터가 기입되는 것으로 이해될 수 있다. 예를 들면, 소거 상태(E)에 대응하는 제 1 값 및 최하위 프로그램 상태(LP)에 대응하는 제 2 값으로 구성되는 2진 데이터가 최하위 페이지(LSB page)에 저장된다.
중간 비트(CSB) 프로그램 시에, 소거 상태(E)의 메모리 셀들 각각은 소거 상태(E) 및 제 1 중간 프로그램 상태(CP1) 중 하나로 프로그램된다. 그리고, 최하위 프로그램 상태(LP)의 메모리 셀들 각각은 제 2 및 제 3 중간 프로그램 상태들(CP2, CP3) 중 하나로 프로그램된다. 이때, 제 1 워드 라인(WL)에 연결된 메모리 셀들의 중간 페이지(CSB page)에 데이터가 기입되는 것으로 이해될 수 있다. 예를 들면, 소거 상태(E) 및 제 2 중간 프로그램 상태(CP2)는 제 3 상태를 나타낸다. 제 1 중간 프로그램 상태(CP1) 및 제 3 중간 프로그램 상태(CP3)는 제 4 상태를 나타낸다. 그리고, 제 3 상태 및 제 4 상태로 구성되는 2진 데이터가 중간 페이지(CSB page)에 저장된다.
최상위 비트 프로그램 시에, 소거 상태(E)의 메모리 셀들 각각은 소거 상태(E) 및 제 1 프로그램 상태(P1) 중 하나로 프로그램된다. 제 1 중간 프로그램 상태(CP1)의 메모리 셀들 각각은 제 2 및 제 3 프로그램 상태들(P2, P3) 중 하나로 프로그램된다. 제 2 중간 프로그램 상태(CP2)의 메모리 셀들 각각은 제 4 및 제 5 프로그램 상태들(P4, P5) 중 하나로 프로그램된다. 그리고, 제 3 중간 프로그램 상태(CP3)의 메모리 셀들 각각은 제 6 및 제 7 프로그램 상태들(P6, P7) 중 하나로 프로그램된다. 이때, 제 1 워드 라인(WL1)에 연결된 메모리 셀들의 최상위 페이지(MSB page)에 데이터가 기입되는 것으로 이해될 수 있다. 예를 들면, 소거 상태(E), 제 2, 제 4, 그리고 제 6 프로그램 상태들(P2, P4, P6)은 제 5 상태를 나타 낸다. 제 1, 제 3, 제 5, 그리고 제 7 프로그램 상태들(P1, P3, P5, P7)은 제 6 상태를 나타낸다. 그리고, 제 5 상태 및 제 6 상태로 구성되는 2진 데이터가 최상위 페이지(MSB page)에 저장된다.
도 5는 도 4의 최하위 비트(LSB) 프로그램이 수행되는 과정을 보여주는 다이어그램이다. 프로그램 동작은 복수의 프로그램 루프로 구성된다. 각 프로그램 루프는 프로그램 단계 및 검증 단계로 구성된다.
프로그램 단계에서, 메모리 셀들의 문턱 전압이 변화된다. 예를 들면, 메모리 셀들의 문턱 전압이 상승한다. 검증 단계에서, 메모리 셀들이 프로그램 패스인지 또는 페일인지 판별된다. 예를 들면, 메모리 셀들의 문턱 전압이 검증 전압보다 높은지 판별된다.
이하에서, 프로그램되는 메모리 셀들은 하나의 워드 라인에 연결된 메모리 셀들 중 프로그램 동작에 의해 논리 상태가 변화하는 메모리 셀들을 의미한다. 예를 들면, 최하위 페이지 프로그램이 수행되기 전에, 메모리 셀들은 소거 상태(E)이다. 최하위 프로그램이 수행될 때, 소거 상태(E)로부터 최하위 프로그램 상태(LP)로 논리 상태가 변화하는 메모리 셀들은 프로그램되는 메모리 셀들이다. 최하위 페이지 프로그램 시에, 소거 상태(E)를 유지하는 메모리 셀들은 프로그램되지 않는 메모리 셀들이다.
프로그램 동작이 시작되면, 제 1 프로그램 루프가 수행된다. 제 1 프로그램 루프에서, 우선 프로그램 단계가 수행된다. 프로그램 시작 전압(Vini)이 프로그램 전압(Vpgm)으로서 메모리 셀들에 인가된다. 프로그램되는 메모리 셀들의 문턱 전압 은 프로그램 시작 전압(Vini)에 응답하여 상승한다. 예시적으로, 프로그램 시작 전압(Vini)에 응답하여, 프로그램되는 메모리 셀들의 문턱 전압이 소거 상태(E)로부터 제 1 산포 상태(n1)로 변화된다. 프로그램되지 않는 메모리 셀들의 문턱 전압은 소거 상태(E)를 유지한다.
이후에, 검증 단계가 수행된다. 제 1 산포 상태(n1)는 로우 전압(VL) 및 하이 전압(VH) 사이의 전압 구간에 위치한다. 예시적으로, 로우 전압(VL)은 제 1 산포 상태에 대응하는 하한(minimum) 전압을 나타내고, 하이 전압(VH)은 제 1 산포 상태에 대응하는 상한(max) 전압을 나타낸다.
검증 단계에서, 검증 전압(Vvfy)을 이용하여, 프로그램 패스된 메모리 셀들이 판별된다. 제 1 산포 상태(n1)는 검증 전압(Vvfy) 보다 낮은 전압 구간에 대응한다. 즉, 프로그램 패스된 메모리 셀들은 존재하지 않는다. 따라서, 프로그램되는 메모리 셀들은 프로그램 페일인 것으로 판별된다.
이후에, 제 2 프로그램 루프가 수행된다. 제 2 프로그램 루프의 프로그램 전압(Vpgm)의 레벨은 제 1 프로그램 루프의 프로그램 전압(즉, 프로그램 시작 전압(Vini))의 레벨보다 제 1 전압 차이(△V1) 만큼 상승한다. 프로그램 단계에서, 프로그램되는 메모리 셀들의 문턱 전압 산포는 제 1 산포 상태(n1)로부터 제 2 산포 상태(n2)로 변화한다. 제 2 산포 상태(n2)에 대응하는 메모리 셀들 중 일부의 문턱 전압은 검증 전압(Vvfy)보다 높다. 따라서, 제 2 산포 상태(n2)에 대응하는 메모리 셀들 중 일부는 프로그램 패스로 판별된다. 프로그램 패스 셀들은 프로그램 금지로 설정된다. 제 2 산포 상태(n2)에 대응하는 메모리 셀들 중 나머지의 문턱 전압은 검증 전압(Vvfy) 보다 낮다. 따라서, 제 2 산포 상태(n2)에 대응하는 메모리 셀들 중 나머지는 프로그램 페일로 판별된다.
이후에, 모든 메모리 셀들이 프로그램 패스될 때까지, 프로그램 루프가 반복적으로 수행된다. 프로그램 루프가 수행될 때마다, 프로그램 전압(Vpgm)의 레벨은 제 1 전압 차이(△V1) 만큼 상승한다.
예시적으로, 제 3 프로그램 루프에서, 메모리 셀들의 문턱 전압 산포는 제 2 산포 상태(n2)로부터 제 3 산포 상태(n3)로 변화한다. 제 4 프로그램 루프에서, 메모리 셀들의 문턱 전압 산포는 제 3 산포 상태(n3)로부터 제 4 산포 상태(n4)로 변화한다. 그리고, 제 5 프로그램 루프에서, 메모리 셀들의 문턱 전압 산포는 제 4 산포 상태(n4)로부터 제 5 산포 상태(n5)로 변화한다. 제 5 산포 상태(n5)에 대응하는 메모리 셀들의 문턱 전압은 검증 전압(Vvfy)보다 높다. 따라서, 메모리 셀들이 프로그램 패스로 판별되고, 프로그램 동작이 완료된다.
도 5에서, 프로그램되는 메모리 셀들은 5 번의 프로그램 루프를 통해 프로그램 완료되는 것으로 설명되었다. 그러나, 프로그램되는 메모리 셀들은 5 번의 프로그램 루프를 통해 프로그램 완료되는 것으로 한정되지 않는다. 예를 들면, 프로그램되는 메모리 셀들은 j 번의 프로그램 루프를 통해 프로그램 완료될 수 있다.
상술한 제 1 프로그램 루프에서, 프로그램되는 모든 메모리 셀들의 문턱 전압이 상승한다. 그리고, 제 2 프로그램 루프에서, 프로그램되는 모든 메모리 셀들의 문턱 전압이 상승한다. 이후에, 프로그램되는 메모리 셀들 중 일부가 프로그램 패스된 후에, 프로그램되는 메모리 셀들 중 일부가 프로그램 금지된다. 즉, 프로그 램되는 메모리 셀들 중 프로그램 패스 셀들의 문턱 전압이 변화하지 않는다.
제 1 프로그램 루프가 수행될 때, 프로그램되는 메모리 셀들의 문턱 전압 산포가 제 2 산포 상태(n2)에 대응하도록 프로그램 시작 전압(Vini)이 조절되면, 즉 최초 패스가 발생된 때의 프로그램 전압의 레벨이 프로그램 시작 전압으로 사용되면, 제 1 산포 상태(n1)에 대응하는 프로그램 루프는 생략된다. 프로그램 루프의 수가 감소되면, 프로그램 속도가 향상된다. 즉, 제 1 프로그램 루프 시에, 프로그램되는 메모리 셀들 중 일부(또는 적어도 하나)가 프로그램 패스되도록 프로그램 시작 전압이 조절되면, 프로그램 속도가 향상된다.
도 3에 도시된 바와 같이, 하나의 워드 라인에 연결된 메모리 셀들은 복수의 페이지를 형성한다. 특정 워드 라인의 최하위 페이지를 구성하는 메모리 셀들, 중간 페이지를 구성하는 메모리 셀들, 그리고 최상위 페이지를 구성하는 메모리 셀들은 동일한 메모리 셀들이다. 즉, 특정 워드 라인에서, 최하위 페이지 프로그램 시의 메모리 셀들의 프로그램 특성, 중간 페이지 프로그램 시의 메모리 셀들의 프로그램 특성, 그리고 최상위 페이지 프로그램 시의 메모리 셀들의 프로그램 특성은 유사한(또는 동일한) 것으로 이해된다.
최하위 페이지 프로그램 시에, 최초 패스가 발생될 때의 프로그램 전압(Vpgm)의 레벨이 획득된다. 획득된 프로그램 전압(Vpgm) 레벨에 기반하여, 해당 워드 라인에 연결된 메모리 셀들의 프로그램 특성이 도출된다. 예를 들면, 메모리 셀들에 인가되는 프로그램 전압(Vpgm) 및 메모리 셀들의 문턱 전압(또는 문턱 전압 변화량) 사이의 관계(예를 들면, 비율)가 도출된다. 도출된 관계 정보를 이용하여, 중간 페이지 프로그램 동작 및 최상위 페이지 프로그램 동작 시의 프로그램 시작 전압(Vini)의 레벨이 조절된다.
예를 들면, 중간 페이지 프로그램 동작 시에, 프로그램되는 메모리 셀들 중 일부(또는 적어도 하나)가 제 1 프로그램 루프에서 프로그램 패스되도록, 프로그램 시작 전압이 조절된다. 예를 들면, 최상위 페이지 프로그램 동작 시에, 프로그램되는 메모리 셀들 중 일부(또는 적어도 하나)가 제 1 프로그램 루프에서 프로그램 패스되도록, 프로그램 시작 전압(Vini)이 조절된다.
예시적으로, 최하위 페이지 프로그램 동작의 최초 패스 시에 검출된 프로그램 전압(Vpgm)의 레벨, 최하위 페이지 및 상위 페이지의 검증 전압 레벨의 차이, 최하위 페이지 및 상위 페이지의 프로그램 전압 증분의 차이에 기반하여, 상위 페이지의 프로그램 시작 전압(Vini)이 조절된다. 예를 들면, 검출된 프로그램 전압(Vpgm)의 레벨로부터 검증 전압 차이 및 프로그램 전압 증분 차이를 감한 값이 조절된 프로그램 시작 전압(Va)에 대응할 것이다.
즉, 최하위 페이지 프로그램 동작 시에, 프로그램되는 메모리 셀들의 프로그램 특성이 도출된다. 도출된 프로그램 특성에 기반하여, 중간 페이지 및 최상위 페이지의 프로그램 시작 전압(Vini)이 조절된다. 프로그램 시작 전압(Vini)은 프로그램되는 메모리 셀들 중 일부(또는 적어도 하나)가 제 1 프로그램 루프에서 프로그램 패스되도록 조절된다. 따라서, 중간 페이지 및 최상위 페이지의 프로그램 속도가 향상된다.
도 5를 참조하여 설명된 바와 같이, 특정 워드 라인에 연결된 메모리 셀들의 프로그램 특성은 프로그램되는 메모리 셀들로부터 도출된다. 따라서, 특정 워드 라인에 연결된 메모리 셀들 중 프로그램되는 메모리 셀들의 수가 많을수록, 도출된 프로그램 특성의 정확도는 상승한다. 특정 워드 라인에 연결된 메모리 셀들 중 프로그램되는 셀들의 수가 적을수록, 도출된 프로그램 특성의 정확도는 낮아진다.
메모리 셀들 중 일부는 슬로우 셀(slow cell)로 구분된다. 슬로우 셀은 프로그램 전압에 따른 프로그램 특성이 노멀 메모리 셀들보다 낮은 셀들을 의미한다. 예를 들면, 노멀 셀 및 슬로우 셀에 동일한 프로그램 전압이 인가될 때, 슬로우 셀의 문턱 전압은 노멀 셀의 문턱 전압보다 낮다. 즉, 슬로우 셀의 문턱 전압이 노멀 셀의 문턱 전압보다 적게 변화(예를 들면, 상승)한다. 예를 들면, 도 5의 제 1 산포 상태(n1)에서, 슬로우 셀들은 로우 전압(VL1)에 인접한 낮은 문턱 전압을 갖는다. 마찬가지로, 제 2 내지 제 5 산포 상태(n2~n5) 각각에서, 슬로우 셀들은 상대적으로 낮은 문턱 전압(예를 들면, 각 산포 상태의 하한 전압에 인접한)을 갖는다.
특정 워드 라인에 연결된 메모리 셀들 중 프로그램되는 메모리 셀들의 수가 적을수록, 프로그램되는 메모리 셀들이 슬로우 셀들로 구성될 확률이 높아진다. 프로그램되는 메모리 셀들이 슬로우 셀들로 구성되면, 프로그램되는 메모리 셀들로부터 도출되는 프로그램 특성의 정확도는 낮다.
도 6은 프로그램되는 메모리 셀들이 슬로우 셀들로 구성된 때의 최하위 페이지 프로그램 과정을 보여주는 다이어그램이다. 도 6을 참조하면, 제 1 프로그램 루프가 수행되면, 프로그램되는 메모리 셀들(예를 들면, 패스트 셀들)의 문턱 전압 산포는 제 1 슬로우 산포 상태(s1)에 대응한다. 도 5를 참조하여 설명된 바와 마찬 가지로, 제 1 슬로우 산포 상태(s1)는 로우 전압(VL)에 인접한 문턱 전압을 갖는다.
제 1 프로그램 루프가 수행되면, 프로그램되는 메모리 셀들은 프로그램 페일된다. 따라서, 제 2 프로그램 루프가 수행된다. 제 2 프로그램 루프가 수행되면, 프로그램되는 메모리 셀들의 문턱 전압 산포는 제 2 슬로우 산포 상태(s2)에 대응한다. 예를 들면, 제 2 슬로우 산포 상태(s2)는 도 5의 제 2 산포 상태(n2)의 하한 전압에 인접한 전압 구간이다.
프로그램되는 메모리 셀들의 문턱 전압이 제 3 슬로우 산포 상태(s3)를 거쳐 제 4 슬로우 산포 상태에 도달할 때까지, 최초 패스는 발생되지 않는다. 프로그램되는 메모리 셀들의 문턱 전압이 제 5 슬로우 산포 상태(s5)에 도달하면 최초 패스가 발생된다. 그리고, 메모리 셀들의 문턱 전압이 제 6 슬로우 산포 상태(s6)에 도달하면, 프로그램되는 메모리 셀들이 프로그램 패스된다.
도 5에서, 제 2 프로그램 루프에서 최초 패스가 발생되었다. 반면, 도 6에서, 제 5 프로그램 루프에서 최초 패스가 발생되었다. 프로그램 루프가 수행될 때마다, 프로그램 전압(Vpgm)은 단계적으로 상승한다. 따라서, 최초 패스가 발생된 때의 슬로우 셀들에 대응하는 프로그램 전압(Vpgm)은 최초 패스가 발생된 때의 노멀 셀들에 대응하는 프로그램 전압(Vpgm) 보다 높다. 슬로우 셀들에 기반한 프로그램 특성은 노멀 셀들에 기반한 프로그램 특성보다 느리고, 슬로우 셀들에 기반한 조절된 전압(Va)은 노멀 셀들에 기반한 조절된 전압(Va) 보다 높다.
즉, 슬로우 셀들로부터 프로그램 특성이 도출되고, 도출된 프로그램 특성에 따라 상위 페이지(중간 또는 최상위 페이지)의 프로그램 시작 전압(Vini)이 조절되면, 상위 페이지(중간 또는 최상위 페이지) 프로그램 동작 시에, 프로그램 시작 전압(Vini)으로 인한 오버 프로그램이 발생될 수 있다.
도 5에 도시된 바와 같이, 노멀 셀들이 최초 패스된 후에 프로그램 패스될 때까지, 3 회의 프로그램 루프가 수행된다. 반면, 도 6에 도시된 바와 같이, 슬로우 셀들이 최초 패스된 후에 프로그램 패스될 때까지, 1회의 프로그램 루프가 수행된다. 슬로우 셀들은 유사한 속도(즉, 노멀 셀들보다 느린 속도)로 프로그램 된다. 따라서, 프로그램되는 슬로우 셀들의 문턱 전압 산포는 프로그램되는 노멀 셀들의 문턱 전압 산포보다 좁다. 슬로우 셀들이 최초 패스된 때부터 프로그램 패스될 때까지의 프로그램 루프 횟수는 노멀 셀들이 최초 패스된 때부터 프로그램 패스될 때까지의 프로그램 루프 횟수보다 적다.
본 발명의 실시 예에 따른 플래시 메모리 장치(100, 도 1 참조)는 최초 패스된 때로부터 프로그램 완료될 때까지의 프로그램 루프의 횟수에 기반하여, 프로그램되는 메모리 셀들로부터 도출되는 프로그램 특성을 유효화 또는 무효화한다. 즉, 최초 패스 및 프로그램 완료 사이의 프로그램 루프의 횟수가 기준값보다 작으면, 획득되는 프로그램 특성은 무시된다. 최초 패스 및 프로그램 완료 사이의 프로그램 루프 횟수가 기준값보다 크면, 획득된 프로그램 특성에 기반하여 상위 페이지의 프로그램 시작 전압(Vini)이 조절된다.
도 7은 도 1의 플래시 메모리 장치(100)의 개략적인 동작을 설명하기 위한 순서도이다. 도 1 및 도 7을 참조하면, S110 단계에서, 최초 패스가 발생된 때부터 프로그램 완료될 때까지의 프로그램 루프의 수가 카운트된다. 최초 패스는 패스 페일 체크 회로(150)에 의해 검출된다. 최초 패스가 검출되면, 패스 페일 체크 회로(150)는 최초 패스 신호(FP)를 활성화한다. 프로그램 완료는 패스 페일 체크 회로(150)에 의해 검출된다. 프로그램 완료되면, 패스 페일 체크 회로(150)는 패스 신호(PASS)를 활성화한다. 최초 패스 신호(FP) 및 패스 신호(PASS)에 응답하여, 프로그램 시작 전압 선택부(163)는 최초 패스된 때로부터 프로그램 완료될 때까지의 프로그램 루프의 횟수를 카운트한다.
S120 단계에서, 카운트값(Cnt)이 기준값(CntR)과 비교된다. 카운트값(Cnt)이 기준값(CntR) 보다 크면, S130 단계에서, 프로그램 시작 전압이 조절된다. 카운트값(Cnt)이 기준값(CntR) 보다 작으면, S140 단계에서, 디폴트 프로그램 시작 전압이 사용된다.
도 8은 도 1의 프로그램 시작 전압 저장부(161), 프로그램 시작 전압 선택부(163), 그리고 프로그램 전압 발생부(165)를 보여주는 블록도이다. 도 8을 참조하면, 프로그램 시작 전압 저장부(161)는 제 1 레지스터(161a) 및 제 2 레지스터(161b)를 포함한다.
제 1 레지스터(161a)는 디폴트 전압(Vd)을 저장하도록 구성된다. 예를 들면, 제 1 레지스터(161a)는 디폴트 전압의 정보(VId, 예를 들면 코드)를 저장하도록 구성된다.
제 2 레지스터(161b)는 조절된 전압(Va)을 저장하도록 구성된다. 예를 들면, 제 2 레지스터(161b)는 조절된 전압 정보(VIa, 예를 들면 코드)를 저장하도록 구성 된다. 제 2 레지스터(161b)는 최초 패스 신호(FP)에 응답하여, 프로그램 전압(Vpgm)의 레벨(또는 레벨 정보)을 저장하도록 구성된다. 예를 들면, 최초 패스 신호(FP)가 활성화된 때에, 즉 최초 패스(first pass)가 발생된 때에, 프로그램 전압(Vpgm)의 레벨(또는 레벨 정보)은 제 2 레지스터(161b)에 저장된다. 프로그램 전압(Vpgm)의 레벨(또는 레벨 정보)은 조절된 전압(Va) 또는 조절된 전압 정보(VIa)로 가공되어 제 2 레지스터(161b)로부터 출력된다.
도 5를 참조하여 설명된 바와 마찬가지로, 최하위 페이지 프로그램 동작의 최초 패스 시에 검출된 프로그램 전압(Vpgm)의 레벨, 최하위 페이지 및 상위 페이지의 검증 전압 레벨의 차이, 최하위 페이지 및 상위 페이지의 프로그램 전압 증분의 차이에 기반하여, 상위 페이지의 프로그램 시작 전압(Vini)이 조절된다. 즉, 수신된 어드레스(ADDR)가 중간 페이지에 대응하면, 중간 페이지에 대응하는 조절된 전압(Va)이 제 2 레지스터(161b)로부터 출력된다. 수신된 어드레스(ADDR)가 최상위 페이지에 대응하면, 최상위 페이지에 대응하는 조절된 전압(Va)이 제 2 레지스터(161b)로부터 출력된다.
예시적으로, 제 2 레지스터(161b)는 최초 패스 신호(FP)를 직접 또는 다른 구성 요소를 통해 수신하도록 구성된다. 예시적으로, 제 2 레지스터(161b)는 프로그램 전압(Vpgm)을 직접 또는 다른 구성요소(예를 들면, 인코더)를 통해 수신하도록 구성된다. 제 1 및 제 2 레지스터(161a, 161b)의 출력은 프로그램 시작 전압 선택부(163)에 제공된다.
프로그램 시작 전압 선택부(163)는 멀티플렉서(163a) 및 선택기(163b)를 포 함한다. 멀티플렉서(163a)는 제 1 및 제 2 레지스터들(161a, 161b)의 출력을 수신하도록 구성된다. 선택기(163b)로부터 제공되는 선택 신호(SEL)에 응답하여, 멀티플렉서(163a)는 제 1 및 제 2 레지스터들(161a, 161b)의 출력들(즉, 디폴트 전압 정보(VId) 및 조절된 전압 정보(VIa)) 중 하나를 선택하고, 선택된 전압 정보(VI)를 프로그램 시작 전압 정보로서 프로그램 전압 발생부(165)에 전달하도록 구성된다.
선택기(163b)는 최초 패스 신호(FP) 및 루프 신호(NL)를 수신하도록 구성된다. 루프 신호(NL)는 다음 프로그램 루프를 수행할 지의 여부를 나타내는 신호이다. 예를 들면, 다음 프로그램 루프가 수행될 때, 루프 신호(NL)는 활성화된다. 다음 프로그램 루프가 수행되지 않을 때, 즉 현재 프로그램 루프가 마지막 프로그램 루프일 때, 루프 신호(NL)는 비활성된다. 즉, 루프 신호(NL)가 비활성되면, 프로그램 동작이 완료된다. 예시적으로, 패스 신호(PASS)가 활성화되면 루프 신호(NL)는 비활성된다.
선택기(163b)는 루프 신호(NL) 및 최초 패스 신호(FP)에 응답하여 카운트를 수행한다. 그리고, 카운트값(Cnt)을 기준값(CntR)과 비교한다. 비교 결과에 응답하여, 선택기(163b)는 선택 신호(SEL)를 활성화한다. 선택기(163b)는 도 9를 참조하여 더 상세하게 설명된다.
프로그램 전압 발생부(165)는 ISPP 코드 레지스터(165a), 프로그램 전압 카운터(165b), 그리고 프로그램 전압 발생기(165c)를 포함한다.
ISPP 코드 레지스터(165a)는 ISPP (Incremental Step Pulse Program) 시의 프로그램 전압 증분 정보(VIdif, 예를 들면 코드)를 저장하도록 구성된다. 프로그램 전압 증분 정보(VIdif)는 프로그램 전압 코드 카운터(165b)에 제공된다.
프로그램 전압 코드 카운터(165b)는 프로그램 전압 증분 정보(VIdif) 및 프로그램 시작 전압 정보(VI)를 수신하도록 구성된다. 프로그램 전압 증분 정보(VIdif) 및 프로그램 시작 전압 정보(VI)에 응답하여, 프로그램 전압 코드 카운터(165b)는 프로그램 전압 정보(VIpgm)를 생성하도록 구성된다. 예시적으로, 제 1 프로그램 루프 시에, 프로그램 전압 코드 카운터(165b)는 프로그램 시작 전압 정보(VI)에 대응하는 프로그램 전압 정보(VIpgm)를 생성한다. 이후에, 프로그램 루프가 반복적으로 수행될 때마다, 프로그램 전압 코드 카운터(165b)는 프로그램 전압 증분 정보(VIdif)가 단계적으로 가산된 정보를 프로그램 전압 정보(VIpgm)로서 출력한다. 프로그램 전압 정보(VIpgm)는 프로그램 전압 발생기(165c)로 전달된다.
프로그램 전압 발생기(165c)는 프로그램 전압 정보(VIpgm)를 수신하도록 구성된다. 프로그램 전압 정보(VIpgm)에 응답하여, 프로그램 전압 발생기(165c)는 프로그램 전압(Vpgm)을 발생한다. 예시적으로, 프로그램 전압 발생기(165c)는 트림(trim) 회로를 포함한다. 프로그램 전압 정보(VIpgm)에 응답하여, 프로그램 전압 발생기(165c)의 트림이 제어된다. 제어된 트림에 따라, 프로그램 전압(Vpgm)이 발생된다.
프로그램 루프가 반복적으로 수행될 때마다, 프로그램 시작 전압 정보(VI)에 프로그램 전압 증분 정보(VIdif)가 단계적으로 가산된다. 따라서, 프로그램 루프가 반복적으로 수행될 때마다, 프로그램 전압 발생기(165c)에 의해 발생되는 프로그램 전압(Vpgm)의 레벨은 프로그램 시작 전압(Vini)의 레벨로부터 프로그램 전압 증분 만큼 단계적으로 상승한다.
도 8에서, 제 2 레지스터(161b)는 프로그램 전압(Vpgm)을 수신하는 것으로 도시되어 있다. 그러나, 제 2 레지스터(161b)는 프로그램 전압 코드 카운터(165b)로부터 프로그램 전압 정보(VIpgm)를 수신하도록 응용 및 변형될 수 있다. 즉, 최초 패스 신호(FP)가 활성화될 때, 제 2 레지스터(161b)는 프로그램 전압 정보(VIpgm)를 저장하도록 구성될 수 있다.
예시적으로, 제 2 레지스터(161b)는 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)를 선택적으로 수신하도록 구성된다. 예를 들면, 제 2 레지스터(161b)에 제어 신호가 제공될 것이다. 제어 신호가 활성 상태일 때, 제 2 레지스터(161b)는 최초 패스 신호(FP)를 수신한다. 제어 신호가 비활성 상태일 때, 제 2 레지스터(161b)에 제공되는 최초 패스 신호(FP)는 차단될 것이다. 또는, 제어 신호가 비활성 상태일 때, 제 2 레지스터(161b)는 최초 패스 신호(FP)에 관계없이, 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)를 수신하지 않는다.
도 9는 도 8의 선택기(163b)를 보여주는 블록도이다. 도 9를 참조하면, 선택기(163b)는 카운터(171), 기준값 저장 회로(173), 비교기(175), 그리고 검출기(177)를 포함한다.
카운터(171)는 최초 패스 신호(FP), 리셋 신호(Reset), 그리고 루프 신호(NL)를 수신하도록 구성된다.
카운터(171)는 루프 신호(NL)가 활성화된 동안 카운트를 수행한다. 예를 들 면, 루프 신호(NL)는 카운터(171)에 제공되는 클럭 신호로 이용된다. 카운터(171)는 최초 패스 신호(FP)에 응답하여 카운트를 시작한다. 예를 들면, 최초 패스 신호(FP)는 카운터(171)의 입력 신호로 이용된다. 카운터(171)의 카운트 값은 리셋 신호(Reset)에 응답하여 초기화된다.
프로그램 루프가 반복적으로 수행되는 동안, 루프 신호(NL)는 활성 상태를 유지한다. 프로그램 동작이 종료되면, 루프 신호(NL)는 비활성된다. 그리고, 프로그램 루프가 반복적으로 수행되는 동안 최초 패스가 발생되면, 최초 패스 신호(FP)가 활성화된다. 즉, 카운터(171)는 최초 패스가 발생된 때부터 메모리 셀들이 패스될 때까지 카운트를 수행하도록 구성된다.
프로그램 루프가 수행될 때마다 카운트 값은 증가한다. 즉, 카운터(171)는 최초 패스가 발생된 때부터 메모리 셀들이 패스될 때까지의 프로그램 루프의 수를 카운트하도록 구성된다. 카운트값(Cnt)은 비교기(175)에 제공된다.
기준값 저장 회로(173)는 미리 설정된 기준값(CntR)을 저장하도록 구성된다. 예시적으로, 기준값 저장 회로(173)는 전기 퓨즈로 구성된다. 기준값(CntR)은 비교기(175)에 제공된다.
비교기(175)는 카운트값(Cnt) 및 기준값(CntR)을 비교한다. 카운트값(Cnt)이 기준값(CntR) 보다 크면, 비교기(175)는 제어 신호(CS)를 활성화한다. 카운트값(Cnt)이 기준값(CntR) 보가 작으면, 비교기(175)는 제어 신호(CS)를 비활성한다. 제어 신호(CS)는 검출기(177)에 전달된다.
검출기(177)는 제어 신호(CS) 및 활성 신호(EN)를 수신하도록 구성된다. 제 어 신호(CS) 및 활성 신호(EN)에 응답하여, 검출기(177)는 선택 신호(SEL)를 출력한다. 예시적으로, 활성 신호(EN)가 활성 상태이면, 검출기(177)는 제어 신호(CS)에 응답하여 선택 신호(SEL)를 출력한다. 제어 신호(CS)가 활성 상태이면 선택 신호(SEL)는 도 8의 제 2 레지스터(161b)를 나타낸다. 제어 신호(CS)가 비활성 상태이면, 선택 신호(SEL)는 도 8의 제 1 레지스터(161a)를 나타낸다. 즉, 카운트 값(Cnt)이 기준값(CntR) 보다 크면 조절된 전압(Va)이 프로그램 시작 전압으로 선택된다. 카운트 값(Cnt)이 기준값(CntR) 보다 작으면, 디폴트 전압(Vd)이 프로그램 시작 전압으로 선택된다.
활성 신호(EN)가 비활성 상태이면, 검출기(177)는 제어 신호(CS)에 관계 없이 선택 신호(SEL)가 제 1 레지스터(161a)를 나타내도록 선택 신호(SEL)를 제어한다. 즉, 활성 신호(EN)가 비활성 상태이면, 디폴트 전압(Vd)이 프로그램 시작 전압으로 선택된다.
예시적으로, 활성 신호(EN)는 최하위 페이지 프로그램 시에 비활성된다. 즉, 최하위 페이지 프로그램 시에, 디폴트 전압(Vd)이 프로그램 시작 전압으로 선택된다. 최하위 페이지 이외의 페이지(예를 들면, 중간 페이지 및 최상위 페이지) 프로그램 시에, 활성 신호(EN)는 활성화된다. 즉, 최하위 페이지 이외의 페이지(예를 들면, 중간 페이지 및 최상위 페이지) 프로그램 시에, 카운트 값(Cnt) 및 기준값(CntR)에 따라 프로그램 시작 전압이 선택된다.
예시적으로, 활성 신호(EN)는 사용자에 의해 비활성될 수 있다. 즉, 프로그램 동작 시에 디폴트 전압(Vd)이 사용되도록, 사용자에 의해 설정될 수 있다. 예를 들면, 사용자에 의해 모드 레지스터 셋(MRS, Mode Register Set)이 설정되고, 모드 레지스터 셋(MRS)에 응답하여 활성 신호(EN)가 비활성으로 유지된다.
예시적으로, 카운터(171) 및 비교기(175)는 독립적으로 활성화 및 비활성화될 수 있다. 예를 들면, 카운터(171) 및 비교기(175)에 각각 활성화를 제어하는 제어 신호가 제공될 수 있다. 예를 들면, 카운터(171)에 제공되는 최초 패스 신호(FP) 또는 루프 신호(NL)를 차단함으로써, 카운터(171)가 비활성될 수 있다.
도 10은 도 1, 도 8, 그리고 도 9를 참조하여 설명된 플래시 메모리 장치(100)의 동작을 설명하기 위한 순서도이다. 도 1, 그리고 도 8 내지 도 10을 참조하면, S210 단계에서, 어드레스(ADDR)가 수신된다.
S215 단계에서, 수신된 어드레스(ADDR)가 최하위 페이지를 나타내는지 판별된다. 수신된 어드레스(ADDR)가 최하위 페이지를 나타내면, S235 단계가 수행된다.
S235 단계에서, 프로그램 루프가 수행된다. 제 1 프로그램 루프가 수행될 때, 프로그램 시작 전압이 사용된다. 도 9를 참조하여 설명된 바와 마찬가지로, 최하위 페이지 프로그램 시에, 활성 신호(EN)가 비활성된다. 따라서, 멀티플렉서(163a)는 디폴트 전압 정보(VId)를 프로그램 전압 생성기(165)로 전달한다. 즉, 최하위 페이지 프로그램 시에, 디폴트 전압이 프로그램 시작 전압으로 이용된다.
S240 단계에서, 최초 패스가 발생되는지 판별된다. 최초 패스가 발생되면, 패스 페일 체크회로(150)는 최초 패스 신호(FP)를 활성화한다. 최초 패스가 발생되지 않으면, S235 단계가 수행된다.
S235 단계에서, 프로그램 루프가 수행된다. 프로그램 루프가 수행될 때마다, 프로그램 전압의 레벨은 제 1 전압 차이(△V1) 만큼 증가한다. 즉, ISPP (Incremental Step Pulse Program)가 수행된다.
S240 단계에서, 최초 패스가 발생되면, S245 단계가 수행된다. S245 단계에서, 프로그램 전압(Vpgm)의 레벨이 저장된다. 최초 패스가 발생되었으므로, 최초 패스 신호(FP)가 활성화된다. 최초 패스 신호(FP)에 응답하여, 제 2 레지스터(161b)에 최초 패스가 발생된 때의 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)가 저장된다.
S250 단계에서, 카운트가 시작된다. 최초 패스 신호(FP)에 응답하여, 선택기(163b)의 카운터(171)는 카운트를 시작한다.
S255 단계에서, 프로그램 루프가 수행된다. S235 단계와 마찬가지로, 프로그램 루프가 수행될 때마다, 프로그램 전압(Vpgm)의 레벨은 제 1 전압 차이(△V1) 만큼 증가한다.
S260 단계에서, 프로그램 완료되는지 판별된다. 프로그램 완료되지 않으면, S255 단계에서 프로그램 루프가 수행된다. 프로그램 완료되면, S265 단계가 수행된다.
S265 단계에서, 카운트가 중지된다. 프로그램 완료되면, 패스 신호(PASS)가 활성화된다. 패스 신호(PASS)가 활성화되면, 루프 신호(NL)는 비활성된다. 루프 신호(NL)가 비활성되면, 카운터(171)는 카운트를 중지한다. 이후에, 최하위 페이지의 프로그램 동작이 종료된다.
즉, 최하위 페이지 프로그램 시에, 카운터(171) 및 제 2 레지스터(161b)는 활성화된다. 최하위 페이지 프로그램이 수행되면, 최초 패스된 때의 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)이 조절된 전압 정보(VIa)로서 제 2 레지스터(161b)에 저장된다. 그리고, 최초 패스된 때로부터 프로그램 완료될 때까지의 프로그램 루프의 횟수가 카운터(171)에 저장된다.
예시적으로, 최하위 페이지 프로그램 시에, 비교기(175)는 비활성된다. 즉, 최하위 페이지 프로그램 시에, 카운트값(Cnt)은 기준값(CntR)과 비교되지 않는다.
이후에, 중간 페이지 프로그램 동작이 수행된다. S210 단계에서, 어드레스(ADDR)가 수신된다. S215 단계에서, 수신된 어드레스(ADDR)는 최하위 페이지를 나타내지 않는다. 따라서, S220 단계가 수행된다.
S220 단계에서, 카운트값(Cnt)이 기준값(CntR)보다 큰 지 판별된다. 카운트값(Cnt)이 기준값(CntR) 보다 크면, S225 단계가 수행된다. S225 단계에서, 조절된 프로그램 시작 전압(Va)을 이용하여, 프로그램 동작이 수행된다. 즉, 최하위 페이지 프로그램 시에 도출된 프로그램 특성은 슬로우 셀들로부터 도출되지 않은 것으로 판단된다. 프로그램 시작 전압(Vini)은 도출된 프로그램 특성에 따라 조절된다. 그리고, 조절된 전압(Va)을 이용하여 중간 페이지 프로그램 동작이 수행된다.
카운트값(Cnt)이 기준값(CntR) 보다 크지 않으면, S230 단계가 수행된다. S230 단계에서, 디폴트 프로그램 시작 전압(Vd)을 이용하여 프로그램 동작이 수행된다. 즉, 최하위 페이지 프로그램 시에 도출된 프로그램 특성은 슬로우 셀들로부터 도출된 것으로 판단되고, 도출된 프로그램 특성은 무시된다.
최상위 페이지 프로그램 또한 중간 페이지 프로그램을 참조하여 설명된 바와 마찬가지로 수행된다.
예시적으로, 최하위 페이지 이외의 페이지의 프로그램 동작 시에, 카운터(171)는 카운트를 수행하지 않는다. 예를 들면, 카운터(171)에 제공되는 입력 신호 또는 클럭 신호가 차단된다. 예를 들면, 카운터(171)는 저장된 카운트값(Cnt)을 유지한다.
예시적으로, 최하위 페이지 이외의 페이지의 프로그램 동작 시에, 제 2 레지스터(161b)는 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)를 수신하지 않는다. 예를 들면, 제 2 레지스터(161b)에 제공되는 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)가 차단된다. 예를 들면, 제 2 레지스터(161b)는 저장된 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)를 유지한다. 즉, 프로그램 특성은 최하위 페이지로부터만 도출되도록 구성된다.
예시적으로, 프로그램되는 워드 라인의 최상위 페이지가 프로그램 완료된 후에, 카운트값(Cnt)은 초기화된다.
상술된 바와 같이, 본 발명의 실시 예에 따르면, 최하위 페이지 프로그램 시에 메모리 셀들의 프로그램 특성이 도출된다. 그리고, 최초 패스 및 프로그램 완료 사이의 프로그램 루프 횟수에 기반하여, 도출된 프로그램 특성의 정확도가 판별된다. 도출된 프로그램 특성의 정확도가 낮으면, 즉 프로그램 루프 횟수가 기준값보다 적으면, 도출된 프로그램 특성은 무시된다. 도출된 프로그램 특성의 정확도가 높으면, 즉 프로그램 루프 횟수가 기준값보다 많으면, 도출된 프로그램 특성에 따라 조절된 프로그램 시작 전압이 사용된다. 본 발명에 따르면, 신뢰성을 유지하며 프로그램 속도를 향상시키는 것이 가능하다.
도 11은 도 10의 동작 방법의 제 1 응용 예를 보여주는 블록도이다. 도 11을 참조하면, S310 및 S315 단계, 그리고 S335 단계 내지 S365 단계는 도 10을 참조하여 설명된 S210 및 S215 단계, 그리고 S235 단계 내지 S265 단계와 동일하다. 즉, 최하위 페이지 프로그램은 도 10을 참조하여 설명된 방법과 동일하게 수행된다. 따라서, 상세한 설명은 생략된다.
S315 단계에서, 수신된 어드레스(ADDR)가 최하위 페이지를 나타내지 않으면, S320 단계가 수행된다. S320 단계에서, 카운트값(Cnt)이 기준값(CntR) 보다 큰 지 판별된다. 카운트값(Cnt)이 기준값(CntR) 보다 크면, S325 단계에서, 조절된 프로그램 시작 전압(Va)을 이용하여 프로그램 동작이 수행된다. 그리고, S330 단계에서, 조절된 프로그램 시작 전압(Va)이 확정된다. 즉, 카운터(171)는 비활성화되고, 제 2 레지스터(161b)는 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)를 수신하지 않는다.
S320 단계에서, 카운트값(Cnt)이 기준값(CntR) 보다 크지 않으면, S335 단계가 수행된다.
즉, 특정 페이지 프로그램 시에 프로그램 특성이 도출되지 않으면, 즉 카운트값(Cnt)이 기준값(CntR) 보다 크지 않으면, 상위 페이지 프로그램 시에 프로그램 특성 도출이 다시 시도된다.
특정 페이지 프로그램 시에 프로그램 특성이 도출되면, 즉 카운트값(Cnt)이 기준값(CntR) 보다 크면, 획득된 프로그램 특성을 이용하여 프로그램 시작 전 압(Vini)이 조절된다. 그리고, 조절된 전압(Va)을 이용하여, 상위 페이지 프로그램 동작이 수행된다.
예시적으로, 카운트값(Cnt) 및 기준값(CntR)이 비교되고, 카운트값(Cnt)이 기준값(CntR) 보다 작으면, 카운트값(Cnt)은 초기화된다. 또한, 카운트값(Cnt)이 기준값(CntR) 보다 작으면, 제 2 레지스터(161b)는 초기화된다.
예시적으로, 카운트값(Cnt)이 기준값(CntR)에 도달하면, 카운터(171)에 제공되는 입력 신호 또는 클럭 신호가 차단된다. 그리고, 카운터(171)는 저장된 카운트값(Cnt)을 유지한다. 또한, 제 2 레지스터(161b)는 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)를 무시한다. 예를 들면, 제 2 레지스터(161b)에 제공되는 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)가 차단된다. 그리고, 제 2 레지스터(161b)는 저장되어 있는 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)를 유지한다.
도 12는 도 10의 동작 방법의 제 2 응용 예를 보여주는 블록도이다. 도 12를 참조하면, S410 단계 내지 S430 단계 단계는 도 10의 S210 단계 내지 S230 단계와 동일하게 수행된다. 즉, 최하위 페이지의 상위 페이지 프로그램은 도 10을 참조하여 설명된 바와 마찬가지로 수행된다.
S415 단계, 그리고 S435 단계 내지 S465 단계로 구성되는 최하위 페이지 프로그램 동작은 S440 단계를 제외하면 S215 단계, 그리고 S235 단계 내지 S265 단계와 동일하다.
도 10의 S240 단계에서, 최초 패스가 발생되는지 판별되었다. 그러나, S440 단계에서, 패스 셀의 수가 기준값에 도달하였는지 판별된다. 즉, 최초 패스가 발생되더라도, 패스 셀의 수가 기준값에 미달하면 S435 단계의 프로그램 루프가 다시 수행된다. 패스 셀의 수가 기준값에 도달하면, S445 단계가 수행된다. 즉, 패스 셀의 수가 기준값에 도달한 때의 프로그램 전압(Vpgm) 또는 프로그램 전압 정보(VIpgm)가 제 2 레지스터(161b)에 저장된다. 즉, 도 12의 조절된 전압(Va)의 레벨은 도 10의 조절된 전압(Va)의 레벨과 같거나 높다.
이 경우, 최초 패스가 발생된 때부터 패스 셀의 수가 기준값에 도달할 때 사이에 발생되는 패스 셀들은, 상위 비트 프로그램 시에 오버 프로그램될 수 있다. 그러나, 기준값이 플래시 메모리 장치(100) 또는 플래시 메모리 장치(100)를 제어하는 컨트롤러의 에러 정정 가능한 비트 수보다 작게 설정되면, 오버 프로그램으로 인한 에러는 정정될 수 있다. 요약하면, 조절된 전압(Va)의 레벨이 상승하므로 프로그램 속도가 향상된다. 그리고, 오버 프로그램으로 인한 에러는 정정 가능하다. 즉, 신뢰성을 유지하면서 프로그램 속도가 향상될 수 있다.
예시적으로, 패스 셀의 수가 기준값에 도달하였는지의 여부는 패스 페일 체크 회로(150, 도 1 참조)에서, 또는 제어 로직(160)에서 판별된다.
도 13은 도 8의 프로그램 시작 전압 저장부(161), 프로그램 시작 전압 선택부(163), 그리고 프로그램 전압 발생부(165)의 응용 예를 보여주는 블록도이다. 도 13을 참조하면, 프로그램 시작 전압 저장부(180)는 제 1 레지스터(161a) 및 복수의 제 2 레지스터들(181~18N)을 포함한다. 복수의 제 2 레지스터들(181~18N)은 대응하는 페이지들의 조절된 프로그램 시작 전압 정보들(Va1~VaN)을 각각 저장하도 록 구성된다.
프로그램 시작 전압 선택부(163)의 멀티플렉서(163c)는 선택기(163d)의 선택 신호(SEL)에 응답하여, 제 1 레지스터(161a) 및 복수의 제 2 레지스터들(181~18N)의 출력들 중 하나를 선택한다.
예시적으로, 카운트값(Cnt)이 기준값(CntR)보다 작으면, 제 1 레지스터(181a)의 출력이 선택된다. 카운트값(Cnt)이 기준값(CntR)보다 크면, 복수의 제 2 레지스터들(181~18N) 중 프로그램되는 워드 라인에 대응하는 레지스터의 출력이 선택된다.
따라서, 제 1 워드 라인에 연결된 최하위 내지 최상위 페이지들이 모두 프로그램되기 전에 제 2 워드 라인에 연결된 페이지가 프로그램될 때, 제 1 워드 라인에서 도출된 프로그램 특성이 유지될 수 있다.
예시적으로, 복수의 제 2 레지스터들(181~18N)이 제공될 때, 복수의 제 2 레지스터들(181~18N)에 각각 대응하는 복수의 카운터들이 선택기(163d)에 제공된다. 그리고, 특정 워드 라인이 프로그램될 때, 해당 워드 라인에 대응하는 카운터의 카운트값(Cnt)이 기준값(CntR)과 비교된다.
예시적으로, 복수의 제 2 레지스터들(181~18N)이 제공될 때, 복수의 제 2 레지스터들(181~18N)에 대응하는 카운트값들(Cnt1~CntN)을 저장하도록 구성되는 저장 회로가 제공된다. 특정 워드 라인의 최하위 페이지가 프로그램될 때, 해당 워드 라인에 대응하는 카운트값(Cnt)이 대응하는 저장 회로에 저장된다. 그리고, 해당 워드 라인위 상위 페이지가 프로그램될 때, 해당 워드 라인에 대응하는 저장 회로 에 저장된 카운트값(Cnt)이 기준값(CntR)과 비교된다.
상술한 실시 예들에서, 카운트값(Cnt)는 기준값(CntR)과 비교된다. 예시적으로, 기준값(CntR)은 사용자에 의해 설정된다. 예를 들면, 메모리 셀 어레이의 프로그램 특성이 테스트되고, 테스트 결과에 따라 기준값(CntR)이 설정된다. 예를 들면, 기준값(CntR)은 모드 레지스터 셋(MRS)에 프로그램된다.
상술한 실시 예에서, 플래시 메모리 장치의 예를 참조하며, 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)가 설명되었다. 그러나, 본 발명의 기술적 사상은 플래시 메모리 장치에 적용되는 것으로 한정되지 않는다. 예를 들면, 본 발명의 기술적 사상은 SRAM, DRAM, SDRAM 등과 같은 휘발성 메모리, 그리고 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등과 같은 불휘발성 메모리 장치에 적용되도록 응용 및 변형될 수 있다. 예를 들면, 상술된 프로그램 전압은 프로그램 전류로 대체될 수 있다. 상술된 메모리 셀들의 문턱 전압은 메모리 셀들의 저항값으로 대체될 수 있다.
도 14는 도 1의 불휘발성 메모리 장치(100)를 포함하는 메모리 시스템(10)을 보여주는 블록도이다. 도 14를 참조하면, 메모리 시스템(10)은 불휘발성 메모리 장치(100) 및 컨트롤러(200)를 포함한다.
컨트롤러(200)는 호스트(Host) 및 불휘발성 메모리 장치(100)에 연결된다. 호스트(Host)로부터의 요청에 응답하여, 컨트롤러(200)는 불휘발성 메모리 장치(100)를 액세스하도록 구성된다. 예를 들면, 컨트롤러(200)는 불휘발성 메모리 장치(100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성 된다. 컨트롤러(200)는 불휘발성 메모리 장치(100) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(200)는 불휘발성 메모리 장치(100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
예시적으로, 컨트롤러(200)는 불휘발성 메모리 장치(100)에 제어 신호(CTRL) 및 어드레스(ADDR)를 제공하도록 구성된다. 그리고, 컨트롤러(200)는 불휘발성 메모리 장치(100)와 데이터(DATA)를 교환하도록 구성된다.
예시적으로, 컨트롤러(200)는 램(RAM, Ramdon Access Memory), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface), 그리고 메모리 인터페이스(memory interface)와 같은 잘 알려진 구성 요소들을 더 포함한다. 램(RAM)은 프로세싱 유닛의 동작 메모리, 불휘발성 메모리 장치(100) 및 호스트(Host) 사이의 캐시 메모리, 그리고 불휘발성 메모리 장치(100) 및 호스트(Host) 사이의 버퍼 메모리 중 적어도 하나로서 이용된다. 프로세싱 유닛은 컨트롤러(300)의 제반 동작을 제어한다.
호스트 인터페이스는 호스트(Host) 및 컨트롤러(200) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적으로, 컨트롤러(200)는 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)의 구성 요소로서 제공된다. 오류 정정 블록은 불휘발성 메모리 장치(100)의 구성 요소로서 제공될 수 있다.
컨트롤러(200) 및 불휘발성 메모리 장치(100)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(200) 및 불휘발성 메모리 장치(100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성한다. 예를 들면, 컨트롤러(200) 및 불휘발성 메모리 장치(100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성한다.
컨트롤러(200) 및 불휘발성 메모리 장치(100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(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), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적으로, 불휘발성 메모리 장치(100) 또는 메모리 시스템(10)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 불휘발성 메모리 장치(100) 또는 메모리 시스템(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) 등과 같은 방식으로 패키지화되어 실장된다.
도 15는 도 14의 메모리 시스템(10)의 응용 예를 보여주는 블록도이다. 도 15를 참조하면, 메모리 시스템(20)은 불휘발성 메모리 장치(300) 및 컨트롤러(400)를 포함한다. 불휘발성 메모리 장치(300)는 복수의 불휘발성 메모리 칩들을 포함한다. 복수의 불휘발성 메모리 칩들은 복수의 그룹들로 분할된다. 복수의 불휘발성 메모리 칩들의 각 그룹은 하나의 공통 채널을 통해 컨트롤러(400)와 통신하도록 구성된다. 도 15에서, 복수의 불휘발성 메모리 칩들은 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(400)와 통신하는 것으로 도시되어 있다. 각 불휘발성 메모리 칩은 도 1을 참조하여 설명된 불휘발성 메모리 장치(100)와 같이 구성된다. 그리고, 컨트롤러(400)는 도 14를 참조하여 설명된 컨트롤러(200)와 같이 구성된다.
도 16은 도 15를 참조하여 설명된 메모리 시스템(200)을 포함하는 컴퓨팅 시스템(500)을 보여주는 블록도이다. 도 16을 참조하면, 컴퓨팅 시스템(500)은 중앙 처리 장치(510), 램(520, RAM, Random Access Memory), 사용자 인터페이스(530), 전원(540), 그리고 메모리 시스템(20)을 포함한다.
메모리 시스템(20)은 시스템 버스(550)를 통해, 중앙처리장치(510), 램(520), 사용자 인터페이스(530), 그리고 전원(540)에 전기적으로 연결된다. 사용자 인터페이스(530)를 통해 제공되거나, 중앙 처리 장치(510)에 의해서 처리된 데이터는 메모리 시스템(20)에 저장된다. 메모리 시스템(20)은 컨트롤러(400) 및 불휘발성 메모리 장치(300)를 포함한다.
도 16에서, 불휘발성 메모리 장치(300)는 컨트롤러(400)를 통해 시스템 버스(550)에 연결되는 것으로 도시되어 있다. 그러나, 불휘발성 메모리 장치(300)는 시스템 버스(550)에 직접 연결되도록 구성될 수 있다. 이때, 도 16을 참조하여 설명된 컨트롤러(400)의 기능은 프로세서(510)에 의해 수행된다.
도 16에서, 도 15를 참조하여 설명된 메모리 시스템(20)이 제공되는 것으로 도시되어 있다. 그러나, 메모리 시스템(20)은 도 14를 참조하여 설명된 메모리 시스템(10)으로 대체될 수 있다.
예시적으로, 컴퓨팅 시스템(500)은 도 14 및 도 15를 참조하여 설명된 메모리 시스템들(10, 20)을 모두 포함하도록 구성될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 자명하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 2는 도 1의 메모리 셀 어레이의 일부를 보여주는 블록도이다.
도 3은 셀 당 3 비트를 저장하도록 구성되는 메모리 셀 어레이의 페이지들을 보여주는 블록도이다.
도 4는 도 2 및 도 3의 메모리 셀 어레이에 데이터가 프로그램되는 과정을 보여주는 다이어그램이다.
도 5는 도 4의 최하위 비트 프로그램이 수행되는 과정을 보여주는 다이어그램이다.
도 6은 프로그램되는 메모리 셀들이 슬로우 셀들로 구성된 때의 최하위 페이지 프로그램 과정을 보여주는 다이어그램이다.
도 7은 도 1의 플래시 메모리 장치의 개략적인 동작을 설명하기 위한 순서도이다.
도 8은 도 1의 프로그램 시작 전압 저장부, 프로그램 시작 전압 선택부, 그리고 프로그램 전압 발생부를 보여주는 블록도이다.
도 9는 도 8의 선택기를 보여주는 블록도이다.
도 10은 도 1, 도 8, 그리고 도 9를 참조하여 설명된 플래시 메모리 장치의 동작을 설명하기 위한 순서도이다.
도 11은 도 10의 동작 방법의 제 1 응용 예를 보여주는 블록도이다.
도 12는 도 10의 동작 방법의 제 2 응용 예를 보여주는 블록도이다.
도 13은 도 8의 프로그램 시작 전압 저장부, 프로그램 시작 전압 선택부, 그리고 프로그램 전압 발생부의 응용 예를 보여주는 블록도이다.
도 14는 도 1의 불휘발성 메모리 장치를 포함하는 메모리 시스템을 보여주는 블록도이다.
도 15는 도 14의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 16은 도 15를 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.

Claims (10)

  1. 불휘발성 메모리 장치의 동작 방법에 있어서:
    시작 전압 정보에 대응하는 프로그램 시작 전압을 이용하여 메모리 셀들의 프로그램 동작을 시작하고;
    상기 메모리 셀들 중 프로그램 패스된 메모리 셀을 검출하고;
    상기 프로그램 패스된 메모리 셀이 검출된 후, 상기 메모리 셀들의 프로그램 동작이 완료될 때까지의 프로그램 루프의 수를 카운트하고; 그리고
    상기 카운트 값에 기반하여 상기 시작 전압 정보를 갱신하는 것을 포함하는 동작 방법.
  2. 제 1 항에 있어서,
    상기 시작 전압 정보를 갱신하는 것은
    상기 카운트 값이 기준값보다 클 때, 상기 시작 전압 정보를 갱신하는 것을 포함하는 동작 방법.
  3. 제 2 항에 있어서,
    상기 시작 전압 정보는 상기 프로그램 패스된 메모리 셀이 검출된 때의 프로그램 전압의 레벨에 따라 조절되는 동작 방법.
  4. 제 1 항에 있어서,
    상기 메모리 셀들 각각은 n 비트를 저장하도록 구성되고,
    상기 시작 전압 정보를 갱신하는 것은
    상기 메모리 셀들에 최하위 비트(Least Significant Bit, LSB)로부터 k 번째 비트들이 프로그램된 때의 상기 카운트 값에 기반하여, 상기 메모리 셀들에 k+1 내지 n 비트들이 프로그램될 때의 시작 전압 정보를 갱신하는 것을 포함하는 동작 방법.
  5. 제 1 항에 있어서,
    상기 메모리 셀들 각각은 n 비트를 저장하도록 구성되고,
    상기 시작 전압 정보를 갱신하는 것은
    상기 메모리 셀들에 최하위 비트(Least Significant Bit, LSB)로부터 k 번째 비트들이 프로그램된 때의 상기 카운트 값에 기반하여, 상기 메모리 셀들에 k+1 비트들이 프로그램될 때의 시작 전압 정보를 갱신하는 것을 포함하는 동작 방법.
  6. 메모리 셀 어레이;
    상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로; 그리고
    상기 메모리 셀 어레이에 시작 전압 정보에 대응하는 프로그램 시작 전압으로부터 증가하는 프로그램 전압을 제공하도록 구성되는 제어 로직을 포함하고,
    프로그램 동작 시에 상기 제어 로직은, 프로그램 패스된 메모리 셀이 검출된 때부터 상기 프로그램 동작이 완료될 때까지의 프로그램 루프의 수에 기반하여, 상기 시작 전압 정보를 갱신하도록 구성되는 불휘발성 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제어 로직은
    적어도 하나의 디폴트 시작 전압 정보를 저장하도록 구성되는 제 1 레지스터; 그리고
    적어도 하나의 가변된 시작 전압 정보를 저장하도록 구성되는 제 2 레지스터를 포함하고,
    상기 프로그램 패스된 메모리 셀이 검출된 때의 프로그램 전압의 레벨이 상기 제 2 레지스터에 저장되는 불휘발성 메모리 장치.
  8. 제 7 항에 있어서,
    상기 제어 로직은
    상기 프로그램 패스된 메모리 셀이 검출된 때에 카운트를 시작하고, 프로그램 루프가 수행될 때마다 카운트 업 하도록 구성되는 카운터;
    기준값을 저장하도록 구성되는 저장 회로;
    상기 카운트 값 및 상기 기준값을 비교하여 선택 신호를 발생하는 비교기; 그리고
    상기 선택 신호에 응답하여 상기 제 1 레지스터의 출력 및 상기 제 2 레지스터의 출력을 선택하도록 구성되는 다중화기를 포함하고,
    상기 카운트 값이 상기 기준값보다 크면, 상기 제 2 레지스터의 출력이 선택되는 불휘발성 메모리 장치.
  9. 불휘발성 메모리 장치; 그리고
    상기 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러를 포함하고,
    상기 불휘발성 메모리 장치는
    메모리 셀 어레이;
    상기 메모리 셀 어레이를 액세스하도록 구성되는 읽기 및 쓰기 회로; 그리고
    상기 메모리 셀 어레이에 시작 전압 정보에 대응하는 프로그램 시작 전압으로부터 증가하는 프로그램 전압을 제공하도록 구성되는 제어 로직을 포함하고,
    프로그램 동작 시에 상기 제어 로직은, 프로그램 패스된 메모리 셀이 검출된 때부터 상기 프로그램 동작이 완료될 때까지의 프로그램 루프의 수에 기반하여, 상기 시작 전압 정보를 갱신하도록 구성되는 메모리 시스템.
  10. 제 9 항에 있어서,
    상기 불휘발성 메모리 장치 및 상기 컨트롤러는 반도체 드라이브(Solid State Drive, SSD)를 구성하는 메모리 시스템.
KR1020090097748A 2009-10-14 2009-10-14 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 KR101596827B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090097748A KR101596827B1 (ko) 2009-10-14 2009-10-14 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US12/780,988 US8432734B2 (en) 2009-10-14 2010-05-17 Nonvolatile memory device and system and related method of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090097748A KR101596827B1 (ko) 2009-10-14 2009-10-14 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20110040472A KR20110040472A (ko) 2011-04-20
KR101596827B1 true KR101596827B1 (ko) 2016-02-23

Family

ID=43854731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090097748A KR101596827B1 (ko) 2009-10-14 2009-10-14 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템

Country Status (2)

Country Link
US (1) US8432734B2 (ko)
KR (1) KR101596827B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11972111B2 (en) 2021-11-09 2024-04-30 Samsung Electronics Co., Ltd. Memory device for improving speed of program operation and operating method thereof

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120070408A (ko) * 2010-12-21 2012-06-29 에스케이하이닉스 주식회사 블록을 관리하는 비휘발성 메모리 장치의 제어 방법
JP5542737B2 (ja) * 2011-05-12 2014-07-09 株式会社東芝 不揮発性半導体記憶装置
JP5929456B2 (ja) * 2012-04-17 2016-06-08 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
KR20130138019A (ko) 2012-06-08 2013-12-18 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그 제어 방법
KR102081590B1 (ko) * 2013-01-29 2020-04-14 삼성전자 주식회사 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
US8885405B2 (en) * 2013-01-31 2014-11-11 Ememory Technology Inc. Flash memory and associated programming method
KR102133362B1 (ko) * 2013-08-14 2020-07-15 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 및 그것의 프로그램 방법
US9378097B1 (en) * 2013-08-27 2016-06-28 Sk Hynix Memory Solutions Inc. Selective copy-back
KR102247087B1 (ko) * 2014-07-08 2021-05-03 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102238592B1 (ko) 2014-08-08 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 디폴트 독출 전압 설정 방법 및 비휘발성 메모리 장치의 데이터 독출 방법
KR20170011641A (ko) * 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102348092B1 (ko) * 2015-09-14 2022-01-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR102381218B1 (ko) * 2015-09-25 2022-04-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102473167B1 (ko) * 2015-12-18 2022-12-02 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR102498248B1 (ko) * 2016-02-04 2023-02-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
JP6249504B1 (ja) * 2016-08-24 2017-12-20 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
KR20180025357A (ko) * 2016-08-29 2018-03-09 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102363382B1 (ko) * 2017-09-26 2022-02-16 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치
KR20190073943A (ko) * 2017-12-19 2019-06-27 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10482965B1 (en) * 2018-04-30 2019-11-19 Micron Technology, Inc. Memory start voltage management
US11232196B2 (en) * 2018-07-09 2022-01-25 Arm Limited Tracking events of interest to mitigate attacks
US11361111B2 (en) * 2018-07-09 2022-06-14 Arm Limited Repetitive side channel attack countermeasures
US11182234B2 (en) 2019-05-10 2021-11-23 Arm Limited Tracking events of interest
KR102636380B1 (ko) * 2021-09-10 2024-02-15 에스케이키파운드리 주식회사 임베디드 플래시 메모리 및 그의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4413406B2 (ja) * 2000-10-03 2010-02-10 株式会社東芝 不揮発性半導体メモリ及びそのテスト方法
JP3866627B2 (ja) * 2002-07-12 2007-01-10 株式会社東芝 不揮発性半導体メモリ
KR100729359B1 (ko) * 2005-09-23 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
JP4901348B2 (ja) 2006-07-20 2012-03-21 株式会社東芝 半導体記憶装置およびその制御方法
JP2008117471A (ja) 2006-11-02 2008-05-22 Toshiba Corp 不揮発性半導体記憶装置及び不揮発性メモリシステム
KR100891405B1 (ko) * 2007-09-27 2009-04-02 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR100933857B1 (ko) * 2007-11-09 2009-12-24 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR20100000776A (ko) * 2008-06-25 2010-01-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11972111B2 (en) 2021-11-09 2024-04-30 Samsung Electronics Co., Ltd. Memory device for improving speed of program operation and operating method thereof

Also Published As

Publication number Publication date
KR20110040472A (ko) 2011-04-20
US20110085379A1 (en) 2011-04-14
US8432734B2 (en) 2013-04-30

Similar Documents

Publication Publication Date Title
KR101596827B1 (ko) 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US10937508B2 (en) Nonvolatile memory devices and methods of operating a nonvolatile memory
US10748633B2 (en) Semiconductor memory device
US8004898B2 (en) Nonvolatile memory device, program method thereof, and memory system including the same
US20110188292A1 (en) Variable resistance memory, operating method and system
US10008289B2 (en) Semiconductor memory device and method of operating the same
US20110044113A1 (en) Nonvolatile memory device, method for programming same, and memory system incorporating same
KR101278103B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US8902666B2 (en) Programming method for nonvolatile memory device
KR101468096B1 (ko) 불휘발성 메모리 장치의 동작 방법 및 그것을 포함하는 메모리 시스템
US9570190B2 (en) Semiconductor memory device to selectively perform a single sensing operation or a multi-sensing operation
US8675412B2 (en) Non-volatile memory device, method of operating the same, and electronic device having the same
US20130117635A1 (en) Memory system including nonvolatile memory device and controlling method of controlling nonvolatile memory device
US10224102B2 (en) Semiconductor memory device and operation method thereof
KR101984796B1 (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20140013383A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR101999764B1 (ko) 반도체 메모리 장치
US9466389B2 (en) Multiple programming pulse per loop programming and verification method for non-volatile memory devices
KR20110125029A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20170011324A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20150047821A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20180027276A (ko) 반도체 메모리 장치 및 그 동작 방법
KR20160116913A (ko) 상태 페일 신호를 출력하는 반도체 메모리 장치 및 그것의 동작 방법
US20150117125A1 (en) Semiconductor memory device, memory system including the same and operating method thereof
KR20180016854A (ko) 반도체 메모리 장치 및 그 동작 방법

Legal Events

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

Payment date: 20200131

Year of fee payment: 5