KR20150047821A - 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 - Google Patents

반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20150047821A
KR20150047821A KR1020130127772A KR20130127772A KR20150047821A KR 20150047821 A KR20150047821 A KR 20150047821A KR 1020130127772 A KR1020130127772 A KR 1020130127772A KR 20130127772 A KR20130127772 A KR 20130127772A KR 20150047821 A KR20150047821 A KR 20150047821A
Authority
KR
South Korea
Prior art keywords
erase
program
voltage
status data
memory device
Prior art date
Application number
KR1020130127772A
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 KR1020130127772A priority Critical patent/KR20150047821A/ko
Priority to US14/219,838 priority patent/US9214239B2/en
Publication of KR20150047821A publication Critical patent/KR20150047821A/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
    • 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/10Programming or data input circuits
    • G11C16/107Programming all cells in an array, sector or block to the same state prior to flash erasing
    • 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
    • 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
    • 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

Landscapes

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

Abstract

본 발명은 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법에 관한 것으로, 다수의 메모리 셀들을 포함하는 메모리 셀 어레이와, 상기 다수의 메모리 셀들의 프로그램 동작 또는 소거 동작시 프로그램 전압 또는 소거 전압을 생성하여 상기 다수의 메모리 셀들 중 선택된 메모리 셀 또는 상기 메모리 셀 어레이가 배치된 반도체 기판에 상기 프로그램 전압 또는 소거 전압을 인가하기 위한 주변 회로부 및 상기 프로그램 동작 또는 소거 동작시 상기 주변 회로부를 제어하고, 상기 프로그램 전압 및 소거 전압의 펄스 수를 카운팅하여 이를 스테이터스 데이터로 저장하기 위한 제어 로직을 포함한다.

Description

반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법{SEMICONDUCTOR MEMORY DEVICE, MEMORY SYSTEM INCLUDING THE SAME 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은 본 발명에 따른 반도체 메모리 장치의 프로그램 동작을 설명하기 위한 순서도이다.
도 4는 본 발명에 따른 반도체 메모리 장치의 소거 동작을 설명하기 위한 순서도이다.
도 5는 도 1의 반도체 메모리 장치를 포함하는 메모리 시스템을 보여주는 블록도이다.
도 6은 도 5의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 7은 도 6을 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 반도체 메모리 장치(100)를 포함하는 메모리 시스템(10)을 보여주는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 반도체 메모리 장치(100) 및 컨트롤러(200)를 포함한다. 반도체 메모리 장치(100)는 메모리 셀 어레이(110) 및 메모리 셀 어레이(110)에 연결되는 읽기 및 쓰기 회로(130)를 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 복수의 메모리 셀들 각각은 2 이상의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(multi level memory cell)로 정의될 수 있다.
반도체 메모리 장치(100)는 컨트롤러(200)의 제어에 응답하여 동작한다. 반도체 메모리 장치(100)는 컨트롤러(200)로부터의 프로그램 명령어 또는 소거 명령어가 수신되면, 명령어와 함께 수신되는 어드레스가 가리키는 메모리 셀들(선택된 메모리 셀들)에 대한 프로그램 동작 또는 소거 동작을 수행하도록 구성된다. 또한 컨트롤러(200)는 호스트(Host)로부터 인터럽트(interrept) 명령어가 수신되면, 반도체 메모리 장치(100)는 현재 진행중인 동작의 진행 상태 등의 정보를 나타내는 스테이터스(status) 데이터를 컨트롤러(200)로 출력하고, 컨트롤러(200)는 스테이터스 데이터를 판단하여 현재 진행중인 동작을 계속 수행할지 아니면 현재 진행중인 동작을 정지시키고 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행할지 결정하여 반도체 메모리 장치(100)를 제어한다. 현재 진행중인 동작을 계속 수행할 경우 현재 진행중인 동작이 완료되면 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행하고, 현재 진행중인 동작을 정지시키고 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행할 경우 새롭게 입력된 새로운 동작이 완료될 경우 정지시킨 동작을 재수행한다.
실시 예로서, 반도체 메모리 장치(100)는 플래시 메모리 장치일 수 있다. 하지만, 본 발명의 기술적 사상이 플래시 메모리 장치에 국한되지 않음이 이해될 것이다.
컨트롤러(200)는 반도체 메모리 장치(100) 및 호스트(Host) 사이에 연결된다. 컨트롤러(200)는 호스트(Host)와 반도체 메모리 장치(100)를 인터페이싱 하도록 구성된다. 예를 들면, 호스트(Host)로부터의 요청에 따른 프로그램 동작 또는 소거 동작 시에, 컨트롤러(200)는 호스트(Host)로부터 수신되는 논리 블록 어드레스(Logical Block Address)를 물리 블록 어드레스(Physical Block Address)로 변환하고, 해당 커멘드와 함께 변환된 물리 블록 주소를 반도체 메모리 장치(100)에 제공할 수 있다. 또한 호스트(Host)로부터 인터럽트 명령이 수신될 경우, 반도체 메모리 장치(100)가 스테이터스 데이터를 체크하여 인터럽트 명령을 수행하는 순서를 결정하도록 제어한다.
실시 예로서, 컨트롤러(200)는 에러 정정 블록(210)을 포함한다. 에러 정정 블록(210)은 반도체 메모리 장치(100)로부터 수신되는 데이터의 에러를 검출 및 정정하도록 구성된다. 에러 정정 블록(210)이 수행하는 에러 정정 기능은 반도체 메모리 장치(100)로부터 수신되는 데이터 중 에러 비트들의 수에 따라 제한된다. 반도체 메모리 장치(100)로부터 수신되는 데이터 중 에러 비트들의 수가 특정한 값보다 작을 때, 에러 정정 블록(210)은 에러 검출 및 정정 기능을 수행한다. 반도체 메모리 장치(100)로부터 수신되는 데이터 중 에러 비트들의 수가 특정한 값보다 클 때, 에러 검출 및 정정은 수행될 수 없다.
도 2는 도 1의 반도체 메모리 장치(100)를 좀 더 상세히 보여주는 블록도이다.
도 2를 참조하면, 반도체 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 제어 로직(140), 그리고 전압 생성부(150)를 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 복수의 메모리 블록들(BLK1~BLKz)은 워드 라인들(WL)을 통해 어드레스 디코더(120)에 연결된다. 복수의 메모리 블록들(BLK1~BLKz)은 비트 라인들(BL1 내지 BLm)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 복수의 메모리 블록들(BLK1~BLKz) 각각은 복수의 메모리 셀들을 포함한다. 실시 예로서, 복수의 메모리 셀들은 불휘발성 메모리 셀들이다.
어드레스 디코더(120), 읽기 및 쓰기 회로(130), 및 전압 생성부(150)는 메모리 셀 어레이(110)를 구동하는 주변 회로로서 동작한다.
어드레스 디코더(120)는 워드라인들(WL)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 제어 로직(140)의 제어에 응답하여 동작하도록 구성된다. 어드레스 디코더(120)는 반도체 메모리 장치(100) 내부의 입출력 버퍼(미도시)를 통해 어드레스(ADDR)를 수신한다. 어드레스(ADDR)는 컨트롤러(200, 도 1 참조)로부터 제공된다.
어드레스 디코더(120)는 프로그램 동작 시 수신된 어드레스(ADDR) 중 행 어드레스를 디코딩하고 디코딩된 행 어드레스에 따라 다수의 워드라인들(WL) 중 선택된 워드라인에 전압 생성부(150)에서 생성된 프로그램 전압(Vpgm)을 인가하고, 나머지 비 선택된 워드라인들에는 패스 전압(Vpass)을 인가한다.
어드레스 디코더(120)는 수신된 어드레스(ADDR) 중 열 어드레스를 디코딩하도록 구성된다. 어드레스 디코더(120)는 디코딩된 열 어드레스(Yi)를 읽기 및 쓰기 회로(130)에 전송한다.
반도체 메모리 장치(100)의 프로그램 동작은 페이지 단위로 수행된다. 읽기 및 프로그램 동작 요청 시에 수신되는 어드레스(ADDR)는 블록 어드레스, 행 어드레스 및 열 어드레스를 포함한다. 어드레스 디코더(120)는 블록 어드레스 및 행 어드레스에 따라 하나의 메모리 블록 및 하나의 워드 라인을 선택한다. 열 어드레스는 어드레스 디코더(120)에 의해 디코딩되어 읽기 및 쓰기 회로(130)에 제공된다.
읽기 및 쓰기 회로(130)는 복수의 페이지 버퍼들(PB1~PBm)을 포함한다. 복수의 페이지 버퍼들(PB1~PBm)은 비트 라인들(BL1 내지 BLm)을 통해 메모리 셀 어레이(110)에 연결된다. 복수의 페이지 버퍼들(PB1~PBm) 각각은 프로그램 동작 시 메모리 셀들에 프로그램할 데이터를 임시 저장한고, 임시 저장된 데이터에 따라 대응하는 비트라인의 전위를 제어한다. 또한 복수의 페이지 버퍼들(PB1~PBm) 각각은 프로그램 검증 동작 및 소거 검증 동작 시 대응하는 비트라인의 전위를 센싱하여 검증 동작을 수행한다.
읽기 및 쓰기 회로(130)는 제어 로직(140)의 제어에 응답하여 동작한다.
예시적인 실시 예로서, 읽기 및 쓰기 회로(130)는 페이지 버퍼들(또는 페이지 레지스터들), 열 선택 회로 등을 포함할 수 있다.
제어 로직(140)은 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 및 전압 생성부(150)에 연결된다. 제어 로직(140)은 컨트롤러(200, 도 1 참조)로 부터 수신되는 커맨드(CMD) 및 제어 신호(CTRL)에 응답하여 반도체 메모리 장치(100)의 제반 동작을 제어하도록 구성된다.
제어 로직(140)은 펄스 카운터(141) 및 레지스터(142)를 포함한다. 펄스 카운터(141)는 프로그램 동작시 메모리 셀 어레이(110)에 인가되는 프로그램 전압(Vpgm)이 몇 번째 펄스인가를 카운팅하여 펄스 카운팅 신호(Pulse_count)를 레지스터(142)로 출력하고, 소거 동작시 메모리 셀 어레이(110)에 인가되는 소거 전압(Verase)이 몇 번째 펄스인가를 카운팅하여 펄스 카운팅 신호(Pulse_count)를 레지스터(142)로 출력한다. 레지스터(142)는 펄스 카운터(141)로부터 송부받은 펄스 카운팅 신호(Pulse_count) 및 프로그램 동작 및 소거 동작의 알고리즘 단계에 대한 데이터를 스테이터스 데이터(Status data)로 저장하며, 컨트롤러(200, 도 1 참조)로 부터 입력되는 제어 신호(CTRL)에 응답하여 저장된 스테이터스 데이터(Status data)를 컨트롤러(200)로 송부한다.
즉, 제어 로직(140)은 컨트롤러(200)로부터 수신되는 커맨드(CMD) 및 제어 신호(CTRL)에 응답하여 반도체 메모리 장치(100)의 제반 동작을 제어하도록 구성되며, 컨트롤러(200)가 인터럽트 명령을 수신할 경우, 컨트롤러(200)로부터 수신되는 제어 신호(CTRL)에 응답하여 레지스터(142)에 저장된 스테이터스 데이터(Status data)를 컨트롤러(200)로 송부한다. 컨트롤러(200)는 스테이터스 데이터(Status data)를 판단하여 현재 진행중인 동작을 계속 수행할지 아니면 현재 진행중인 동작을 정지시키고 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행할지 결정하여 반도체 메모리 장치(100)를 제어한다. 현재 진행중인 동작을 계속 수행할 경우 현재 진행중인 동작이 완료되면 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행하고, 현재 진행중인 동작을 정지시키고 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행할 경우 새롭게 입력된 새로운 동작이 완료될 경우 정지시킨 동작을 재수행한다.
전압 생성부(150)는 프로그램 동작시 프로그램 전압(Vpgm) 및 패스 전압(Vpass)을 생성한다. 또한 전압 생성부(150)는 소거 동작시 소거 전압(Verase)을 생성한다. 프로그램 전압(Vpgm) 및 소거 전압(Verase)은 스텝 전압만큼 점차 상승하거나 점차 하강하는 다수의 펄스 형태로 출력된다. 즉, 프로그램 동작시 ISPP(Incremental Step Pulse Program) 방식에 따라 스텝 전압만큼 점차 상승하거나 점차 하강하는 다수의 프로그램 전압이 순차적으로 생성되고, 소거 동작시 ISPE(Increment Step Pulse Erase) 방식에 따라 스텝 전압만큼 점차 상승하는 다수의 소거 전압이 순차적으로 생성된다.
도 3은 본 발명에 따른 반도체 메모리 장치의 프로그램 동작을 설명하기 위한 순서도이다.
도 1 내지 도 3을 참조하여 본 발명에 따른 반도체 메모리 장치의 프로그램 동작을 설명하면 다음과 같다.
1) 프로그램 명령 입력(S31)
호스트(Host)로부터 프로그램 명령이 입력되면, 컨트롤러(200)는 프로그램 명령을 반도체 메모리 장치(100)로 출력한다.
2) 프로그램 펄스 인가(S52)
제어 로직(140)은 컨트롤러(200)로부터 수신되는 커맨드(CMD)에 응답하여 반도체 메모리 장치(100)가 프로그램 동작을 수행하도록 주변 회로들을 제어한다. 예를 들어 읽기 및 쓰기 회로(120)는 프로그램 데이터를 임시 저장하고, 임시 저장된 데이터에 응답하여 비트라인들(BL1 내지 BLm)의 전위를 제어한다. 전압 생성부(150)는 프로그램 전압(Vpgm) 및 패스 전압(Vpass)을 생성하고, 어드레스 디코더(120)는 프로그램 전압(Vpgm) 및 패스 전압(Vpass)을 메모리 셀 어레이(110)의 워드라인들(WL)에 인가한다. 프로그램 동작은 ISPP 방식으로 진행하는 것이 바람직하다.
3) 스테이터스 데이터 업데이트(S33)
제어 로직(140)의 펄스 카운터(141)는 ISPP 프로그램 동작시 메모리 셀 어레이(110)의 선택된 워드라인에 인가되는 프로그램 전압(Vpgm)의 펄스 수를 카운트하여 펄스 카운트 신호(Pulse_count)를 생성한다. 펄스 카운터(141)에서 생성된 펄스 카운트 신호(Pulse_count)는 레지스터(142)에 스테이터스 데이터(Status) 데이터로 저장된다. 스테이터스 데이터(Status)는 펄스 카운트 신호(Pulse_count) 외에도 프로그램 동작의 전반적인 데이터를 포함할 수 있다. 예를 들어 프로그램 전압의 전위 레벨, 현재 진행 중인 프로그램 동작에 대응되는 문턱 전압 등을 스테이터스 데이터(Status)로 저장할 수 있다.
4) 인터럽트 명령 입력 확인(S34)
상술한 프로그램 펄스 인가 동작(S32) 및 스테이터스 데이터 업데이트 동작(S33)이 반복 수행되는 동안 일정한 시점 또는 일정한 주기로 인터럽트 명령이 인력되는지 확인한다.
5)소거 펄스 인가 완료(S35)
상술한 인터럽트 명령 입력 확인 단계(S34)에서 인터럽트 명령이 입력되지 않았을 경우, ISPP 방식의 프로그램 동작에서 현재 인가되는 프로그램 전압(Vpgm)이 마지막 프로그램 전압인지 판단한다. 판단 결과 현재 인가되는 프로그램 전압(Vpgm)이 마지막 프로그램 전압일 경우 프로그램 동작을 종료한다. 판단 결과 현재 인가되는 프로그램 전압(Vpgm)이 마지막 프로그램 전압이 아닐 경우 프로그램 전압(Vpgm)을 스텝 전압 만큼 상승시킨 새로운 프로그램 전압을 이용하여 프로그램 펄스 인가 단계(S32)부터 재수행한다.
6) 스테이터스 데이터 리드(S36)
상술한 인터럽트 명령 입력 확인 단계(S34)에서 인터럽트 명령이 입력되었다고 판단될 경우 레지스터(142)에 저장된 스테이터스 데이터(Status data)를 컨트롤러(200)로 출력한다.
7) 프로그램 펄스 수 확인(S37)
컨트롤러(200)는 스테이터스 데이터(Status data)를 판단하여 현재 진행중인 프로그램 동작의 진행율을 판단하여 입터럽트 명령에 따라 현재 진행중인 프로그램 동작을 중단하고 새로운 동작을 수행하거나, 현재 진행중인 프로그램 동작이 완료될 때까지 입터럽트 명령을 대기시키도록 한다. 예를 들어 ISPP 방식의 프로그램 동작에서 전체 프로그램 펄스의 수가 10번이고 현재 진행중인 프로그램 동작이 8번째 프로그램 펄스 일 경우 프로그램 동작이 80%까지 진행되었다고 판단한다.
8) 인터럽트 명령 수행(S38)
상술한 프로그램 펄스 수 확인(S37) 결과 프로그램 동작이 80% 미만으로 진행된 경우 현재 진행중인 프로그램 동작을 정지시키고 인터럽트 명령에 따라 새로운 동작을 수행한다.
9) 정지된 프로그램 동작 수행(S39)
인터럽트 명령에 따라 새로운 동작을 수행하여 완료된 경우, 정지된 프로그램 동작을 재수행하여 완료한다.
10) 실행중인 프로그램 동작 실시(S40)
상술한 프로그램 펄스 수 확인(S37) 결과 프로그램 동작이 80% 이상 진행된 경우 현재 진행중인 프로그램 동작이 완료될 때까지 입터럽트 명령을 대기시키고 현재 실행중인 프로그램 동작을 수행한다.
11) 인터럽트 명령 수행(S41)
상술한 프로그램 동작 실시(S40) 단계가 완료된 후, 인터럽트 명령에 따라 새로운 동작을 수행한다.
상술한 바와 같이 본원 발명에 따르면, 프로그램 동작 시 인터럽트 명령이 입력되어도 스테이터스 데이터를 판단하여 현재 진행중인 프로그램 동작의 진행율을 판단하여 인터럽트 명령을 수행할 지 아니면 인터럽트 명령을 대기시키고 현재 진행중인 프로그램 동작을 계속 수행할지 판단하여 반도체 메모리 장치의 효율을 개선할 수 있다.
도 4는 본 발명에 따른 반도체 메모리 장치의 소거 동작을 설명하기 위한 순서도이다.
도 1, 도 2 및 도 4을 참조하여 본 발명에 따른 반도체 메모리 장치의 프로그램 동작을 설명하면 다음과 같다.
1) 소거 명령 입력(S51)
호스트(Host)로 부터 소거 명령이 입력되면, 컨트롤러(200)는 소거 명령을 반도체 메모리 장치(100)로 출력한다.
2) 소거 펄스 인가(S52)
제어 로직(140)은 컨트롤러(200)로부터 수신되는 커맨드(CMD)에 응답하여 반도체 메모리 장치(100)가 소거 동작을 수행하도록 주변 회로들을 제어한다. 예를 들어 읽기 및 쓰기 회로(120)는 비트라인들(BL1 내지 BLm)의 전위를 플로팅시키고, 전압 생성부(150)는 소거 전압(Verese)을 생성하여 메모리 셀 어레이(110)가 배치된 반도체 기판에 소거 전압(Verese)을 인가한다. 소거 동작은 ISPE 방식으로 진행하는 것이 바람직하다.
3) 스테이터스 데이터 업데이트(S53)
제어 로직(140)의 펄스 카운터(141)는 ISPE 소거 동작시 메모리 셀 어레이(110)의 반도체 기판에 인가되는 소거 전압(Verese)의 펄스 수를 카운트하여 펄스 카운트 신호(Pulse_count)를 생성한다. 펄스 카운터(141)에서 생성된 펄스 카운트 신호(Pulse_count)는 레지스터(142)에 스테이터스 데이터(Status) 데이터로 저장된다. 스테이터스 데이터(Status)는 펄스 카운트 신호(Pulse_count) 외에도 소거 동작의 전반적인 데이터를 포함할 수 있다. 예를 들어 소거 동작 중 강소거 동작인지 소프트 프로그램 동작인지를 나타내는 데이터, 소거 전압의 전위 레벨 등을 저장할 수 있다.
4) 인터럽트 명령 입력 확인(S54)
상술한 소거 펄스 인가 동작(S52) 및 스테이터스 데이터 업데이트 동작(S53)이 반복 수행되는 동안 일정한 시점 또는 일정한 주기로 인터럽트 명령이 인력되는지 확인한다.
5)소거 펄스 인가 완료(S55)
상술한 인터럽트 명령 입력 확인 단계(S54)에서 인터럽트 명령이 입력되지 않았을 경우, ISPE 방식의 소거 동작에서 현재 인가되는 소거 전압(Verese)이 마지막 소거 전압인지 판단한다. 판단 결과 현재 인가되는 소거 전압(Verese)이 마지막 소거 전압일 경우 소거 동작을 종료한다. 판단 결과 현재 인가되는 소거 전압(Verese)이 마지막 소거 전압이 아닐 경우 소거 전압(Verese)을 스텝 전압 만큼 상승시킨 새로운 소거 전압을 이용하여 소거 펄스 인가 단계(S52)부터 재수행한다.
6) 스테이터스 데이터 리드(S56)
상술한 인터럽트 명령 입력 확인 단계(S54)에서 인터럽트 명령이 입력되었다고 판단될 경우 레지스터(142)에 저장된 스테이터스 데이터(Status data)를 컨트롤러(200)로 출력한다.
7) 소거 펄스 수 확인(S57)
컨트롤러(200)는 스테이터스 데이터(Status data)를 판단하여 현재 진행중인 소거 동작의 진행율을 판단하여 입터럽트 명령에 따라 현재 진행중인 소거 동작을 중단하고 새로운 동작을 수행하거나, 현재 진행중인 소거 동작이 완료될 때까지 입터럽트 명령을 대기시키도록 한다. 예를 들어 ISPE 방식의 소거 동작에서 전체 소거 펄스의 수가 10번이고 현재 진행중인 소거 동작이 8번째 소거 펄스일 경우 소거 동작이 80%까지 진행되었다고 판단한다.
8) 인터럽트 명령 수행(S58)
상술한 소거 펄스 수 확인(S57) 결과 소거 동작이 80% 미만으로 진행된 경우 현재 진행중인 소거 동작을 정지시키고 인터럽트 명령에 따라 새로운 동작을 수행한다.
9) 정지된 소거 동작 수행(S59)
인터럽트 명령에 따라 새로운 동작을 수행하여 완료된 경우, 정지된 소거 동작을 재수행하여 완료한다.
10) 실행중인 소거 동작 실시(S60)
상술한 소거 펄스 수 확인(S57) 결과 소거 동작이 80% 이상 진행된 경우 현재 진행중인 소거 동작이 완료될 때까지 입터럽트 명령을 대기시키고 현재 실행중인 소거 동작을 수행한다.
11) 인터럽트 명령 수행(S61)
상술한 소거 동작 실시(S60) 단계가 완료된 후, 인터럽트 명령에 따라 새로운 동작을 수행한다.
상술한 바와 같이 본원 발명에 따르면, 소거 동작 시 인터럽트 명령이 입력되어도 스테이터스 데이터를 판단하여 현재 진행중인 소거 동작의 진행율을 판단하여 인터럽트 명령을 수행할 지 아니면 인터럽트 명령을 대기시키고 현재 진행중인 프로그램 동작을 계속 수행할지 판단하여 반도체 메모리 장치의 효율을 개선할 수 있다.
도 5는 도 1의 반도체 메모리 장치를 포함하는 메모리 시스템을 보여주는 블록도이다.
도 5를 참조하면, 메모리 시스템(2000)은 반도체 메모리 장치(100) 및 컨트롤러(2100)를 포함한다.
반도체 메모리 장치(100)는 도 2를 참조하여 설명된 바와 마찬가지로 구성되고, 동작할 수 있다. 이하, 중복되는 설명은 생략된다.
컨트롤러(2100)는 도 1을 참조하여 설명된 컨트롤러(200)의 기능을 포함한다. 컨트롤러(2100)는 호스트(Host) 및 반도체 메모리 장치(100)에 연결된다. 호스트(Host)로부터의 요청에 응답하여, 컨트롤러(2100)는 반도체 메모리 장치(100)를 액세스하도록 구성된다. 예를 들면, 컨트롤러(2100)는 반도체 메모리 장치(100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다. 컨트롤러(2100)는 반도체 메모리 장치(100) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(2100)는 반도체 메모리 장치(100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다. 또한 컨트롤러(2100)는 인터럽트 명령이 입력된 경우 반도체 메모리 장치(100)에 저장된 스테이터스 데이터를 송부받아 현재 진행중인 동작을 계속 수행할지 아니면 현재 진행중인 동작을 정지시키고 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행할지 결정하여 반도체 메모리 장치(100)를 제어한다. 현재 진행중인 동작을 계속 수행할 경우 현재 진행중인 동작이 완료되면 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행하고, 현재 진행중인 동작을 정지시키고 인터럽트 명령어에 따라 새롭게 입력된 새로운 동작을 수행할 경우 새롭게 입력된 새로운 동작이 완료될 경우 정지시킨 동작을 재수행한다.
컨트롤러(2100)는 램(2110, Random Access Memory), 프로세싱 유닛(2120, processing unit), 호스트 인터페이스(2130, host interface), 메모리 인터페이스(2140, memory interface) 및 에러 정정 블록(2150)을 포함한다. 램(2110)은 프로세싱 유닛(2120)의 동작 메모리, 반도체 메모리 장치(100) 및 호스트(Host) 사이의 캐시 메모리, 그리고 반도체 메모리 장치(100) 및 호스트(Host) 사이의 버퍼 메모리 중 적어도 하나로서 이용된다. 프로세싱 유닛(2120)은 컨트롤러(2100)의 제반 동작을 제어한다. 또한 컨트롤러(2100)는 쓰기 동작시 호스트(Host)로 부터 제공되는 프로그램 데이터를 임시 저장할 수 있다.
호스트 인터페이스(2130)는 호스트(Host) 및 컨트롤러(2100) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적인 실시 예로서, 컨트롤러(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) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(Host)와 통신하도록 구성된다.
메모리 인터페이스(2140)는 반도체 메모리 장치(100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
에러 정정 블록(2150)은 도 1의 에러 정정 블록(210)과 동일한 기능을 수행한다. 에러 정정 블록(2150)은 에러 정정 코드(ECC, Error Correcting Code)를 이용하여 반도체 메모리 장치(100)로부터 수신된 데이터의 에러를 검출하고, 정정하도록 구성된다. 프로세싱 유닛(2120)은 에러 정정 블록(2150)의 에러 검출 결과에 따라 읽기 전압을 조절하고, 재 읽기를 수행하도록 반도체 메모리 장치(100)를 제어할 것이다. 예시적인 실시 예로서, 에러 정정 블록은 컨트롤러(2100)의 구성 요소로서 제공될 수 있다.
컨트롤러(2100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적될 수 있다. 예시적인 실시 예로서, 컨트롤러(2100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(2100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다.
컨트롤러(2100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 저장 장치를 포함한다. 메모리 시스템(2000)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(2000)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선된다.
다른 예로서, 메모리 시스템(1000)은 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적인 실시 예로서, 반도체 메모리 장치(100) 또는 메모리 시스템(2000)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 반도체 메모리 장치(100) 또는 메모리 시스템(2000)은 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) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 6은 도 5의 메모리 시스템(2000)의 응용 예(3000)를 보여주는 블록도이다.
도 6을 참조하면, 메모리 시스템(3000)은 반도체 메모리 장치(3100) 및 컨트롤러(3200)를 포함한다. 반도체 메모리 장치(3100)는 복수의 반도체 메모리 칩들을 포함한다. 복수의 반도체 메모리 칩들은 복수의 그룹들로 분할된다.
도 8에서, 복수의 그룹들은 각각 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(3200)와 통신하는 것으로 도시되어 있다. 각 반도체 메모리 칩은 도 2을 참조하여 설명된 반도체 메모리 장치(100) 중 하나와 마찬가지로 구성되고, 동작할 것이다.
각 그룹은 하나의 공통 채널을 통해 컨트롤러(3200)와 통신하도록 구성된다. 컨트롤러(3200)는 도 8을 참조하여 설명된 컨트롤러(2100)와 마찬가지로 구성되고, 복수의 채널들(CH1~CHk)을 통해 반도체 메모리 장치(3100)의 복수의 메모리 칩들을 제어하도록 구성된다.
도 6에서, 하나의 채널에 복수의 반도체 메모리 칩들이 연결되는 것으로 설명되었다. 그러나, 하나의 채널에 하나의 반도체 메모리 칩이 연결되도록 메모리 시스템(3000)이 변형될 수 있음이 이해될 것이다.
도 7는 도 6을 참조하여 설명된 메모리 시스템(3000)을 포함하는 컴퓨팅 시스템(4000)을 보여주는 블록도이다.
도 7을 참조하면, 컴퓨팅 시스템(4000)은 중앙 처리 장치(4100), 램(4200, RAM, Random Access Memory), 사용자 인터페이스(4300), 전원(4400), 시스템 버스(4500), 그리고 메모리 시스템(3000)을 포함한다.
메모리 시스템(3000)은 시스템 버스(4500)를 통해, 중앙처리장치(4100), 램(4200), 사용자 인터페이스(4300), 그리고 전원(4400)에 전기적으로 연결된다. 사용자 인터페이스(4300)를 통해 제공되거나, 중앙 처리 장치(4100)에 의해서 처리된 데이터는 메모리 시스템(3000)에 저장된다.
도 6에서, 반도체 메모리 장치(3100)는 컨트롤러(3200)를 통해 시스템 버스(4500)에 연결되는 것으로 도시되어 있다. 그러나, 반도체 메모리 장치(3100)는 시스템 버스(4500)에 직접 연결되도록 구성될 수 있다. 이때, 컨트롤러(3200)의 기능은 중앙 처리 장치(4100) 및 램(4200)에 의해 수행될 것이다.
도7에서, 도 6을 참조하여 설명된 메모리 시스템(3000)이 제공되는 것으로 도시되어 있다. 그러나, 메모리 시스템(3000)은 도 5을 참조하여 설명된 메모리 시스템(2000)으로 대체될 수 있다. 예시적인 실시 예로서, 컴퓨팅 시스템(4000)은 도 6 및 도 5를 참조하여 설명된 메모리 시스템들(2000, 3000)을 모두 포함하도록 구성될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 메모리 시스템 100: 반도체 메모리 장치
110: 메모리 셀 어레이 120: 어드레스 디코더
130: 읽기 및 쓰기 회로 140: 제어 로직
141 : 펄스 카운터 142 : 레지스터
150 : 전압 생성부 200: 컨트롤러

Claims (19)

  1. 다수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 다수의 메모리 셀들의 프로그램 동작 또는 소거 동작시 프로그램 전압 또는 소거 전압을 생성하여 상기 다수의 메모리 셀들 중 선택된 메모리 셀 또는 상기 메모리 셀 어레이가 배치된 반도체 기판에 상기 프로그램 전압 또는 소거 전압을 인가하기 위한 주변 회로부; 및
    상기 프로그램 동작 또는 소거 동작시 상기 주변 회로부를 제어하고, 상기 프로그램 전압 및 소거 전압의 펄스 수를 카운팅하여 이를 스테이터스 데이터로 저장하기 위한 제어 로직을 포함하는 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제어 로직은 상기 프로그램 전압 및 소거 전압의 펄스 수를 카운팅하기 위한 펄스 카운터; 및
    상기 펄스 카운터에 의해 카운팅된 결과를 상기 스테이터스 데이터로 저장하기 위한 레지스터를 포함하는 반도체 메모리 장치.
  3. 제 2 항에 있어서,
    상기 레지스터는 상기 펄스 카운터에 의해 카운팅된 결과 외에 펄스의 전위 레벨, 프로그램 동작에 대응하는 문턱 전압, 소거 동작의 세부 동작 단계등을 상기 스테이터스 데이터로 저장하는 반도체 메모리 장치.
  4. 제 1 항에 있어서,
    상기 제어 로직은 상기 프로그램 동작 또는 소거 동작의 진행 중 인터럽트 명령이 입력된 경우 상기 스테이터스 데이터를 외부로 출력하는 반도체 메모리 장치.
  5. 제 1 항에 있어서,
    상기 스테이터스 데이터는 현재 진행중인 상기 프로그램 동작 또는 소거 동작의 진행율을 판단할 수 있는 데이터인 반도체 메모리 장치.
  6. 제 1 항에 있어서,
    상기 주변 회로부는 상기 프로그램 전압 또는 소거 전압을 생성하기 위한 전압 생성부; 및
    상기 메모리 셀 어레이의 비트라인의 전위를 제어하기 위한 읽기 및 쓰기 회로를 포함하는 반도체 메모리 장치.
  7. 프로그램 동작 또는 소거 동작을 수행하며, 상기 프로그램 동작 또는 소거 동작 진행 중에 스테이터스 데이터를 업데이트하여 저장하기 위한 반도체 메모리 장치; 및
    호스트로부터 명령어를 입력받아 상기 반도체 메모리 장치의 상기 프로그램 동작 또는 소거 동작을 제어하기 위한 컨트롤러를 포함하며,
    상기 프로그램 동작 또는 소거 동작 진행 중에 인터럽트 명령어가 입력될 경우 상기 스테이터스 데이터를 송부받아 현재 진행중인 동작의 계속적인 수행 여부를 결정하는 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 스테이터스 데이터에 따라 상기 프로그램 동작 또는 소거 동작이 설정율 이상으로 진행되었다고 판단될 경우, 상기 인터럽트 명령어에 따른 동작을 대기시키고 현재 진행중인 동작을 계속적으로 수행하는 메모리 시스템.
  9. 제 7 항에 있어서,
    상기 스테이터스 데이터에 따라 상기 프로그램 동작 또는 소거 동작이 설정율 미만으로 진행되었다고 판단될 경우, 현재 진행중인 동작을 중지시키고 상기 인터럽트 명령어에 따른 동작을 수행하는 메모리 시스템.
  10. 제 7 항에 있어서,
    상기 반도체 메모리 장치는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 다수의 메모리 셀들의 상기 프로그램 동작 또는 소거 동작시 프로그램 전압 또는 소거 전압을 생성하여 상기 다수의 메모리 셀들 중 선택된 메모리 셀 또는 상기 메모리 셀 어레이가 배치된 반도체 기판에 상기 프로그램 전압 또는 소거 전압을 인가하기 위한 주변 회로부; 및
    상기 프로그램 동작 또는 소거 동작시 상기 주변 회로부를 제어하고, 상기 프로그램 전압 및 소거 전압의 펄스 수를 카운팅하여 이를 상기 스테이터스 데이터로 저장하기 위한 제어 로직을 포함하는 메모리 시스템.
  11. 제 8 항에 있어서,
    상기 제어 로직은 상기 프로그램 전압 및 소거 전압의 펄스 수를 카운팅하기 위한 펄스 카운터; 및
    상기 펄스 카운터에 의해 카운팅된 결과를 상기 스테이터스 데이터로 저장하기 위한 레지스터를 포함하는 메모리 시스템.
  12. 제 11 항에 있어서,
    상기 레지스터는 상기 펄스 카운터에 의해 카운팅된 결과 외에 펄스의 전위 레벨, 프로그램 동작에 대응하는 문턱 전압, 소거 동작의 세부 동작 단계등을 상기 스테이터스 데이터로 저장하는 메모리 시스템.
  13. 제 8 항에 있어서,
    상기 제어 로직은 상기 프로그램 동작 또는 소거 동작의 진행 중 상기 인터럽트 명령어가 입력된 경우 상기 스테이터스 데이터를 상기 컨트롤러로 출력하는 메모리 시스템.
  14. 제 7 항에 있어서,
    상기 스테이터스 데이터는 현재 진행중인 상기 프로그램 동작 또는 소거 동작의 진행율을 판단할 수 있는 데이터인 메모리 시스템.
  15. 외부로부터 입력되는 명령어에 따라 프로그램 전압 또는 소거 전압을 메모리 셀 어레이에 인가하여 프로그램 동작 또는 소거 동작을 수행하는 단계;
    상기 프로그램 동작 또는 소거 동작 중 상기 프로그램 전압 또는 소거 전압이 인가되는 횟수를 카운팅하여 이를 스테이터스 데이터로 저장하는 단계;
    상기 프로그램 동작 또는 소거 동작 중 상기 외부로부터 인터럽트 명령이 입력된 경우, 상기 스테이터스 데이터를 리드하는 단계;
    리드된 상기 스테이터스 데이터에 따라 현재 진행중인 상기 프로그램 동작 또는 소거 동작의 진행율을 판단하는 단계; 및
    상기 현재 진행중인 프로그램 동작 또는 소거 동작의 진행율에 따라 상기 인터럽트 명령에 따른 새로운 동작을 수행할지 결정하는 단계를 포함하는 메모리 시스템의 동작 방법.
  16. 제 15 항에 있어서,
    상기 스테이터스 데이터에 따라 상기 프로그램 동작 또는 소거 동작이 설정율 이상으로 진행되었다고 판단될 경우, 상기 인터럽트 명령에 따른 동작을 대기시키고 현재 진행중인 동작을 계속적으로 수행하는 메모리 시스템의 동작 방법.
  17. 제 16 항에 있어서,
    상기 현재 진행중인 동작을 계속적으로 수행하여 완료된 후 상기 인터럽트 명령에 따른 동작을 수행하는 메모리 시스템의 동작 방법.
  18. 제 15 항에 있어서,
    상기 스테이터스 데이터에 따라 상기 프로그램 동작 또는 소거 동작이 설정율 미만으로 진행되었다고 판단될 경우, 현재 진행중인 동작을 중지시키고 상기 인터럽트 명령에 따른 동작을 수행하는 메모리 시스템의 동작 방법.
  19. 제 18 항에 있어서,
    상기 인터럽트 명령에 따른 동작이 완료된 후 중지된 동작을 재수행하는 메모리 시스템의 동작 방법.
KR1020130127772A 2013-10-25 2013-10-25 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 KR20150047821A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130127772A KR20150047821A (ko) 2013-10-25 2013-10-25 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US14/219,838 US9214239B2 (en) 2013-10-25 2014-03-19 Semiconductor memory device, memory system including the same and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130127772A KR20150047821A (ko) 2013-10-25 2013-10-25 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20150047821A true KR20150047821A (ko) 2015-05-06

Family

ID=52995288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130127772A KR20150047821A (ko) 2013-10-25 2013-10-25 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9214239B2 (ko)
KR (1) KR20150047821A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063652A (ko) * 2016-12-02 2018-06-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20200046807A (ko) * 2018-10-25 2020-05-07 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102348092B1 (ko) * 2015-09-14 2022-01-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR102429458B1 (ko) * 2018-04-03 2022-08-05 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
KR20200139042A (ko) * 2019-06-03 2020-12-11 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
KR20210000409A (ko) * 2019-06-25 2021-01-05 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
WO2021229260A1 (en) * 2020-05-13 2021-11-18 Micron Technology, Inc. Counter-based methods and systems for accessing memory cells
US11367484B1 (en) 2021-01-21 2022-06-21 Micron Technology, Inc. Multi-step pre-read for write operations in memory devices
US11664073B2 (en) 2021-04-02 2023-05-30 Micron Technology, Inc. Adaptively programming memory cells in different modes to optimize performance
US11615854B2 (en) 2021-04-02 2023-03-28 Micron Technology, Inc. Identify the programming mode of memory cells during reading of the memory cells
US11514983B2 (en) 2021-04-02 2022-11-29 Micron Technology, Inc. Identify the programming mode of memory cells based on cell statistics obtained during reading of the memory cells

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101468100B1 (ko) * 2008-09-23 2014-12-04 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 페이지 버퍼
KR20110014923A (ko) 2009-08-06 2011-02-14 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR101222063B1 (ko) 2011-02-28 2013-01-15 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063652A (ko) * 2016-12-02 2018-06-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20200046807A (ko) * 2018-10-25 2020-05-07 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Also Published As

Publication number Publication date
US20150117129A1 (en) 2015-04-30
US9214239B2 (en) 2015-12-15

Similar Documents

Publication Publication Date Title
US9165662B2 (en) Semiconductor memory device and programming method thereof
US9214239B2 (en) Semiconductor memory device, memory system including the same and operating method thereof
US9570190B2 (en) Semiconductor memory device to selectively perform a single sensing operation or a multi-sensing operation
KR20160136675A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20150017599A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20160071120A (ko) 반도체 메모리 장치 그것의 동작 방법
KR20140013383A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20140145367A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20170011641A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20180028292A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20190088293A (ko) 메모리 장치 및 그 동작 방법
KR20170011324A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20170052066A (ko) 메모리 시스템 및 이의 동작 방법
KR20180032916A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20180052814A (ko) 반도체 메모리 장치 및 그것의 동작 방법
US20170271012A1 (en) Semiconductor memory device and operating method thereof
KR20170111657A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20130123516A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20160061673A (ko) 반도체 메모리 장치 그것의 동작 방법
KR20180028312A (ko) 반도체 메모리 장치 및 그 프로그램 방법
KR20180016854A (ko) 반도체 메모리 장치 및 그 동작 방법
KR20170079832A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20170104839A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20150063850A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US9256494B2 (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid