KR101807756B1 - 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법 - Google Patents

비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법 Download PDF

Info

Publication number
KR101807756B1
KR101807756B1 KR1020170037115A KR20170037115A KR101807756B1 KR 101807756 B1 KR101807756 B1 KR 101807756B1 KR 1020170037115 A KR1020170037115 A KR 1020170037115A KR 20170037115 A KR20170037115 A KR 20170037115A KR 101807756 B1 KR101807756 B1 KR 101807756B1
Authority
KR
South Korea
Prior art keywords
program
voltage
mode
sensing
data
Prior art date
Application number
KR1020170037115A
Other languages
English (en)
Other versions
KR20170036672A (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 KR1020170037115A priority Critical patent/KR101807756B1/ko
Publication of KR20170036672A publication Critical patent/KR20170036672A/ko
Application granted granted Critical
Publication of KR101807756B1 publication Critical patent/KR101807756B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명의 실시 예들은 이후에 첨부되는 발명의 실시 예를 보여주는 도면들을 참조하여 설명된다. 그러나, 본 발명은 수많은 다른 종류들로 구현될 수 있으며, 여기에 개시된 실시 예들에 제한되도록 해석되지 않는다. 이러한 실시 예들은, 본 발명의 개시가 철저하고 완벽하게 되도록, 그리고 종래기술에 대하여 본 발명의 범위가 충분하게 전달되도록 제공된다. 한편, 숫자들은 전체적으로 항목들로 언급된다. 본 발명에 따른 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법은 프로그램 동작시 환경 정보에 따른 서로 다른 감지 방법으로 검증 동작을 수행함으로써, 프로그램 성능을 향상시킨다.

Description

비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법{NONVOLATILE MEMORY DEVICE, MEMORY SYSTEM HAVING ITS AND PROGRAMMING METHOD THEREOF}
본 발명은 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는, 일반적으로, 위성에서 소비자 전자 기술까지의 범위에 속하는 마이크로프로세서를 기반으로 한 응용 및 컴퓨터와 같은 디지털 로직 설계의 가장 필수적인 마이크로 전자 소자이다. 그러므로 높은 집적도 및 빠른 속도를 위한 축소(Scaling)를 통해 얻어지는 프로세스 향상 및 기술 개발을 포함한 반도체 메모리의 제조 기술의 진보는 다른 디지털 로직 계열의 성능 기준을 확립하는 데 도움이 된다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치와 비휘발성 반도체 메모리 장치로 나누어진다. 비휘발성 반도체 메모리 장치는 전원이 차단되어도 데이터를 저장할 수 있다. 비휘발성 메모리에 저장되는 데이터는 메모리 제조 기술에 따라 영구적이거나 재프로그램 가능하다. 비휘발성 반도체 메모리 장치는 컴퓨터, 항공 전자 공학, 통신, 그리고 소비자 전자 기술 산업과 같은 넓은 범위의 응용에서 프로그램 및 마이크로 코드의 저장을 위해서 사용된다.
비휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 최근 들어 메모리 장치에 대한 고집적 요구가 증가함에 따라, 하나의 메모리 셀에 멀티 비트를 저장하는 멀티-비트 메모리 장치들이 보편화되고 있다.
본 발명의 목적은 복수의 감지 모드들로 감지 동작을 수행하는 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치는, 환경 정보에 따라 감지 모드를 선택하는 감지 모드 선택기, 및 복수의 감지 방법들로 메모리 셀의 데이터 상태를 감지하고, 상기 선택된 감지 모드에 따라 상기 복수의 감지 방법들 중 어느 하나로 상기 메모리 셀의 데이터 상태를 감지하는 페이지 버퍼를 포함한다.
실시 예에 있어서, 상기 환경 정보는 상기 비휘발성 메모리 장치의 온도이고, 상기 감지 모드 선택기는 상기 온도를 측정하기 위한 온도 감지기를 포함한다.
실시 예에 있어서, 상기 환경 정보는 노이즈이고, 상기 감지 모드 선택기는 상기 노이즈를 측정하기 위한 노이즈 감지기를 포함한다.
실시 예에 있어서, 상기 환경 정보는 상기 비휘발성 메모리 장치에 입력되는 어드레스이다.
실시 예에 있어서, 상기 감지 모드 선택기는 메타 블록을 지시하는 어드레스가 입력될 때 감지 모드와 사용자 블록을 지시하는 어드레스가 입력될 때 감지 모드를 다르게 선택한다.
실시 예에 있어서, 상기 환경 정보는 프로그램 동작시 프로그램 단계를 지시하는 페이지 내의 스페어 영역에 저장된 플래그 비트 값이다.
실시 예에 있어서, 상기 환경 정보는 프로그램 동작시 메모리 셀의 상태이다.
본 발명의 다른 실시 예에 따른 비휘발성 메모리 장치는, 환경 정보에 따라 감지 모드를 선택하는 감지 모드 선택기, 메모리 셀의 데이터 상태를 감지하기 위하여 상기 선택된 감지 모드에 따라 전류 감지 및 전압 감지들 중 어느 하나를 수행하는 페이지 버퍼 및 상기 선택된 감지 모드에 따라 상기 페이지 버퍼의 타이밍을 제어하는 제어 로직을 포함한다.
실시 예에 있어서, 상기 감지 모드 선택기는 상기 선택된 감지 모드에 대응하는 모드 신호를 생성하고, 상기 페이지 버퍼는, 상기 모드 신호에 응답하여 전류 감지를 수행하기 위한 전류 감지기, 및 상기 모드 신호에 응답하여 전압 감지를 수행하기 위한 전압 감지기를 포함하고, 상기 모드 신호에 응답하여 상기 전류 감지기 및 상기 전압 감지기 중 하나가 활성화된다.
본 발명의 실시 예에 따른 메모리 시스템은, 감지 선택 명령에 응답하여 복수의 감지 모드들 중 어느 하나로 감지 동작을 수행하는 비휘발성 메모리 장치, 및상기 비휘발성 메모리 장치를 제어하고, 환경 정보에 따라 상기 감지 선택 명령을 상기 비휘발성 메모리 장치에 전송한다.
본 발명의 실시 예에 따른 메모리 시스템은, 비휘발성 메모리 장치, 및 상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고, 상기 비휘발성 메모리 장치는, 환경 정보에 따라 감지 모드를 선택하는 감지 선택 모드기, 및 상기 선택된 감지 모드에 따라 적어도 두 개의 감지 모드들 중 어느 하나로 메모리 셀의 데이터 상태를 감지하는 페이지 버퍼를 포함한다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치의 프로그램 방법은, 환경 정보에 따라 감지 모드를 선택하는 단계, 프로그램 동작을 수행하는 단계, 및 상기 선택된 감지 모드에 따라 프로그램 검증 동작을 수행하는 단계를 포함한다.
실시 예에 있어서, 상기 감지 모드를 선택하는 단계는, 상기 비휘발성 메모리 장치의 메모리 셀 어레이의 온도를 감지하는 단계를 더 포함한다.
실시 예에 있어서, 상기 감지 모드를 선택하는 단계는, 상기 공통 소스 라인의 노이즈를 감지하는 단계를 더 포함한다.
실시 예에 있어서, 상기 감지 모드를 선택하는 단계는, 프로그램 동작시 입력된 어드레스를 이용하여 상기 감지 모드를 선택한다.
실시 예에 있어서, 상기 프로그램 검증 동작을 수행하는 단계는, 상기 선택된 감지 모드에 따라 전압 감지 동작을 수행하고, 상기 전압 감지 동작시 짝수 비트라인들과 홀수 비트라인들을 교대로 감지한다.
실시 예에 있어서, 상기 프로그램 검증 동작을 수행하는 단계는, 상기 선택된 감지 모드에 따라 전류 감지 동작을 수행하고, 상기 전류 감지 동작시 모든 비트라인들을 프리차지 시킨 후 한꺼번에 감지한다.
실시 예에 있어서, 상기 프로그램 동작 이후에 환경 정보에 따라 감지 모드를 선택하는 단계가 진행된다.
실시 예에 있어서, 상기 감지 모드를 선택하는 단계는, 프로그램 단계를 지시하는 플래그 비트의 정보에 따라 상기 감지 모드가 선택되고, 비트 별 멀티 레벨 셀 프로그램에 따라 각각 서로 다른 감지 모드가 선택된다.
실시 예에 있어서, 상기 감지 모드를 선택하는 단계는, 메모리 셀의 프로그램 상태에 따라 상기 감지 모드가 선택된다.
상술한 바와 같이 본 발명에 따른 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법은 프로그램 동작시 환경 정보에 따른 서로 다른 감지 방법으로 검증 동작을 수행함으로써, 프로그램 성능을 향상시킨다.
도 1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치를 보여주는 도면이다.
도 2는 본 발명에 따른 페이지 버퍼에 대한 제 1 실시 예를 보여주는 블록도이다.
도 3은 본 발명에 따른 페이지 버퍼에 대한 제 2 실시 예를 보여주는 블록도이다.
도 4는 본 발명에 따른 페이지 버퍼에 대한 제 3 실시 예를 보여주는 블록도이다.
도 5는 본 발명에 따른 페이지 버퍼에 대한 제 4 실시 예를 보여주는 블록도이다.
도 6는 도 2에 도시된 페이지 버퍼에 대한 실시 예를 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 감지 방법에 따른 프로그램 방법을 보여주는 문턱전압 분포도이다.
도 8은 본 발명의 실시 예에 따른 프로그램 루프를 보여주는 도면이다.
도 9은 본 발명에 따른 비휘발성 메모리 장치의 프로그램 방법에 대한 제 1 실시 예를 보여주는 흐름도이다.
도 10는 본 발명에 따른 비휘발성 메모리 장치의 프로그램 방법에 대한 제 2 실시 예를 보여주는 흐름도이다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템에 대한 블록도이다.
도 12은 본 발명의 실시 예에 따른 비휘발성 메모리 장치를 갖는 메모리 시스템에 대한 블록도이다.
도 13는 본 발명의 실시 예에 따른 메모리 카드에 대한 블록도이다.
도 14은 본 발명의 실시 예에 따른 모비낸드에 대한 블록도이다.
도 15는 본 발명의 실시 예에 따른 솔리드 스테이트 드라이버에 대한 블록도이다.
도 16는 도 15에 도시된 솔리드 스테이트 드라이버를 갖는 컴퓨팅 시스템에 대한 블록도이다.
도 17은 도 15에 도시된 솔리드 스테이트 드라이버를 갖는 전자기기에 대한 블록도이다.
도 18은 도 15에 도시된 솔리드 스테이트 드라이버를 이용하는 서버 시스템에 대한 블록도이다.
본 발명의 실시 예들은 이후에 첨부되는 발명의 실시 예를 보여주는 도면들을 참조하여 설명된다. 그러나, 본 발명은 수많은 다른 종류들로 구현될 수 있으며, 여기에 개시된 실시 예들에 제한되도록 해석되지 않는다. 이러한 실시 예들은, 본 발명의 개시가 철저하고 완벽하게 되도록, 그리고 종래기술에 대하여 본 발명의 범위가 충분하게 전달되도록 제공된다. 한편, 숫자들은 전체적으로 항목들로 언급된다.
어떤 항목이 다른 항목에 "접속되고" 혹은 "연결되고"로 언급될 때, 이는 나머지 항목에 직접적으로 접속되거나 혹은 연결될 수 있거나, 혹은 끼어드는 항목들이 존재할 수 있다는 것으로 이해될 것이다. 반대로, 어느 항목이 "직접적으로 접속되고" 혹은 "직접적으로 연결되고"로 언급될 때, 이는 끼어드는 항목들이 존재할 수 없다는 것으로 이해될 것이다. 여기서 사용된, 용어 "그리고/혹은"은 하나 혹은 그 이상의 연관된 항목들의 하나의 조합 혹은 모든 조합들을 포함하고, 그리고 "/"으로 축약될 수 있다.
여기서 제 1, 제 2, 등의 용어들이 다양한 항목들을 설명하기 위하여 사용되더라도, 이러한 항목들은 이러한 용어들에 의해 제한되지 않는다. 이러한 용어들은 단지 하나의 항목과 다른 것을 구분하는데 이용될 뿐이다. 예를 들어, "제 1" 항목은 "제 2" 항목의 용어일 수 있고, 그리고 유사하게, "제 2" 항목은 "제 1"항목 용어일 수 있다.
여기서 용어들은 단지 특별한 실시 예들을 설명하기 위한 목적으로 사용되지만, 발명을 제한시키는 목적으로 사용되지 않는다. 여기서, 단일 형태의 "하나" 및 "상기"는, 본문에서 명확하게 지시되지 않는 한, 복수의 형태들을 포함하는 것을 의미한다. 추가로, "구성한다" 그리고/혹은 "구성하는" 혹은 "포함한다" 그리고/혹은 "포함하는" 용어들은, 상세한 설명에서 사용될 때 진술된 항목들 혹은 동작들을 상세하게 설명할 뿐, 하나 혹은 그 이상의 항목들 혹은 동작들을 존재 혹은 추가하는 것을 제한시키지는 않는다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 갖는다. 추가로, 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않는다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치는, 환경 정보에 따라 서로 다른 감지 모드로 동작함으로써, 가변되는 환경 정보에 따라 최적화된 감지 동작을 수행할 수 있다. 여기서, 최적화된 감지 동작은, 감지 속도 측면이나 혹은 데이터 신뢰성 측면에서 결정될 수 있다.
도 1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)를 보여주는 도면이다. 도 1을 참조하면, 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 입출력 회로(130), 제어 로직(140), 및 감지 모드 선택기(150)를 포함한다.
본 발명의 비휘발성 메모리 장치(100)는 낸드 플래시 메모리 장치, 노아 플래시 메모리 장치, 저항변화 메모리 장치(Resistive Random Access Memory: RRAM), 상변화 메모리 장치(Phase-Change Memory: PRAM), 자기저항 메모리 장치(Magnetroresistive Random Access Memory: MRAM), 강유전체 메모리 장치(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리 장치(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다. 또한, 본 발명의 비휘발성 메모리 장치는 3차원 어레이 구조(Three-Dimentional Array Structure)로 구현될 수 있다. 아래에서는 설명의 편의를 위하여, 본 발명의 비휘발성 메모리 장치가 낸드 플래시 메모리 장치라고 가정하겠다.
메모리 셀 어레이(110)는 복수의 워드라인들(WL0~WLm-1) 및 복수의 비트라인들(BL0~BLn-1)이 교차한 곳에 형성된 복수의 메모리 셀들을 포함한다. 여기서, m 및 n은 자연수이다. 메모리 셀 어레이(110)는 복수의 메모리 블록들(도시되지 않음)을 포함한다. 실시 예에 있어서, 도 1에서는 하나의 메모리 블록이 도시된다. 메모리 블록들은 복수의 페이지들을 포함한다. 그리고 페이지들 각각은 대응하는 워드라인에 연결된 복수의 메모리 셀들을 포함한다. 비휘발성 메모리 장치(100)는 블록 단위로 소거 동작을 수행하고, 페이지 단위로 쓰기 동작 혹은 읽기 동작을 수행할 수 있다.
각각의 메모리 셀은 한 비트의 데이터 혹은 두 비트 이상의 데이터를 저장할 수 있다. 하나의 메모리 셀에 한 비트의 데이터를 저장할 수 있는 메모리 셀은 싱글 레벨 셀(Single Level Cell: SLC)이라고 불린다. 하나의 메모리 셀에 두 비트 이상의 데이터를 저장할 수 있는 메모리 셀은 멀티 레벨 셀(Multi Level Cell, 이하 'MLC')라고 불린다. 싱글 레벨 셀(Single Level Cell, 이하 'SLC')은 문턱 전압에 따라 소거 상태(Erase State) 혹은 프로그램 상태(Program State)를 갖는다. 멀티 레벨 셀(MLC)은 문턱 전압에 따라 소거 상태와 복수의 프로그램 상태들 중 어느 하나를 갖는다.
계속해서 도 1을 참조하면, 메모리 셀 어레이(110)는 셀 스트링 구조(Cell String Structure)로 구현된다. 각각의 셀 스트링은 스트링 선택 라인(String Selection Line: SSL)에 연결되는 스트링 선택 트랜지스터(SST), 복수의 워드라인들(WL0~WLm-1)에 각각 연결되는 복수의 메모리 셀들(MC0~MCm-1), 그리고 접지 선택 라인(Ground Selection Line: GSL)에 연결되는 접지 선택 트랜지스터(GST)를 포함한다. 여기서 스트링 선택 트랜지스터(SST)는 비트라인과 스트링 채널(String Channel) 사이에 연결되고, 접지 선택 트랜지스터(GST)는 스트링 채널과 공통 소스 라인(Common Source Line: CSL) 사이에 연결된다.
어드레스 디코더(120)는 선택 라인들(SSL, GSL), 및 복수의 워드라인들(WL0~WLm-1)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 프로그램 동작 혹은 읽기 동작시 어드레스를 입력받고, 입력된 어드레스에 따라 어느 하나의 워드라인을 선택한다. 여기서 선택된 워드라인에는 프로그램 동작이 수행되거나 혹은 읽기 동작이 수행될 메모리 셀들이 연결된다.
또한, 어드레스 디코더(120)는 선택된 워드라인, 비선택된 워드라인들, 그리고 선택 라인들(SSL, GSL)로 프로그램 동작 혹은 읽기 동작에 필요한 바이어스 전압들(예를 들어, 프로그램 전압, 패스 전압, 스트링 선택 전압, 접지 선택 전압)을 인가한다. 여기서 바이어스 전압들은 전압 발생기(도시되지 않음)로부터 생성된다.
입출력 회로(130)는 복수의 비트라인들(BL0~BLn-1)을 통하여 메모리 셀 어레이(110)에 연결된다. 입출력 회로(130)는 복수의 페이지 버퍼들(PB0~PBn-1)을 포함한다. 복수의 페이지 버퍼들(PB0~PBn-1)은 선택된 워드라인에 연결된 메모리 셀들에 프로그램될 데이터를 임시로 저장하거나, 혹은 선택된 워드라인에 연결된 메모리 셀들로부터 읽은 데이터를 임시로 저장한다.
복수의 페이지 버퍼들(PB0~PBn-1) 각각은 복수의 감지 방법들로 감지 동작을 수행할 수 있다. 복수의 페이지 버퍼들(PB0~PBn-1)은 모드 신호(MODE)에 응답하여 복수의 감지 방법들 중 어느 하나에 따라 감지 동작을 수행한다. 여기서 모드 신호(MODE)는 감지 모드를 선택하기 위한 신호이다. 다른 말로, 모드 신호(MODE)에 응답하여 페이지 버퍼들(PB0~PBn-1)의 감지 방법이 결정된다. 여기서 감지 동작은 프로그램 동작, 읽기 동작, 소거 동작에 이용될 수 있다.
제어 로직(140)은 비휘발성 메모리 장치(100)의 전반적인 동작(예를 들어, 프로그램/읽기/소거)을 제어한다. 제어 로직(140)은 외부로부터 제공되는 제어 신호들(CTRL)에 따라 프로그램/읽기/소거 동작을 수행한다.
제어 로직(140)은 증가형 펄스 프로그램 방식에 따라 프로그램 동작을 수행하도록 로우 디코더(120) 및 입출력 회로(130)를 제어할 수 있다. 제어 로직(140)은 프로그램 동작시 루프 회수에 대응하는 전압 레벨을 갖는 프로그램 전압을 생성하도록 전압 발생기(도시되지 않음)를 제어한다. 이때 생성된 프로그램 전압은 선택된 워드라인으로 제공된다. 제어 로직(140)은 프로그램 동작시 비선택된 워드라인들에 제공될 패스 전압을 생성하도록 전압 발생기를 제어한다.
제어 로직(140)은 감지 모드에 따라 입출력 회로(130)의 타이밍 제어를 수행한다. 여기서, 감지 모드는 모드 신호(MODE)일 수 있다. 실시 예에 있어서, 제어 로직(140)은 입력된 모드 신호(MODE)에 따라 입출력 회로(130)의 타이밍 제어를 수행할 수 있다.
감지 모드 선택기(150)는 환경 정보를 입력받아 복수의 감지 모드들 중 어느 하나를 선택한다. 여기서 환경 정보는 온도, 노이즈, 어드레스, 프로그램 단계, 메모리 셀의 상태 등 중에서 적어도 하나를 포함한다. 감지 모드 선택기(150)는 환경 정보에 따라 선택된 감지 모드에 대응하는 모드 신호(MODE)를 생성한다.
실시 예에 있어서, 감지 모드 선택기(150)는 비휘발성 메모리 장치(100)의 온도를 측정하기 위한 온도 감지기(도시되지 않음) 혹은 메모리 셀 어레이(110)의 온도를 측정하기 위한 온도 감지기(도시되지 않음)를 포함할 수 있다. 여기서, 메모리 셀 어레이(110)의 온도를 측정하기 위한 온도 감지기는, 메모리 셀 어레이(110) 내부에 어느 하나의 셀을 이용할 수 있다. 즉, 메모리 셀 어레이(110) 중 어느 하나의 셀은 온도 센서로 이용될 수 있다. 예를 들어, 비휘발성 메모리 장치(100) 혹은 메모리 셀 어레이(110)의 온도가 소정의 값 이상일 때, 감지 모드 선택기(150)는 온도에 덜 민감한 감지 모드를 선택한다.
실시 예에 있어서, 감지 모드 선택기(150)는 공통 소스 라인(CSL)의 노이즈를 측정하기 위한 노이즈 감지기(도시되지 않음)를 포함할 수 있다. 예를 들어, 프로그램 동작시 공통 소스 라인(CSL)의 노이즈가 소정의 값 이상일 때, 감지 모드 선택기(150)는 노이즈를 줄일 수 있는 감지 모드를 선택한다. 예를 들어, 전압 감지 모드가 전류 감지 모드보다 노이즈 특성이 좋다. 실시 예어 있어서, 노이즈 감지기는 전압 감지기일 수 있다.
실시 예에 있어서, 감지 모드 선택기(150)는 사용자 블록을 지시하는 어드레스가 입력될 때 감지 모드와 메타 블록을 지시하는 어드레스가 입력될 때의 감지 모드를 서로 다르게 선택할 수 있다. 여기서 사용자 블록은 MLC 프로그램 동작이 수행되고, 메타 블록은 SLC 프로그램 동작이 수행된다.
프로그램 동작시 사용자 블록을 지시하는 어드레스가 입력될 때, 감지 모드 선택기(150)는 문턱 전압 산포들의 마진을 충분히 확보하기 위한 정밀 감지 모드를 선택한다.
프로그램 동작시 데이터의 신뢰성 확보를 필요로 하는 메타 블록을 지시하는 어드레스가 입력될 때, 프로그램 검증을 위하여 프리 읽기 동작 이후에 나중 읽기 동작이 수행될 수 있다. 이에 감지 모드 선택기(150)는 프리 읽기 동작시 고속 감지 모드를 선택하고, 읽기 동작시 정밀 감지 모드를 선택한다.
실시 예에 있어서, 감지 모드 선택기(150)는 LSB(Least Significant Bit) 프로그램 동작의 감지 모드와 MSB(Most Significant Bit) 프로그램의 동작의 감지 모드를 서도 다르게 선택할 수 있다. 예를 들어, LSB 프로그램 동작시 감지 모드 선택기(150)는 고속 감지 동작을 수행하는 감지 모드를 선택하고, MSB 프로그램 동작시 감지 모드 선택기(150)는 정밀 감지 동작을 수행하는 감지 모드를 선택한다.
실시 예에 있어서, 감지 모드 선택기(150)는 프로그램 단계를 지시하는 플래그 비트의 정보에 따라 감지 모드를 선택할 수 있다. 여기서 프로그램 단계는 멀티비트 프로그램 방법에서 LSB 프로그램, 2 비트 프로그램, 3 비트 프로그램, 4 비트 프로그램 등 중 어느 하나이다. 또한, 플래그 비트는 페이지 내의 스페어 영역에 포함된다. 감지 모드 선택기(150)는 프로그램 동작시 읽혀진 플래그 비트의 정보에 따라 감지 모드를 선택한다. 예를 들어, 플래그 비트의 정보가 3 비트 프로그램 혹은 4 비트 프로그램을 지시할 때, 감지 모드 선택기(150)는 정밀 감지 동작을 수행하는 감지 모드를 선택한다.
실시 예에 있어서, 감지 모드 선택기(150)는 메모리 셀의 상태에 따라, 즉 프로그램될 데이터 비트에 따라 감지 모드를 선택할 수 있다. 예를 들어, 소거 상태의 메모리 셀이 프로그램될 때, 감지 모드 선택기(150)는 고속 감지 모드를 선택한다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)는 환경 정보에 따라 감지 모드를 선택하는 감지 모드 선택기(150), 선택된 감지 모드에 따라 결정된 감지 방법에 따라 감지 동작을 수행하는 페이지 버퍼들(PB0~PBn-1), 및 선택된 감지 모드에 따라 타이밍 제어를 수행하는 제어 로직(140)을 구비함으로써, 환경 정보에 따라 최적의 감지 동작을 수행할 수 있다. 그 결과로써, 본 발명의 비휘발성 메모리 장치(100)는 프로그램 동작시 성능 향상을 꾀할 수 있다.
도 2는 본 발명에 따른 페이지 버퍼에 대한 제 1 실시 예를 보여주는 블록도이다. 도 2를 참조하면, 페이지 버퍼(PB0)는 전류 감지기(1311) 및 전압 감지기(1312)를 포함한다.
전류 감지기(1311)는 모드 신호(MODE)에 응답하여 감지 노드(SN)의 전류를 감지한다. 여기서 감지 노드(SN)는 메모리 셀과 연결된다.
전압 감지기(1322)는 모드 신호(MODE)에 응답하여 감지 노드(SN)의 전압을 감지한다.
전류 감지기(1311) 및 전압 감지기(1312)는 모드 신호(MODE)에 상보적으로 동작한다. 예를 들어, 모드 신호(MODE)에 응답하여 전류 감지기(1311)가 활성화되면, 모드 신호(MODE)에 응답하여 전압 감지기(1312)는 비활성화된다.
전류 감지기(1311)가 활성화될 때, 제어 로직(도 1 참조, 140)은 비트라인들을 프리차지 시킨 후 한꺼번에 감지하도록 타이밍을 제어한다.
전압 감지기(1312)가 활성화될 때, 제어 로직(140)은 비트라인들의 커플링을 줄이기 위하여 짝수번째 비트라인들과 홀수번째 비트라인들을 교대로 감지하도록 타이밍을 제어한다.
전류 감지기(1311)는 빠른 속도로 감지하고자 할 때 이용되고, 전압 감지기(1312)는 정확하게 데이터를 감지하고자 할 때 이용될 수 있다. 전류 감지기(1311)에서 전류 감지를 위해 사용하는 커패시턴스는, 전압 감지기(1312)에서 전압 감지를 위해 사용하는 커패시턴스보다 상대적으로 작다.
도 3은 본 발명에 따른 페이지 버퍼에 대한 제 2 실시 예를 보여주는 블록도이다. 도 3을 참조하면, 페이지 버퍼(PB0)는 고속 감지기(1321) 및 저속 감지기(1322)를 포함한다.
고속 감지기(1321)는 모드 신호(MODE)에 응답하여 감지 노드(SN)에 대응하는 데이터를 고속으로 감지한다. 여기서 감지 노드(SN)는 메모리 셀과 연결된다. 실시 에에 있어서 고속 감지기(1321)는 전류 감지기를 이용할 수 있다.
정밀 감지기(1322)는 모드 신호(MODE)에 응답하여 감지 노드(SN)에 대응하는 데이터를 정밀하게 감지한다. 실시 예에 있어서 정밀 감지기(1322)는 전압 감지기를 이용할 수 있다.
고속 감지기(1321) 및 정밀 감지기(1322)는 모드 신호(MODE)에 상보적으로 동작한다. 예를 들어, 모드 신호(MODE)에 응답하여 고속 감지기(1321)가 활성화되면, 모드 신호(MODE)에 응답하여 정밀 감지기(1322)는 비활성화된다.
도 4은 본 발명에 따른 페이지 버퍼에 대한 제 3 실시 예를 보여주는 블록도이다. 도 4를 참조하면, 페이지 버퍼(PB0)는 제 1 감지기(1331), 제 2 감지기(1322), 및 제 3 감지기(1323)를 포함한다. 여기서, 제 1 내지 제 3 감지기들(1331, 1332, 1333)은 서로 다른 방법으로 감지 동작을 수행한다.
제 1 감지기(1331)는 모드 신호(MODE)에 응답하여 감지 노드(SN)에 대응하는 데이터를 감지한다. 여기서 감지 노드(SN)는 메모리 셀과 연결된다.
제 2 감지기(1332)는 모드 신호(MODE)에 응답하여 감지 노드(SN)에 대응하는 데이터를 감지한다. 여기서 감지 노드(SN)는 메모리 셀과 연결된다.
제 3 감지기(1333)는 모드 신호(MODE)에 응답하여 감지 노드(SN)에 대응하는 데이터를 감지한다. 여기서 감지 노드(SN)는 메모리 셀과 연결된다.
하나의 모드 신호(MODE)에 응답하여 제 1 내지 제 3 감지기들(1331, 1332, 1333) 들 하나만 활성화된다. 여기서, 모드 신호(MODE)는 디지털 신호일 수 있다. 예를 들어, 모드 신호(MODE)가 '00'일 때 제 1 감지기(1331)가 활성화되고, 모드 신호(MODE)가 '01'일 때 제 2 감지기(1332)가 활성화되고, 모드 신호(MODE)가 '10'일 때 제 3 감지기(1333)가 활성화될 수 있다.
도 4에서 페이지 버퍼(PB0)는 3개의 감지기들(1331, 1332, 1333)를 포함하지만, 본 발명은 감지기들의 개수에 제한되지 않는다. 본 발명에 따른 페이지 버퍼는 4개 이상의 감지기들을 구비할 수 있다. 여기서 감지기들은 서로 다른 방법으로 감지 동작을 수행하고, 모드 신호(MODE)에 응답하여 적어도 하나만 활성화된다.
도 5는 본 발명에 따른 페이지 버퍼에 대한 제 4 실시 예를 보여주는 도면이다. 도 5를 참조하면, 페이지 버퍼(PB0)는 모드 신호(MODE)에 응답하여 트랜지스터들을 제어함으로써 전류 감지를 하거나 전압 감지를 선택하는 전류 감지 및 전압 감지기(1340)를 포함한다.
도 6는 도 5에 도시된 페이지 버퍼에 대한 실시 예를 보여주는 도면이다. 도 6를 참조하면, 페이지 버퍼(PB0)는 풀업 회로(1341), 풀다운 회로(1342), 셀 전류 결정기(1343), 전류 비트라인 제어 트랜지스터(SHT), 비트라인 선택 트랜지스터(SLT), 제 1 내지 제 3 모드 선택 트랜지스터(MST1, MST2, MST3), 인버터(INV), 감지 래치(SL), 및 복수의 데이터 래치들(DL0~DLk)을 포함한다. 여기서, k는 자연수이다.
풀업 회로(1341)는 제 1 모드 선택 트랜지스터(MST1)의 스위칭 동작에 따라 감지 노드(SN)에 연결된다. 여기서, 제 1 모드 선택 트랜지스터(MST1)의 스위칭 동작은 모드 신호(MODE)에 따라 결정된다. 여기서, 제 1 모드 선택 트랜지스터(MST1)의 게이트는 모드 신호(MODE)가 인버터(INV)에 의해 반전된 신호가 제공된다. 풀업 회로(1341)는 비트라인 셋업 신호(BLSTP)에 응답하여 감지 노드(SN)에 전원 전압(VCC)를 제공하도록 구현된다.
실시 예에 있어서, 풀업 회로(1341)는 전원 전압(VCC)에 연결된 드레인, 비트라인 셋업 신호(BLSTP)를 입력받는 게이트, 및 제 1 모드 선택 트랜지스터의 소스에 연결된 소스를 갖는 피모스 트랜지스터(PUT)를 포함할 수 있다.
풀업 회로(1341)는 모드 신호(MODE)가 전압 감지를 지시할 때 비트라인 셋업 신호(BLSTP)에 응답하여 감지 노드(SN)로 전원 전압(VCC)을 제공한다. 여기서, 모드 신호(MODE)의 신호 레벨이 전원 전압(VCC)일 때, 페이지 버퍼(PB0)는 전압 감지 동작을 수행한다. 여기서, 비트라인 셋업 신호(BLSTP)는 제어 로직(도 1 참조, 150)로부터 제공된다.
풀다운 회로(1342)는 제 2 모드 선택 트랜지스터(MST2)의 스위칭 동작에 따라 감지 노드(SN)에 연결된다. 여기서, 제 2 모드 선택 트랜지스터(MST2)의 게이트는 모드 신호(MODE)가 인버터(INV)에 의해 반전된 신호가 제공된다. 풀다운 회로(1342)는 비트라인 셋업 신호(BLSTP)에 응답하여 감지 노드(SN)에 접지 전압(GND, 0V)을 제공하도록 구현된다. 풀다운 회로(1342)는 비트라인(BL0)에 0V를 인가하기 위하여 감지 노드(SN)에 전기적으로 연결된다.
실시 예에 있어서, 비트라인 풀다운 회로(1342)는 감지 노드(SN)에 연결된 드레인, 비트라인 셋업 신호(BLSTP)를 입력받는 게이트, 및 제 2 모드 선택 트랜지스터(MST2)의 드레인에 연결된 드레인을 갖는 엔모스 트랜지스터(PDT)를 포함할 수 있다. 비트라인 풀다운 회로(1342)는 비트라인 셋업 신호(BLSTP)에 응답하여 감지 노드(SO)로 0V를 제공한다.
셀 전류 결정기(1343)는 제 3 모드 선택 트랜지스터(MST3)의 스위칭 동작에 따라 감지 노드(SN)에 연결된다. 여기서 제 3 모드 선택 트랜지스터(MST3)의 게이트는 모드 신호(MODE)가 제공된다. 예를 들어, 모드 신호(MODE)의 전압 레벨이 접지 전압일 때, 즉, 모드 신호(MODE)가 전압 감지를 지시할 때, 셀 전류 결정기(1343)는 감지 노드(SN)에 전기적으로 차단된다. 반면에, 모드 신호(MODE)의 전압 레벨이 전원 전압일 때, 즉, 모드 신호(MODE)가 전류 감지를 지시할 때, 셀 전류 결정기(1343)는 감지 노드(SN)에 전기적으로 연결된다. 전류 감지시, 감지 노드(SN)는 메모리 셀과 연결된 비트라인(BL0)에 전기적으로 연결된다. 이를 위하여, 비트라인 제어 트랜지스터(SHT) 및 비트라인 선택 트랜지스터(SLT)는 턴온된다.
셀 전류 결정기(1343)는 감지 노드(SN)에 연결된 비트라인(BL0)에 흐르는 전류와 기준 전류를 비교함으로써, 데이터 상태를 판별한다. 여기서, 기준 전류는 소정의 커패시턴스 값을 갖는 캐퍼시터에 흐르는 전류일 수 있다.
비트라인 제어 트랜지스터(SHT)는 비트라인 제어 신호(BLSHF)에 응답하여 감지 노드(SN)로 고전압이 전달되는 것을 방지한다. 즉, 비트라인 제어 트랜지스터(SHT)는 비트라인(BL0)에 인가된 고전압으로부터 페이지 버퍼(PB0)를 보호하는데 이용된다. 여기서, 비트라인 제어 신호(BLSHF)는 제어 로직(150)으로부터 제공된다.
비트라인 선택 트랜지스터(SLT)는 비트라인 제어 트랜지스터(SHT)의 일단과 비트라인(BL0) 사이에 연결된다. 비트라인 선택 트랜지스터(SLT)는 비트라인 선택 신호(BLSLT)에 응답하여 비트라인(BL0)에 페이지 버퍼(PB0)를 전기적으로 연결할 수 있다. 여기서, 비트라인 선택 신호(BLSLT)는 제어 로직(150)으로부터 제공된다.
감지 래치(SL)는 비트라인(BL0)의 전압의 레벨을 감지하여 비트라인(BL0)에 연결된 메모리 셀의 데이터를 저장하거나, 프로그램 혹은 읽기 동작시 데이터 래치들(DL0~DLk) 중 어느 하나에 래치된 데이터를 저장할 수 있다.
데이터 래치들(DL0~DLk)은 프로그램 동작시 입력된 데이터를 저장하거나, 감지 래치(SL)에 래치된 데이터를 저장할 수 있다.
도 6를 다시 참조하면, 비트라인 선택 트랜지스터(SLT), 비트라인 제어 트랜지스터(SHT), 제 1 내지 제 3 모드 선택 트랜지스터들(MST1, MST2, MST3), 인버터(INV), 풀업 회로(1341), 및 풀다운 회로(1342)는 전압 감지기(도 2 참조, 1311)를 구성할 수 있다. 또한, 비트라인 선택 트랜지스터(SLT), 비트라인 제어 트랜지스터(SHT), 제 1 내지 제 3 모드 선택 트랜지스터들(MST1, MST2, MST3), 인버터(INV), 셀 전류 결정기(1343)는 전류 감지기(도 2 참조, 1312)를 구성할 수 있다.
본 발명의 실시 예에 따른 페이지 버퍼(PB0)는 모드 신호(MODE)에 따라 전압 감지기를 감지 노드(SN)에 전기적으로 연결하거나 혹은 전류 감지기를 감지 노드(SN)에 연결한다.
한편, 나머지 페이지 버퍼들(PB1~PBn-1)도, 도 6에 도시된 페이지 버퍼(PB0)와 동일하게 구현된다.
도 7은 본 발명의 실시 예에 따른 감지 방법에 따른 프로그램 방법을 보여주는 문턱전압 분포도이다. 도 7을 참조하면, 프로그램 단계에 따라 감지 방법이 서로 다르다. 여기서 프로그램 단계는 프로그램 단계를 지시하는 페이지 내의 스페어 영역에 저장된 플래그 비트에 대응된다.
제 1 프로그램 단계에서, 고속 감지 동작이 수행된다. 여기서 제 1 프로그램 단계는 2 비트 MLC 프로그램 동작을 의미한다. 2 비트 MLC 프로그램 동작 결과로써, 셀의 상태는 소거 상태, 제 1 프로그램 상태(Q1), 제 2 프로그램 상태(Q2), 제 3 프로그램 상태(Q3) 중 어느 하나가 된다.
제 2 프로그램 단계에서, 고속 감지 동작이 수행된다. 여기서 제 2 프로그램 단계는 3 비트 MLC 프로그램 동작을 의미한다. 3 비트 MLC 프로그램 동작 결과로써, 셀의 상태는 소거 상태, 제 1 프로그램 상태(P1), 제 2 프로그램 상태(P2), 제 3 프로그램 상태(P3), 제 4 프로그램 상태(P4), 제 5 프로그램 상태(P5), 제 6 프로그램 상태(P6), 및 제 7 프로그램 상태(P7) 중 어느 하나가 된다. 데이터의 신뢰성이 크게 요구되지 않을 때, 고속 감지 동작이 수행된다.
제 3 프로그램 단계에서, 정밀 감지 동작이 수행된다. 여기서 정밀 감지은 전압 감지일 수 있다. 여기서 정밀 감지 동작은, 온도, 노이즈 등을 고려하여 데이터 신뢰성을 확보할 수 있다.
본 발명의 프로그램 방법은, 모든 프로그램 단계에 동일한 감지 방법을 이용하지 않고, 프로그램 단계에 따라 서로 다른 감지 동작을 이용한다. 이로써, 본 발명의 프로그램 방법은 프로그램 동작 결과로써 마진이 좋은 문턱전압 산포를 얻는다. 즉, 프로그램 성능이 향상된다.
도 8은 본 발명의 실시 예에 따른 프로그램 루프를 보여주는 도면이다. 도 8를 참조하면, 프로그램 루프(Loop N)는 크게 프로그램 단계와, 감지 모드에 따른 프로그램 검증 단계를 포함한다. 여기서, 감지 모드는 환경 정보에 따라 선택된다.
도 9은 본 발명에 따른 비휘발성 메모리 장치(100)의 프로그램 방법에 대한 제 1 실시 예를 보여주는 흐름도이다. 도 1 내지 도 9를 참조하면, 비휘발성 메모리 장치(100)의 프로그램 방법은 다음과 같이 진행된다.
감지 모드 선택기(도 1 참조, 150)는 환경 정보에 따라 감지 모드를 선택한다(S110).
프로그램될 데이터가 입출력 회로(도 1 참조, 130)의 각 페이지 버퍼들(PB0~PBn-1)에 로딩된다. 또한, 전압 발생기(도시되지 않음)는 제어 로직(도 1참조, 150)의 제어에 따라 프로그램 동작에 필요한 바이어스 전압들(예를 들어, 프로그램 전압, 패스 전압, 고전압, 웰전압, 검증읽기 전압 등)을 생성한다. 제어 로직(150)은 제 1 프로그램 루프(i=0)를 진행시킨다(S120).
페이지 버퍼들(PB0~PBn-1)에 로딩된 데이터에 따라 비트라인들(BL0~BLn-1)이 셋업된다(S130). 이후, 비선택된 워드라인들로 패스 전압이 인가되고, 선택된 워드라인으로 프로그램 전압(Vpgm)이 인가됨으로써 메모리 셀들이 프로그램된다(S140). 여기서 프로그램 전압(Vpgm)의 레벨은 루프 회수(i)가 증가됨에 따라 소정의 값만큼 증가된다.
프로그램 전압(Vpgm)이 인가되기 전에 선택된 워드라인으로 소정의 시간 동안 패스 전압이 인가될 수 있다. 이후, 프로그램 리커버리 동작이 수행된다. 이러한 프로그램 리커버리 동작에서는, 워드라인들(WL0~WLm-1) 및 스트링 선택라인(SSL)에 인가된 바이어스 전압들이 디스챠지되고, 비트라인들(BL0~BLn-1)에 인가된 전압들이 디스챠지된다.
제어 로직(150)은 적어도 하나의 검증 레벨들을 이용하여 메모리 셀들이 제대로 프로그램되었는 지를 판별하기 위한 검증 읽기 동작을 수행한다. 여기서 검증 읽기 동작은 선택된 감지 모드에 따라 수행된다. 즉, 제어 로직(150)은 검증 동작이 패스되었는지를 판별한다(S150).
만약, 검증 읽기 동작이 페일이면, 제어 로직(150)은 루프 회수(i)가 최대값인지 판별할 것이다(S160). 만약, 루프 회수(i)가 최대이면, 프로그램 동작은 실패로 처리된다. 반면에, 루프 회수(i)가 최대가 아니라면, 루프 회수(i)가 1만큼 증가되고, 그 다음 프로그램 루프가 진행될 것이다(S170).
반면에, 검증 읽기 동작이 패스되면, 프로그램 동작이 완료된다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치의 프로그램 방법은, 환경 정보에 따라 감지 모드를 선택하고, 프로그램 검증 동작시 선택된 감지 모드에 따라 검증 읽기 동작을 수행한다.
도 10는 본 발명에 따른 비휘발성 메모리 장치(100)의 프로그램 방법에 대한 제 2 실시 예를 보여주는 흐름도이다. 도 1 내지 도 8, 도 10를 참조하면, 비휘발성 메모리 장치(100)의 프로그램 방법은 다음과 같이 진행된다.
프로그램될 데이터가 입출력 회로(도 1 참조, 130)의 각 페이지 버퍼들(PB0~PBn-1)에 로딩된다. 또한, 전압 발생기(도시되지 않음)는 제어 로직(도 1참조, 150)의 제어에 따라 프로그램 동작에 필요한 바이어스 전압들(예를 들어, 프로그램 전압, 패스 전압, 고전압, 웰전압, 검증읽기 전압 등)을 생성한다. 제어 로직(150)은 제 1 프로그램 루프(i=0)를 진행시킨다(S210).
페이지 버퍼들(PB0~PBn-1)에 로딩된 데이터에 따라 비트라인들(BL0~BLn-1)이 셋업된다(S220). 이후, 비선택된 워드라인들로 패스 전압이 인가되고, 선택된 워드라인으로 프로그램 전압(Vpgm)이 인가됨으로써 메모리 셀들이 프로그램된다(S230). 여기서 프로그램 전압(Vpgm)의 레벨은 루프 회수(i)가 증가됨에 따라 소정의 값만큼 증가된다.
프로그램 전압(Vpgm)이 인가되기 전에 선택된 워드라인으로 소정의 시간 동안 패스 전압이 인가될 수 있다. 이후, 프로그램 리커버리 동작이 수행된다. 이러한 프로그램 리커버리 동작에서는, 워드라인들(WL0~WLm-1) 및 스트링 선택라인(SSL)에 인가된 바이어스 전압들이 디스챠지되고, 비트라인들(BL0~BLn-1)에 인가된 전압들이 디스챠지된다.
이후, 감지 모드 선택기(150)는 환경 정보에 따라 감지 모드를 선택한다(S240). 여기서 환경 정보는 프로그램 단계 혹은 프로그램 셀의 상태일 수 있다.
제어 로직(150)은 적어도 하나의 검증 레벨들을 이용하여 메모리 셀들이 제대로 프로그램되었는 지를 판별하기 위한 검증 읽기 동작을 수행한다. 여기서 검증 읽기 동작은 선택된 감지 모드에 따라 수행된다. 즉, 제어 로직(150)은 검증 동작이 패스되었는지를 판별한다(S250).
만약, 검증 읽기 동작이 페일이면, 제어 로직(150)은 루프 회수(i)가 최대값인지 판별할 것이다(S260). 만약, 루프 회수(i)가 최대이면, 프로그램 동작은 실패로 처리된다. 반면에, 루프 회수(i)가 최대가 아니라면, 루프 회수(i)가 1만큼 증가되고, 그 다음 프로그램 루프가 진행될 것이다(S270).
반면에, 검증 읽기 동작이 패스되면, 프로그램 동작이 완료된다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치의 프로그램 방법은, 프로그램 동작을 수행한 뒤, 환경 정보에 따라 감지 모드를 선택하고, 프로그램 검증 동작시 선택된 감지 모드에 따라 검증 동작을 수행한다.
도 1 내지 도 10에서는 환경 정보에 따라 비휘발성 메모리 장치(100)가 감지 모드를 결정한다. 그러나 본 발명이 반드시 여기에 국한될 필요는 없다. 본 발명은 비휘발성 메모리 장치를 제어하는 메모리 제어기에서 감지 모드를 결정할 수도 있다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 11을 참조하면, 메모리 시스템(200)은 비휘발성 메모리 장치(220) 및 메모리 제어기(240)를 포함한다.
비휘발성 메모리 장치(220)는 복수의 감지 모드들 중 어느 하나로 구현될 수 있다. 비휘발성 메모리 장치(220)는 감지 모드 선택 명령에 따라 복수의 감지 모드들 중 어느 하나를 선택하는 감지 모드 선택기(222)를 포함한다.
메모리 제어기(240)는 비휘발성 메모리 장치(220)를 제어하고, 복수의 감지 모드들 중 어느 하나를 선택하기 위하여 환경 정보에 의거하여 감지 모드 선택 명령을 생성하고, 생성된 감지 모드 선택 명령을 비휘발성 메모리 장치에 전송한다. 여기서, 환경 정보는 비휘발성 메모리 장치(220)에서 수집되거나 메모리 제어기(240)에서 수집될 수 있다.
도 10 및 도 11에서는 환경 정보에 따라 선택된 감지 모드에 따라 프로그램 검증 동작을 수행한다. 그러나 본 발명이 프로그램 검증 동작에 국한되지 않다는 것은 당업자에게 자명하다. 본 발명은 환경 정보에 따라 선택된 감지 모드에 따라 읽기 동작, 소거 동작을 수행하는데에도 적용가능하다.
도 12는 본 발명의 실시 예에 따른 비휘발성 메모리 장치를 갖는 메모리 시스템에 대한 블록도이다. 도 12를 참조하면, 메모리 시스템(10)은 비휘발성 메모리 장치(12) 및 메모리 제어기(14)를 포함한다.
비휘발성 메모리 장치(12)는, 도 1에 도시된 비휘발성 메모리 장치(100), 도 10에 도시된 비휘발성 메모리 장치(220) 중 어느 하나와 동일하게 구현될 수 있다.
메모리 제어기(14)는 외부(예를 들어, 호스트)의 요청에 따라 비휘발성 메모리 장치(12)를 제어할 것이다. 예를 들어, 메모리 제어기(14)는 비휘발성 메모리 장치(12)의 읽기, 쓰기, 및 소거 동작을 제어한다. 만약, 비휘발성 메모리 장치(12)가 도 10에 도시된 비휘발성 메모리 장치(220)라면, 메모리 제어기(14)는, 도 10에 도시된 메모리 제어기(240)와 동일하게 구현된다.
메모리 제어기(14)는 비휘발성 메모리 장치(12) 및 호스트 사이에 인터페이스를 제공한다. 메모리 제어기(14)는 비휘발성 메모리 장치(12)를 제어하기 위한 펌웨어(firmware)를 구동한다. 메모리 제어기(14)는 중앙처리장치(14_1), 버퍼(14_2), 에러정정회로(14_3), 롬(14_4), 호스트 인터페이스(14_5), 및 메모리 인터페이스(14_6)를 포함한다.
중앙처리장치(14_1)는 메모리 제어기(14)의 전반적인 동작을 제어한다.
버퍼(14_2)는 중앙처리장치(14_1)의 동작 메모리로서 이용된다. 호스트의 쓰기 요청시, 호스트로부터 입력된 데이터는 버퍼(14_2)에 임시로 저장된다. 또한, 호스트의 읽기 요청시, 비휘발성 메모리 장치(12)로부터 읽혀진 데이터는 버퍼(14_2)에 임시로 저장된다.
에러정정회로(14_3)는 쓰기 요청시 버퍼(14_2)에 저장된 데이터를 에러정정코드에 의해 디코딩한다. 이때, 디코딩된 데이터 및 이용된 에러정정코드 값은 비휘발성 메모리 장치(12)에 저장된다. 한편, 에러정정회로(14_3)는 읽기 요청시 비휘발성 메모리 장치(12)로부터 읽혀진 데이터를 에러정정코드 값을 이용하여 복원시킨다. 여기서 에러정정코드 값은 읽혀진 데이터에 포함된다.
롬(14_4)은 메모리 제어기(14)를 구동하기 위하여 필요한 데이터가 저장된다.
호스트 인터페이스(14_5)는 호스트(Host) 및 메모리 제어기(14) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예를 들어, 메모리 제어기(14) 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) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(호스트)와 통신하도록 구현된다.
메모리 인터페이스(14_6)는 비휘발성 메모리 장치(12)와 메모리 제어기(14) 사이의 인터페이싱한다.
본 발명에 따른 메모리 시스템(10)은 환경 정보, 예를 들어 온도 및 노이즈에 따라 최적의 감지 동작을 수행함으로써 프로그램 동작시 프로그램 성능을 향상시킨다.
도 13는 본 발명의 실시 예에 따른 메모리 카드에 대한 블록도이다. 도 13를 참조하면, 메모리 카드(20)는 플래시 메모리 장치(22), 버퍼 메모리 장치(24) 및 그것들을 제어하는 메모리 제어기(26)를 포함한다.
플래시 메모리 장치(22)는, 도 1에 도시된 비휘발성 메모리 장치(100), 도 11에 도시된 비휘발성 메모리 장치(220) 중 어느 하나와 동일하게 구현될 수 있다.
버퍼 메모리 장치(24)는 메모리 카드(20)의 동작 중 발생되는 데이터를 임시로 저장하기 위한 장치이다. 버퍼 메모리 장치(24)는 디램 혹은 에스램 등으로 구현될 수 있다.
메모리 제어기(26)는 호스트 및 플래시 메모리 장치(22)에 사이에 연결될 것이다. 호스트로부터의 요청에 응답하여, 메모리 제어기(26)는 플래시 메모리 장치(22)를 억세스한다.
메모리 제어기(26)는 마이크로 프로세서(26_1), 호스트 인터페이스(26_2). 플래시 제어기(26_3), 및 버퍼 제어기(26_4)를 포함한다.
메모리 제어기(26)는 플래시 메모리 장치(22)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구현된다. 호스트 인터페이스(26_2)는 호스트와 메모리 제어기들(26_3,26_4) 사이에 데이터 교환을 수행하기 위한 카드(예를 들어, MMC) 프로토콜을 통해 호스트와 인터페이싱한다.
이러한 메모리 카드(20)는 멀티미디어 카드(Multimedia Card: MMC), 보안 디지털(Security Digital: SD), miniSD, 메모리 스틱(Memory Stick), 스마트미디어(SmartMedia), 트랜스플래시(TransFlash) 카드 등에 적용가능하다.
본 발명의 따른 메모리 카드(20)는 환경 정보, 예를 들어 온도 및 노이즈에 따라 최적의 감지 동작을 제공함으로써, 프로그램 동작시 문턱 전압 산포 마진을 좋게할 수 있다. 그 결과로써, 본 발명의 메모리 카드(20)는 데이터의 신뢰성을 향상시킬 수 있다.
도 14은 본 발명의 실시 예에 따른 모비낸드에 대한 블록도이다. 도 14을 참조하면, 모비낸드(30)는 낸드 플래시 메모리 장치(32) 및 제어기(34)를 포함할 것이다.
낸드 플래시 메모리 장치(32)는 단품의 낸드 플래시 메모리들이 한 패키지(예를 들어, FBGA, Fine-pitch Ball Grid Array)에 적층됨으로써 구현될 것이다. 여기서, 단품의 낸드 플래시 메모리들 각각은, 도 1에 도시된 비휘발성 메모리 장치(100), 도 11에 도시된 비휘발성 메모리 장치(220) 중 어느 하나와 동일하게 구현될 수 있다.
제어기(34)는 제어기 코어(34_1), 호스트 인터페이스(34_2) 및 낸드 인터페이스(34_3)를 포함한다. 제어기 코어(34_1)는 모비낸드(30)의 전반적인 동작을 제어한다. 호스트 인터페이스(34_2)는 제어기(34)와 호스트의 MMC(Multi Media Card) 인터페이싱을 수행한다. 낸드 인터페이스(34_3)는 낸드 플래시 메모리 장치(32)와 제어기(34)의 인터페이싱을 수행한다.
모비낸드(30)는 호스트로부터 전원전압들(Vcc, Vccq)을 제공받는다. 여기서, 전원전압(Vcc: 3V)은 낸드 플래시 메모리 장치(32) 및 낸드 인터페이스(34_3)에 공급되고, 전원전압(Vccq: 1.8V/3V)은 제어기(34)에 공급된다.
본 발명에 따른 모비낸드(30)는 환경 정보에 따라 최적의 감지 동작을 제공함으로써, 저장된 데이터의 신뢰성을 향상시킬 수 있다.
한편, 본 발명은 솔리드 스테이트 드라이버(Solid State Drive: 이하, 'SSD'라고 함)에 적용가능하다.
도 15는 본 발명의 실시 예에 따른 SSD(40)에 대한 블록도이다. 도 15를 참조하면, SSD(40)는 복수의 플래시 메모리 장치들(42) 및 SSD 제어기(44)를 포함한다.
복수의 플래시 메모리 장치들(42) 각각은, 도 1에 도시된 비휘발성 메모리 장치(100), 도 11에 도시된 비휘발성 메모리 장치(220) 중 어느 하나와 동일하게 구현될 수 있다.
SSD 제어기(44)는, 중앙처리장치(44_1), 호스트 인터페이스(44_2), 캐쉬 버퍼(44_3), 및 플래시 인터페이스(44_4)를 포함한다.
호스트 인터페이스(44_2)는 중앙처리장치(44_1)의 제어에 따라 호스트와 ATA 프로토콜 방식으로 데이터를 교환한다. 여기서 호스트 인터페이스(44_2)는 SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, ESATA(External SATA) 인터페이스 등 중에서 어느 하나이다.
인터페이스(44_2)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 중앙처리장치(44_1)의 제어에 따라 CPU 버스를 경유하지 않고 캐시 버퍼(44_3)를 통해 전달된다.
캐쉬 버퍼(44_3)는 외부와 플래시 메모리 장치들(42) 간의 이동 데이터를 임시로 저장한다. 또한, 캐쉬 버퍼(44_3)는 중앙처리장치(44_1)에 의해서 운용될 프로그램을 저장하는 데에도 사용된다. 캐쉬 버퍼(44_3)는 일종의 버퍼 메모리로 간주할 수 있으며, 에스램(SRAM)으로 구현될 수 있다.
플래시 인터페이스(44_4)는 저장 장치로 사용되는 플래시 메모리 장치들(42)과 SSD 제어기(44) 사이의 인터페이싱을 수행한다. 플래시 인터페이스(44_4)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
본 발명에 따른 SSD(40)는 온도에 따라 감지 모드를 선택하고, 선택된 감지 모드에 따라 프로그램 동작을 수행함으로써, 문턱 전압 산포를 개선할 수 있다. 그 결과로써, 본 발명의 SSD(40)는 프로그램 동작시 저장된 데이터의 신뢰성을 향상시킨다.
도 16는 도 15에 도시된 SSD(40)를 갖는 컴퓨팅 시스템에 대한 블록도이다. 도 16를 참조하면, 컴퓨팅 시스템(50)은, 중앙처리장치(51), 롬(52), 램(53), 입출력 장치(54), 및 SSD(55)를 포함한다.
중앙처리장치(51)는 시스템 버스에 연결된다. 롬(52)은 컴퓨팅 시스템(50)을 구동하는데 필요한 데이터가 저장된다. 이러한 데이터에는 개시 명령 시퀀스, 혹은 기본적인 입/출력 동작 시스템(예를 들어, BIOS) 시퀀스 등이다. 램(53)은 중앙처리장치(51)가 실행될 때 발생되는 데이터가 임시로 저장된다.
입출력 장치(54)는, 예를 들어, 키보드, 포인팅 장치(마우스), 모니터, 모뎀, 등이 입출력 장치 인터페이스를 통하여 시스템 버스에 연결된다.
SSD(55)는 읽기 가능한 저장 장치로써, 도 15에 도시된 SSD(40)와 동일하게 구현된다.
도 17은 도 15에 도시된 SSD(40)를 갖는 전자기기에 대한 블록도이다. 도 17을 참조하면, 전자기기(60)는, 프로세서(61), 롬(62), 램(63), 플래시 인터페이스(64), 및 SSD(65)을 포함한다.
프로세서(61)는 펌웨어 코드 혹은 임의의 코드를 실행하기 위하여 램(63)을 억세스한다. 또한, 프로세서(61)는 개시 명령 시퀀스 혹은 기본 입출력 동작 시스템 시퀀스들과 같은 고정 명령 시퀀스들을 실행하기 위하여 롬(62)에 억세스한다. 플래시 인터페이스(64)는 전자기기(60)와 SSD(65) 사이의 인터페이싱을 수행한다.
SSD(65)는 전자기기(60)에 착탈이 가능할 것이다. SSD(65)는, 도 15에 도시된 SSD(40)와 동일하게 구현된다.
본 발명의 전자기기(60)는 셀룰러 폰, 개인 디지털 보조기(Personal Digital Assistants: PDAs), 디지털 카메라, 캠코더, 및 휴대용 오디오 재생장치(예를 들어, MP3), PMP 등이 될 수 있다.
도 18은 도 15에 도시된 SSD(40)를 이용하는 서버 시스템에 대한 블록도이다. 도 18을 참조하면, 서버 시스템(70)은 서버(72), 및 서버(72)를 구동하는 데 필요한 데이터를 저장하는 SSD(74)를 포함한다. 여기서 SSD(74)는, 도 15에 도시된 SSD(40)와 동일한 구성을 포함한다.
서버(72)는 응용 통신 모듈(72_1), 데이터 처리 모듈(72_2), 업그레이드 모듈(72_3), 스케줄링 센터(72_4), 로컬 리소스 모듈(72_5), 및 리페어 정보 모듈(72_6)을 포함한다.
응용 통신 모듈(73_1)은 서버(72)와 네트워크에 연결된 컴퓨팅 시스템과 통신하거나 혹은 서버(72)과 SSD(74)이 통신하도록 구현된다. 응용 통신 모듈(73_1)은 사용자 인터페이스를 통하여 제공된 데이터 혹은 정보를 데이터 처리 모듈(72_2)로 전송한다.
데이터 처리 모듈(72_2)은 로컬 리소스 모듈(72_5)에 링크된다. 여기서 로컬 리소스 모듈(72_5)은 서버(72)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 리페어 숍들(repair shops)/딜러들(dealers)/기술적인 정보의 목록을 제공한다.
업그레이드 모듈(72_3)은 데이터 처리 모듈(72_2)과 인터페이싱 한다. 업그레이드 모듈(72_3)은 SSD(74)로부터 전송된 데이터 혹은 정보를 근거로 하여 펌웨어, 리셋 코드, 진단 시스템 업그레이드 혹은 다른 정보들을 전자기기(appliance)에 업그레이드한다.
스케쥴링 센터(72_4)는 서버(72)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 실시간의 옵션을 허용한다.
리페어 정보 모듈(72_6)은 데이터 처리 모듈(72_2)과 인터페이싱한다. 리페어 정보 모듈(72_6)은 사용자에게 리페어 관련 정보(예를 들어, 오디오, 비디오, 혹은 문서 파일)를 제공하는데 이용된다. 데이터 처리 모듈(72_2)은 SSD(74)로부터 전달된 정보를 근거로하여 관련된 정보를 패키징한다. 그 뒤, 이러한 정보는 SSD(74)에 전송되거나 혹은 사용자에게 디스플레이된다.
일반적으로 서버는 발열 문제가 심각하다. 이러한 발열로 인하여 프로그램 동작시 메모리 셀이 신뢰성이 낮아질 가능성이 높다. 그러나 본 발명의 서버 시스템(70)은 프로그램 동작시 온도에 따라 최적의 감지 모드를 이용하는 SSD(74)를 구비함으로써, 데이터의 신뢰성을 개선할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템 또는 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명의 실시 예에 따른 메모리 시스템 또는 저장 장치는 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100, 220: 비휘발성 메모리 장치
110: 메모리 셀 어레이
120: 어드레스 디코더
130: 입출력 회로
140: 제어 로직
150, 222: 감지 모드 선택기
240: 메모리 제어기
1311: 전류 감지기
1312: 전압 감지기
1321: 고속 감지기
1323: 정밀 감지기
1331: 제 1 감지기
1332: 제 2 감지기
1333: 제 3 감지기

Claims (20)

  1. 메모리 셀들;
    워드 라인을 통해 상기 메모리 셀들에 연결되고, 상기 메모리 셀들에 대한 프로그램 동작 시에 프로그램 단계에 따라 상기 워드 라인에 프로그램 전압 및 검증 전압을 인가하는 어드레스 디코더;
    상기 메모리 셀들에 대한 상기 프로그램 동작 시에 상기 프로그램 단계에 따라 감지 모드들 중 하나를 선택하는 감지 모드 선택기; 그리고
    상기 감지 모드들에 각각 대응하며 상기 메모리 셀들에 저장된 데이터를 서로 다른 감지 방법들을 이용하여 비트 라인들을 통해 감지하는 감지기들을 포함하고, 상기 선택된 감지 모드에 따라 상기 감지기들을 이용하여 상기 메모리 셀들에 저장된 상기 데이터를 감지하는 페이지 버퍼를 포함하고,
    상기 감지 모드 선택기는 상기 프로그램 단계에 따라 상기 선택된 감지 모드를 전류 감지 모드로부터 전압 감지 모드로 변경하는 비휘발성 메모리 장치.
  2. 제1항에 있어서,
    상기 감지기들 각각은 상기 전류 감지 모드 및 상기 전압 감지 모드에 각각 대응하는 전류 감지기 및 전압 감지기를 포함하는 비휘발성 메모리 장치.
  3. 제2항에 있어서,
    상기 전류 감지기는 상기 비트 라인들 중 대응하는 비트 라인과 연결되는 감지 노드의 전류를 감지하고,
    상기 전압 감지기는 상기 감지 노드의 전압을 감지하는 비휘발성 메모리 장치.
  4. 제3항에 있어서,
    상기 전압 감지기는,
    비트 라인 셋업 신호에 응답하여 전원 전압을 출력하는 풀업 트랜지스터;
    모드 선택 신호가 상기 전압 감지 모드를 가리킬 때 상기 모드 선택 신호에 응답하여 상기 풀업 트랜지스터로부터 출력되는 상기 전원 전압을 상기 감지 노드로 전달하는 제1 모드 선택 트랜지스터; 그리고
    상기 감지 노드의 전압을 감지하는 감지 래치를 포함하는 비휘발성 메모리 장치.
  5. 제4항에 있어서,
    상기 전류 감지기는,
    상기 비트 라인 셋업 신호에 응답하여 접지 전압을 출력하는 풀다운 트랜지스터;
    상기 모드 선택 신호가 상기 전류 감지 모드를 가리킬 때 상기 모드 선택 신호에 응답하여 상기 풀다운 트랜지스터로부터 출력되는 상기 접지 전압을 상기 감지 노드로 전달하는 제2 모드 선택 트랜지스터; 그리고
    상기 감지 노드를 통해 흐르는 전류를 기준 전류와 비교하는 셀 전류 결정기를 포함하는 비휘발성 메모리 장치.
  6. 제5항에 있어서,
    상기 페이지 버퍼는,
    상기 모드 선택 신호가 상기 전류 감지 모드를 가리킬 때 상기 모드 선택 신호에 응답하여 상기 셀 전류 결정기를 상기 감지 노드와 전기적으로 연결하고, 그리고 상기 모드 선택 신호가 상기 전압 감지 모드를 가리킬 때 상기 모드 선택 신호에 응답하여 상기 셀 전류를 결정기를 상기 대응하는 감지 노드와 전기적으로 분리하는 제3 모드 선택 트랜지스터를 더 포함하는 비휘발성 메모리 장치.
  7. 삭제
  8. 제1항에 있어서,
    상기 프로그램 단계는,
    제1 데이터를 이용하여 상기 메모리 셀들을 프로그램하는 제1 프로그램 단계;
    상기 제1 프로그램 단계 이후에 상기 제1 데이터 및 제2 데이터를 이용하여 상기 메모리 셀들을 프로그램하는 제2 프로그램 단계; 그리고
    상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 메모리 셀들을 프로그램하는 제3 프로그램 단계를 포함하는 비휘발성 메모리 장치.
  9. 제8항에 있어서,
    상기 감지 모드 선택기는 상기 제1 프로그램 단계 및 상기 제2 프로그램 단계에서 상기 전류 감지 모드를 선택하고, 그리고 상기 제3 프로그램 단계에서 상기 전압 감지 모드를 선택하는 비휘발성 메모리 장치.
  10. 제1항에 있어서,
    상기 프로그램 단계는 프로그램 루프들을 포함하고,
    각 프로그램 루프는 상기 어드레스 디코더가 상기 프로그램 전압을 인가하는 프로그램 구간 및 상기 검증 전압을 인가하는 검증 구간을 포함하고,
    상기 프로그램 루프들이 반복될 때, 상기 어드레스 디코더는 상기 프로그램 전압의 레벨을 증가시키고,
    상기 감지 모드 선택기는 몇 번째 프로그램 루프가 수행되는지에 따라 상기 감지 모드를 선택하는 비휘발성 메모리 장치.
  11. 제1항에 있어서,
    상기 프로그램 단계는 프로그램 루프들을 포함하고,
    각 프로그램 루프는 상기 어드레스 디코더가 상기 프로그램 전압을 인가하는 프로그램 구간 및 상기 검증 전압을 인가하는 검증 구간을 포함하고,
    상기 프로그램 루프들이 반복될 때, 상기 어드레스 디코더는 상기 프로그램 전압의 레벨을 증가시키고,
    상기 감지 모드 선택기는 상기 프로그램 루프가 반복되는 동안 상기 메모리 셀들의 상태에 따라 상기 감지 모드를 선택하는 비휘발성 메모리 장치.
  12. 비휘발성 메모리 장치의 프로그램 방법에 있어서:
    워드 라인을 통해 메모리 셀들에 프로그램 전압을 인가하는 단계;
    상기 워드 라인을 통해 상기 메모리 셀들에 검증 전압을 인가하는 단계; 그리고
    비트 라인들을 통해 상기 메모리 셀들에 저장된 데이터를 감지하는 단계를 포함하고,
    상기 감지하는 단계는 프로그램 단계에 따라 전류 감지 모드 및 전압 감지 모드에서 수행되는 프로그램 방법.
  13. 삭제
  14. 제12항에 있어서,
    상기 프로그램 단계는,
    제1 데이터에 기반하여 상기 프로그램 전압을 인가하는 단계와 상기 검증 전압을 인가하는 단계를 수행하는 제1 프로그램 단계;
    상기 제1 데이터 및 제2 데이터에 기반하여 상기 프로그램 전압을 인가하는 단계와 상기 검증 전압을 인가하는 단계를 수행하는 제2 프로그램 단계; 그리고
    상기 제1 데이터 및 상기 제2 데이터에 기반하여 상기 프로그램 전압을 인가하는 단계와 상기 검증 전압을 인가하는 단계를 수행하는 제3 프로그램 단계를 포함하는 프로그램 방법.
  15. 제14항에 있어서,
    상기 제1 및 제2 프로그램 단계들에서, 상기 데이터를 감지하는 단계는 상기 전류 감지 모드로 수행되고,
    상기 제3 프로그램 단계에서 상기 데이터를 감지하는 단계는 상기 전압 감지 모드로 수행되는 프로그램 방법.
  16. 제15항에 있어서,
    상기 전압 감지 모드에서 상기 감지하는 단계는 상기 전류 감지 모드에서보다 더 느리게 그리고 더 정밀하게 상기 메모리 셀들의 문턱 전압들과 상기 검증 전압을 비교하는 프로그램 방법.
  17. 제12항에 있어서,
    상기 프로그램 단계는 프로그램 루프들을 포함하고, 상기 프로그램 루프들 각각은 상기 프로그램 전압을 인가하는 단계 및 상기 검증 전압을 인가하는 단계를 포함하는 프로그램 방법.
  18. 프로그램 단계에 따라 감지 모드들 중 하나의 감지 모드를 선택하기 위한 감지 모드 선택 명령을 출력하는 메모리 제어기; 그리고
    메모리 셀들에 프로그램 전압을 인가하고, 상기 메모리 셀들에 검증 전압을 인가하고, 그리고 상기 감지 모드 선택 명령에 의해 선택된 감지 모드로 상기 메모리 셀들에 저장된 데이터를 감지하는 비휘발성 메모리 장치를 포함하고,
    상기 프로그램 단계는,
    제1 데이터를 이용하여 상기 메모리 셀들을 프로그램하는 제1 프로그램 단계;
    상기 제1 프로그램 단계 이후에 상기 제1 데이터 및 제2 데이터를 이용하여 상기 메모리 셀들을 프로그램하는 제2 프로그램 단계; 그리고
    상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 메모리 셀들을 프로그램하는 제3 프로그램 단계를 포함하는 메모리 시스템.
  19. 제18항에 있어서,
    상기 메모리 제어기는 상기 프로그램 단계가 변경됨에 따라 상기 감지 모드를 전류 감지 모드로부터 전압 감지 모드로 변경하는 상기 감지 모드 선택 명령을 출력하는 메모리 시스템.
  20. 제18항에 있어서,
    상기 비휘발성 메모리 장치는 제1 채널을 통해 상기 메모리 제어기와 통신하는 제1 플래시 메모리 장치들 및 제2 채널을 통해 상기 메모리 제어기와 통신하는 제2 플래시 메모리 장치들을 포함하고,
    상기 메모리 제어기는 상기 제1 플래시 메모리 장치들 및 상기 제2 플래시 메모리 장치들에 각각 독립적으로 상기 감지 모드 선택 명령을 제공하는 메모리 시스템.
KR1020170037115A 2017-03-23 2017-03-23 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법 KR101807756B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170037115A KR101807756B1 (ko) 2017-03-23 2017-03-23 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170037115A KR101807756B1 (ko) 2017-03-23 2017-03-23 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100046070A Division KR20110126408A (ko) 2010-05-17 2010-05-17 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20170036672A KR20170036672A (ko) 2017-04-03
KR101807756B1 true KR101807756B1 (ko) 2017-12-12

Family

ID=58589426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170037115A KR101807756B1 (ko) 2017-03-23 2017-03-23 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법

Country Status (1)

Country Link
KR (1) KR101807756B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11894076B2 (en) 2021-09-17 2024-02-06 SK Hynix Inc. Apparatus and method for programming and verifying data in non-volatile memory device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11650795B2 (en) * 2019-08-23 2023-05-16 SK Hynix Inc. Raw read based physically unclonable function for flash memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050201151A1 (en) * 2003-09-09 2005-09-15 Tran Hieu V. Unified multilevel cell memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050201151A1 (en) * 2003-09-09 2005-09-15 Tran Hieu V. Unified multilevel cell memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11894076B2 (en) 2021-09-17 2024-02-06 SK Hynix Inc. Apparatus and method for programming and verifying data in non-volatile memory device

Also Published As

Publication number Publication date
KR20170036672A (ko) 2017-04-03

Similar Documents

Publication Publication Date Title
KR101617641B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
US9349466B2 (en) Nonvolatile memory device having selectable sensing modes, memory system having the same and programming method thereof
KR101642819B1 (ko) 비휘발성 메모리 장치, 그것의 구동 방법, 그것을 포함하는 메모리 시스템
TWI734866B (zh) 記憶體裝置及其操作方法
KR101596826B1 (ko) 비휘발성 메모리 장치 및 그것의 바이어스 전압 인가 방법
KR101626548B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR102126716B1 (ko) 비휘발성 메모리 장치의 구동 방법 및 이를 이용하는 비휘발성 메모리 장치
KR102469680B1 (ko) 반도체 메모리 장치
US8164952B2 (en) Nonvolatile memory device and related method of programming
US8498160B2 (en) Nonvolatile memory device and related programming method using selective bit line precharging
KR102248835B1 (ko) 불 휘발성 메모리 장치 및 그것의 동작 방법
KR20100107294A (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR20110131648A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
CN106024050B (zh) 输出状态失败信号的半导体存储器件及其操作方法
JP2011165301A (ja) フラッシュメモリ装置及びその読み出し方法
KR20200025820A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US8760919B2 (en) Nonvolatile memory device and method of reading data in nonvolatile memory device
KR102182804B1 (ko) 메모리 장치의 독출 방법
US11061757B2 (en) Storage device and method of operating the same
KR101807756B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 프로그램 방법
US11069396B2 (en) Memory device and method of operating the memory device for initializing sensing latch during evaluation operation
CN115527596A (zh) 用于在非易失性存储器装置中编程数据的设备及系统
KR102238579B1 (ko) 메모리 장치의 프로그램 방법
CN113409847A (zh) 存储器设备及其操作方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant