KR20190006327A - 반도체 메모리 장치 및 이의 동작 방법 - Google Patents

반도체 메모리 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20190006327A
KR20190006327A KR1020170087184A KR20170087184A KR20190006327A KR 20190006327 A KR20190006327 A KR 20190006327A KR 1020170087184 A KR1020170087184 A KR 1020170087184A KR 20170087184 A KR20170087184 A KR 20170087184A KR 20190006327 A KR20190006327 A KR 20190006327A
Authority
KR
South Korea
Prior art keywords
program
group
bit lines
states
read
Prior art date
Application number
KR1020170087184A
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 KR1020170087184A priority Critical patent/KR20190006327A/ko
Priority to US15/884,654 priority patent/US10311956B2/en
Priority to CN201810145077.6A priority patent/CN109243508B/zh
Publication of KR20190006327A publication Critical patent/KR20190006327A/ko
Priority to US16/389,615 priority patent/US10839912B2/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • 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
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Abstract

본 기술은 반도체 메모리 장치 및 이의 동작 방법에 관한 것으로, 반도체 메모리 장치는 다수의 프로그램 상태들로 프로그램되는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 대한 프로그램 동작을 수행하기 위한 주변 회로, 및 상기 프로그램 동작 시 상기 다수의 프로그램 상태들을 적어도 두 개 이상의 프로그램 그룹들로 구분하고, 상기 적어도 두 개 이상의 프로그램 그룹들을 순차적으로 프로그램하도록 상기 주변 회로를 제어하기 위한 제어 로직을 포함한다.

Description

반도체 메모리 장치 및 이의 동작 방법{SEMICONDUCTOR MEMORY DEVICE AND OPERATING METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 특히 반도체 메모리 장치 및 이의 동작 방법에 관한 것이다.
반도체 장치 중 특히 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
불휘발성 메모리 장치는 쓰기 및 읽기 속도가 상대적으로 느리지만 전원 공급이 차단되더라도 저장 데이터를 유지한다. 따라서 전원 공급 여부와 관계없이 유지되어야 할 데이터를 저장하기 위해 불휘발성 메모리 장치가 사용된다. 불휘발성 메모리 장치에는 ROM(Read Only Memory), MROM(Mask ROM), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash memory), PRAM(Phase change Random Access Memory), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등이 있다. 플래시 메모리는 노어 타입과 낸드 타입으로 구분된다.
플래시 메모리는 데이터의 프로그램과 소거가 자유로운 RAM의 장점과 전원 공급이 차단되어도 저장된 데이터를 보존할 수 있는 ROM의 장점을 가진다. 플래시 메모리는 디지털 카메라, PDA(Personal Digital Assistant) 및 MP3 플레이어와 같은 휴대용 전자기기의 저장 매체로 널리 사용되고 있다.
본 발명의 실시 예는 반도체 메모리 장치의 프로그램 동작시 프로그램 속도를 개선할 수 있는 반도체 메모리 장치 및 이의 동작 방법을 제공한다.
본 발명의 실시 예에 따른 반도체 메모리 장치는 다수의 프로그램 상태들로 프로그램되는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 대한 프로그램 동작을 수행하기 위한 주변 회로, 및 상기 프로그램 동작 시 상기 다수의 프로그램 상태들을 적어도 두 개 이상의 프로그램 그룹들로 구분하고, 상기 적어도 두 개 이상의 프로그램 그룹들을 순차적으로 프로그램하도록 상기 주변 회로를 제어하기 위한 제어 로직을 포함한다.
본 발명의 실시 예에 따른 반도체 메모리 장치는 다수의 프로그램 상태들로 프로그램되는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 대한 프로그램 동작을 수행하기 위한 주변 회로, 및 상기 프로그램 동작 시 상기 다수의 프로그램 상태들을 제1 프로그램 그룹과 제2 프로그램 그룹으로 그룹핑하고, 상기 제1 프로그램 그룹에 대한 프로그램 동작을 수행한 후 상기 제2 프로그램 그룹에 대한 프로그램 동작을 수행하도록 상기 주변 회로를 제어하기 위한 제어 로직을 포함한다.
본 발명의 실시 예에 따른 반도체 메모리 장치의 동작 방법은 외부로부터 프로그램하기 위한 복수의 데이터가 입력되어 메모리 셀 어레이의 비트라인들과 연결된 읽기 및 쓰기 회로에 저장되는 단계와, 상기 복수의 데이터를 복수의 프로그램 그룹들로 그룹핑하는 단계와, 상기 복수의 프로그램 그룹들 중 선택된 프로그램 그룹에 대한 프로그램 동작을 수행하는 단계, 및 상기 선택된 프로그램 그룹에 대한 프로그램 동작이 완료되면, 다음 프로그램 그룹에 대한 프로그램 동작을 수행하는 단계를 포함한다.
본 기술에 따르면, 반도체 메모리 장치의 프로그램 동작 시 입력되는 데이터를 프로그램 상태에 따라 적어도 두 개 이상의 그룹으로 구분하고, 각 그룹을 순차적으로 프로그램하되, 각 그룹에 포함된 프로그램 상태에 대응하는 메모리 셀들은 동시에 프로그램하여 프로그램 속도를 개선할 수 있다.
도 1은 본 발명의 실시 예에 따른 반도체 메모리 장치를 설명하기 위한 블럭도이다.
도 2는 도 1의 메모리 셀 어레이의 실시 예를 보여주는 블럭도이다.
도 3은 도 1의 메모리 블럭을 설명하기 위한 회로도이다.
도 4는 도 1의 제어 로직의 실시 예를 보여주는 블럭도이다.
도 5는 본 발명의 실시 예에 따른 프로그램 상태에 따른 문턱 전압 분포도이다.
도 6은 본 발명의 실시 예에 따른 프로그램 동작 시 비트라인 전압을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 반도체 메모리 장치의 프로그램 동작 방법을 설명하기 위한 순서도이다.
도 8은 도 1의 반도체 메모리 장치를 포함하는 메모리 시스템을 보여주는 블럭도이다.
도 9는 도 8의 메모리 시스템의 응용 예를 보여주는 블럭도이다.
도 10은 도 9를 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블럭도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 따른 반도체 메모리 장치를 설명하기 위한 블럭도이다.
도 1을 참조하면, 반도체 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 제어 로직(140), 및 전압 생성 회로(150)를 포함한다.
어드레스 디코더(120), 읽기 및 쓰기 회로(130), 및 전압 생성 회로(150)는 메모리 셀 어레이(110)에 대한 프로그램 동작, 소거 동작, 리드 동작 등과 같은 제반 동작을 수행하기 위한 주변 회로로 정의될 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 블럭들(BLK1~BLKz)을 포함한다. 복수의 메모리 블럭들(BLK1~BLKz)은 워드라인들(WLs)을 통해 어드레스 디코더(120)에 연결된다. 복수의 메모리 블럭들(BLK1~BLKz)은 비트라인들(BL1 내지 BLm)을 통해 읽기 및 쓰기 회로(130)에 연결된다. 실시 예로서, 복수의 메모리 셀들은 차지 트랩 디바이스(charge trap device) 기반의 불휘발성 메모리 셀들일 수 있다. 동일한 워드라인에 공통적으로 연결된 다수의 메모리 셀들은 하나의 페이지로 정의될 수 있다. 메모리 셀 어레이(110)는 복수의 페이지로 구성된다.
메모리 셀 어레이(110)의 상세 구성은 후술하도록 한다.
어드레스 디코더(120)는 워드라인들(WLs)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(120)는 제어 로직(140)에서 출력되는 제어 신호들(AD_signals)에 응답하여 동작하도록 구성된다. 어드레스 디코더(120)는 반도체 메모리 장치(100) 내부의 입출력 버퍼(미도시)를 통해 어드레스(ADDR)를 수신한다. 어드레스 디코더(120)는 프로그램 동작 시 수신된 어드레스(ADDR)에 따라 워드라인들(WLs) 중 선택된 워드라인에는 프로그램 전압(Vpgm)을 인가하고, 비 선택된 워드라인들에는 패스 전압(Vpass)을 인가한다. 또한 프로그램 검증 동작 시 선택된 워드라인에는 검증 전압(Vverify)을 인가하고, 비 선택된 워드라인들에는 패스 전압(Vpass)을 인가한다.
또한 반도체 메모리 장치(100)의 프로그램 동작, 리드 동작, 및 소거 동작을 포함하는 다양한 제반 동작시 수신되는 어드레스(ADDR)는 블록 어드레스, 행 어드레스 및 열 어드레스를 포함한다. 어드레스 디코더(120)는 블록 어드레스 및 행 어드레스에 따라 하나의 메모리 블럭 및 하나의 워드라인을 선택한다. 열 어드레스(Yi)는 어드레스 디코더(120)에 의해 디코딩되어 읽기 및 쓰기 회로(130)에 제공된다.
어드레스 디코더(120)는 블록 디코더, 행 디코더, 열 디코더 및 어드레스 버퍼 등을 포함할 수 있다.
읽기 및 쓰기 회로(130)는 복수의 페이지 버퍼들(PB1~PBm)을 포함한다. 복수의 페이지 버퍼들(PB1~PBm)은 비트라인들(BL1 내지 BLm)을 통해 메모리 셀 어레이(110)에 연결된다. 복수의 페이지 버퍼들(PB1~PBm) 각각은 프로그램 동작시 프로그램할 데이터에 따라 대응하는 비트라인들(BL1 내지 BLm)의 전위 레벨을 조절할 수 있다. 예를 들어 복수의 페이지 버퍼들(PB1~PBm) 각각은 프로그램 동작시 대응하는 메모리 셀이 프로그램 금지 셀일 경우 프로그램 금지 전압(예를 들어 전원 전압)을 대응하는 비트라인에 인가하고, 대응하는 메모리 셀이 프로그램 셀일 경우 프로그램하려는 데이터에 대응하는 프로그램 상태에 따라 프로그램 허용 전압의 전위 레벨을 조절하여 대응하는 비트라인에 인가한다.
또한 프로그램 검증 동작 시 비트라인들(BL1 내지 BLm)의 전위 레벨을 일정 레벨로 프리차지한 후, 비트라인들(BL1 내지 BLm)의 전위 레벨 또는 전류량을 센싱하여 프로그램 동작의 패스 또는 페일을 판단한다.
읽기 및 쓰기 회로(130)는 제어 로직(140)에서 출력되는 제어 신호들(PB_signals)에 응답하여 동작한다.
제어 로직(140)은 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 전압 생성 회로(150)에 연결된다. 제어 로직(140)은 반도체 메모리 장치(100)의 입출력 버퍼(미도시)를 통해 커맨드(CMD), 데이터(DATA) 및 어드레스(ADDR)를 수신한다. 제어 로직(140)은 커맨드(CMD)에 응답하여 반도체 메모리 장치(100)의 프로그램 동작, 리드 동작, 소거 동작을 포함하는 다양한 제반 동작을 제어하도록 구성된다.
또한 제어 로직(140)은 프로그램 동작시 커맨드(CMD)와 함께 입력되는 데이터(DATA)들을 프로그램 상태에 따라 복수의 프로그램 그룹으로 그룹핑하고, 각 프로그램 그룹을 순차적으로 프로그램하도록 어드레스 디코더(120), 읽기 및 쓰기 회로(130), 전압 생성 회로(150)를 제어할 수 있다.
또한 제어 로직(140)은 각 프로그램 그룹의 프로그램 동작 시 프로그램 그룹에 대응하는 비트라인에 인가되는 프로그램 허용 전압의 전위 레벨을 프로그램 상태에 따라 조절하도록 읽기 및 쓰기 회로(130)를 제어할 수 있다.
제어 로직(140)은 커맨드(CMD)에 응답하여 어드레스 디코더(120)를 제어하기 위한 제어 신호들(AD_signals), 읽기 및 쓰기 회로(130)를 제어하기 위한 제어 신호들(PB_signals), 및 전압 생성 회로(150)를 제어하기 위한 제어 신호들(VG_signals)을 생성하여 출력한다.
전압 생성 회로(150)는 제어 로직(140)에서 출력되는 제어 신호들(VG_signals)에 응답하여 동작한다.
전압 생성 회로(150)는 프로그램 동작 시 프로그램 전압(Vpgm) 및 패스 전압(Vpass)을 생성하여 출력하고, 검증 동작 시 검증 전압(Vverify) 및 패스 전압(Vpass)을 생성하여 출력하고, 소거 동작시 소거 전압(Vera)을 생성하여 출력한다.
도 2는 도 1의 메모리 셀 어레이(110)의 일 실시 예를 보여주는 블록도이다.
도 2를 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 블럭들(BLK1~BLKz)을 포함한다. 각 메모리 블럭은 3차원 구조를 갖는다. 각 메모리 블럭은 기판 위에 적층된 복수의 메모리 셀들을 포함한다. 이러한 복수의 메모리 셀들은 +X 방향, +Y 방향 및 +Z 방향을 따라 배열된다. 각 메모리 블럭의 구조는 도 3을 참조하여 더 상세히 설명된다.
도 3은 도 1의 메모리 블럭들을 설명하기 위한 회로도이다.
도 1에서는 복수의 메모리 블럭들(BLK1~BLKz)이 비트라인들(BL1 내지 BLm)을 통해 읽기 및 쓰기 회로(130)와 연결되는 것으로 도시되었으나, 도 3에서는 도면의 도시 및 설명을 위해 메모리 블럭(BLK1) 및 메모리 블럭(BLK2)이 대표적으로 도시된다. 메모리 블럭(BLK1) 및 메모리 블럭(BLK2)은 비트라인들(BL1 내지 BLm) 및 공통 소스 라인(CSL)을 공유하는 구조이다.
도 3을 참조하면, 메모리 블럭(BLK1) 및 메모리 블럭(BLK2)은 복수의 비트라인들(BL1~BLm)에 연결된다.
메모리 블럭(BLK1)은 복수의 셀 스트링들(ST1 내지 STm)을 포함한다. 복수의 셀 스트링들(ST1 내지 STm)은 각각 복수의 비트라인들(BL1~BLm)과 공통 소스 라인(CSL) 사이에 연결된다. 복수의 셀 스트링들(ST1 내지 STm) 각각은 소스 선택 트랜지스터(SST), 직렬 연결된 복수의 메모리 셀들(C0~Cn) 및 드레인 선택 트랜지스터(DST)를 포함한다. 소스 선택 트랜지스터(SST)는 소스 선택 라인(SSL1)에 연결된다. 복수의 메모리 셀들(C0~Cn)은 각각 워드라인들(WLs)에 연결된다. 드레인 선택 트랜지스터(DST)는 드레인 선택 라인(DSL1)에 연결된다. 공통 소스 라인(CSL)은 소스 선택 트랜지스터(SST)의 소스 측에 연결된다. 비트라인들(BL1~BLm) 각각은 해당 드레인 선택 트랜지스터(DST)의 드레인 측에 연결된다.
메모리 블럭(BLK2)은 메모리 블럭(BLK1)과 유사한 구조로 구성될 수 있다. 즉, 메모리 블럭(BLK2)은 복수의 들(ST1 내지 STm)을 포함하며, 복수의 들(ST1 내지 STm)은 각각 복수의 비트라인들(BL1~BLm)과 공통 소스 라인(CSL) 사이에 연결된다. 복수의 셀 스트링들(ST1 내지 STm) 각각은 소스 선택 트랜지스터(SST), 직렬 연결된 복수의 메모리 셀들(C0~Cn) 및 드레인 선택 트랜지스터(DST)를 포함한다. 소스 선택 트랜지스터(SST)는 소스 선택 라인(SSL2)에 연결된다. 복수의 메모리 셀들(C0~Cn)은 각각 워드라인들(WLs)에 연결된다. 드레인 선택 트랜지스터(DST)는 드레인 선택 라인(DSL2)에 연결된다. 공통 소스 라인(CSL)은 소스 선택 트랜지스터(SST)의 소스 측에 연결된다. 비트라인들(BL1~BLm) 각각은 해당 드레인 선택 트랜지스터(DST)의 드레인 측에 연결된다.
상술한 바와 같이 메모리 블럭(BLK1)과 메모리 블럭(BLK2)은 서로 유사한 구조로 구성되며, 각각 연결된 드레인 선택 라인들(DSL1, DSL2) 및 소스 선택 라인들(SSL1, SSL2)은 서로 전기적으로 분리된 구조로 설계할 수 있다.
도 4는 도 1의 제어 로직의 실시 예를 보여주는 블럭도이다.
도 4를 참조하면, 제어 로직(140)은 롬(ROM; 141), 그룹 분할 회로(142) 및 제어 신호 생성 회로(143)를 포함하여 구성될 수 있다.
롬(141)에는 반도체 메모리 장치의 다양한 동작들(프로그램 동작, 리드 동작, 소거 동작 등)을 수행하기 위한 알고리즘이 저장될 수 있다. 롬(141)은 반도체 메모리 장치와 연결된 호스트(Host)로부터 입력되는 커맨드(CMD)에 응답하여 내부 제어 신호(int_CS)를 출력한다.
그룹 분할 회로(142)는 프로그램 동작 시 외부로부터 입력되는 데이터(DATA)와 어드레스(ADDR)에 따라 복수의 그룹 분할 신호(GR_D<n:0>)를 생성하여 출력한다. 그룹 분할 회로(142)는 입력되는 데이터(DATA)에 대응하는 프로그램 상태에 따라 데이터(DATA)를 적어도 두 개 이상의 프로그램 그룹으로 그룹핑하고, 각 프로그램 그룹에 해당하는 데이터(DATA)의 어드레스를 기초로 하여 복수의 그룹 분할 신호(GR_D<n:0>)를 생성하여 출력한다. 따라서, 복수의 그룹 분할 신호(GR_D<n:0>)는 해당 데이터의 프로그램 그룹 및 어드레스 정보가 포함될 수 있다.
제어 신호 생성 회로(143)는 내부 제어 신호(int_CS)에 응답하여 주변 회로들(도 1의 전압 생성 회로(150), 어드레스 디코더(120), 읽기 및 쓰기 회로(130))을 제어하기 위한 복수의 제어 신호들(VG_signals, AD_signals, PB_signals)을 출력한다. 특히, 제어 신호 생성 회로(143)는 내부 제어 신호(int_CS) 및 복수의 그룹 분할 신호(GR_D<n:0>)에 응답하여 제1 프로그램 그룹에 대응하는 데이터의 프로그램 동작과 제2 프로그램 그룹에 대응하는 데이터의 프로그램 동작을 구분하여 수행하도록 읽기 및 쓰기 회로(130)를 제어하기 위한 제어 신호들(PB_signals)을 출력한다. 예를 들어 제어 신호 생성 회로(143)는 제1 프로그램 그룹에 대응하는 데이터의 프로그램 동작시 제2 프로그램 그룹에 대응되는 데이터를 임시 저장하는 읽기 및 쓰기 회로(130)의 페이지 버퍼들은 대응하는 비트라인에 프로그램 금지 전압을 인가하고, 제2 프로그램 그룹에 대응하는 데이터의 프로그램 동작시 제1 프로그램 그룹에 대응되는 데이터를 임시 저장하는 읽기 및 쓰기 회로(130)의 페이지 버퍼들은 대응하는 비트라인에 프로그램 금지 전압을 인가하도록 제어하기 위한 제어 신호들(PB_signals)을 출력한다.
도 5는 본 발명의 실시 예에 따른 프로그램 상태에 따른 문턱 전압 분포도이다.
도 6은 본 발명의 실시 예에 따른 프로그램 동작 시 비트라인 전압을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 반도체 메모리 장치의 프로그램 동작 방법을 설명하기 위한 순서도이다.
도 1 내지 도 7을 참조하여 본 발명의 실시 예에 따른 반도체 메모리 장치의 동작 방법을 설명하면 다음과 같다.
본 발명의 실시 예에서는 데이터들을 프로그램 상태에 따라 두 개의 프로그램 그룹으로 정의하여 프로그램 동작을 수행하는 것을 일예로 설명하나 이에 한정되는 것은 아니다. 즉, 적어도 두 개 이상의 프로그램 그룹으로 정의하여 프로그램 동작을 수행할 수 있다. 또한, 본 발명의 실시 예에서는 QLC(Quad Level Cell) 프로그램 방식을 설명하나 이에 한정되는 것은 아니며, TLC(Tri-Level Cell) 프로그램 방식 및 MLC(Multi Level Cell) 프로그램 방식에도 적용 가능하다.
외부로부터 프로그램 명령에 대한 커맨드(CMD)가 입력되면(S710), 제어 로직(140)의 롬(141)은 입력된 커맨드(CMD)에 따라 프로그램 동작의 알고리즘에 대응하는 내부 제어 신호(int_CS)를 생성하여 출력한다. 제어 신호 생성 회로(143)는 내부 제어 신호(int_CS)에 응답하여 제어 신호들(PB_signals)을 생성하고, 읽기 및 쓰기 회로(130)는 제어 신호들(PB_signals)에 응답하여 외부에서 입력되는 데이터(DATA)들을 임시 저장한다.
제어 로직(140)의 그룹 분할 회로(142)는 입력되는 데이터(DATA) 및 어드레스(ADDR)에 따라 데이터를 프로그램 상태에 따라 두 개의 그룹으로 그룹핑하여 복수의 그룹 분할 신호(GR_D<n:0>)를 출력한다.
프로그램 상태에 따라 데이터를 두 개의 그룹으로 그룹핑하는 것은 도 5와 같다. 도 5를 참조하면, QLC 프로그램 방식에서는 데이터에 따라 PV0 내지 PV15의 프로그램 상태를 가지며, 이중 소거 상태인 PV0를 제외한 나머지 PV1 내지 PV15를 제1 프로그램 그룹(1st PGM Group) 및 제2 프로그램 그룹(2nd PGM Group)으로 그룹핑한다. 이때 하나의 프로그램 그룹은 문턱 전압 분포가 서로 인접한 프로그램 상태들로 구성되는 것이 바람직하다. 또한, 제1 프로그램 그룹(1st PGM Group)에 포함되는 프로그램 상태들은 제2 프로그램 그룹(2nd PGM Group)에 포함되는 프로그램 상태들보다 문턱 전압이 낮은 것이 바람직하다.
본 발명의 실시 예에서는 PV1 내지 PV8의 프로그램 상태에 대응하는 데이터들을 제1 프로그램 그룹(1st PGM Group)으로 정의하고, PV9 내지 PV15의 프로그램 상태에 대응하는 데이터들을 제2 프로그램 그룹(2nd PGM Group)으로 정의할 수 있다. 또한 본 발명의 실시 예에서는 문턱 전압 분포가 상대적으로 낮은 제1 프로그램 그룹(1st PGM Group)에 대한 프로그램 동작을 먼저 수행하고, 문턱 전압 분포가 상대적으로 높은 제2 프로그램 그룹(2nd PGM Group)에 대한 프로그램 동작을 나중에 수행한다.
제어 로직(140)의 제어 신호 생성 회로(143)는 내부 제어 신호(int_CS) 및 복수의 그룹 분할 신호(GR_D<n:0>)에 응답하여 제어 신호들(PB_signals)을 생성하여 출력한다. 읽기 및 쓰기 회로(130)의 페이지 버퍼들(PB1 내지 PBm)은 제어 신호들(PB_signals)에 응답하여 임시 저장된 데이터가 제1 프로그램 그룹(1st PGM Group)에 대응할 경우 프로그램 허용 전압을 인가하고, 임시 저장된 데이터가 제2 프로그램 그룹(2nd PGM Group)에 대응할 경우 프로그램 금지 전압을 인가하여 제1 프로그램 그룹 선택 동작을 수행한다(S720).
본 발명의 실시 예에서는 프로그램 그룹을 제1 프로그램 그룹 및 제2 프로그램 그룹으로 그룹핑하였으나, 적어도 두 개 이상의 프로그램 그룹으로 그룹핑할 수 있다. 예를 들어 QLC 프로그램 방식에서 데이터를 3개의 프로그램 그룹으로 그룹핑할 경우, PV1 내지 PV5의 프로그램 상태에 대응하는 데이터는 제1 프로그램 그룹, PV6 내지 PV10의 프로그램 상태에 대응하는 데이터는 제2 프로그램 그룹, PV11 내지 PV15의 프로그램 상태에 대응하는 데이터는 제3 프로그램 그룹으로 그룹핑할 수 있다.
또한, 페이지 버퍼들(PB1 내지 PBm) 중 제1 프로그램 그룹(1st PGM Group)에 대응하는 데이터가 임시 저장된 페이지 버퍼들은 임시 저장된 데이터에 대응하는 프로그램 상태에 따라 비트라인 전압(VBL)을 도 6과 같이 조절한다(S730).
예를 들어 제1 프로그램 그룹(1st PGM Group)에서 프로그램 상태가 가장 높은 PV8에 대응하는 데이터를 임시 저장하는 페이지 버퍼의 경우, 해당 페이지 버퍼에 대응하는 비트라인에 가장 낮은 프로그램 허용 전압(예를 들어 0V)을 인가한다. 또한 제1 프로그램 그룹(1st PGM Group)에서 프로그램 상태가 가장 낮은 PV1에 대응하는 데이터를 임시 저장하는 페이지 버퍼의 경우, 해당 페이지 버퍼에 대응하는 비트라인에 가장 높은 프로그램 허용 전압(예를 들어 2.1V)을 인가한다. 즉, 제1 프로그램 그룹(1st PGM Group)에서 프로그램 상태가 낮은 데이터일수록 비트라인에 인가되는 프로그램 허용 전압은 상대적으로 높고, 프로그램 상태가 높은 데이터일수록 비트라인에 인가되는 프로그램 허용 전압은 상대적으로 낮도록 조절한다.
이때 프로그램 허용 전압들은 프로그램 금지 전압보다 낮은 것이 바람직하다.
이 후, 제어 로직(140)은 반도체 메모리 장치의 프로그램 전압 인가 동작(S740)을 수행하도록 주변 회로들을 제어한다. 전압 생성 회로(150)는 제어 신호들(VG_signals)에 응답하여 선택된 메모리 블럭(예를 들어 BLK1)에 인가하기 위한 프로그램 전압(Vpgm) 및 패스 전압(Vpass)을 생성한다. 어드레스 디코더(120)는 제어 신호들(AD_signals)에 응답하여 프로그램 전압(Vpgm)을 선택된 메모리 블럭(BLK1)의 선택된 워드라인에 인가하고, 패스 전압(Vpass)을 선택된 메모리 블럭(BLK1)의 비 선택된 워드라인들에 인가한다.
이 때 제1 프로그램 그룹(1st PGM Group)에 포함되는 데이터가 프로그램되는 메모리 셀들은 비트라인들에 인가되는 프로그램 허용 전압이 프로그램하려는 데이터에 따라 조절되므로 균일한 프로그램 속도로 프로그램될 수 있다. 즉, 메모리 셀들이 PV1 내지 PV8의 프로그램 상태로 프로그램되고, 프로그램 완료되는 시점이 균일하도록 프로그램 동작을 수행할 수 있다. 즉, 메모리 셀들이 PV1 내지 PV8의 프로그램 상태로 동시에 프로그램될 수 있다.
상술한 프로그램 전압 인가 동작(S740)을 수행한 후, 제어 로직(140)은 프로그램 검증 동작(S750)을 수행하도록 주변 회로들을 제어한다. 읽기 및 쓰기 회로(130)는 제어 신호들(PB_signals)에 응답하여 비트라인들(BL1 내지 BLm)의 전위 레벨을 일정 레벨로 프리차지한다. 전압 생성 회로(150)는 제어 신호들(VG_signals)에 응답하여 선택된 메모리 블럭(예를 들어 BLK1)에 인가하기 위한 검증 전압(Vverify) 및 패스 전압(Vpass)을 생성한다. 어드레스 디코더(120)는 제어 신호들(AD_signals)에 응답하여 검증 전압(Vverify)을 선택된 메모리 블럭(BLK1)의 선택된 워드라인에 인가하고, 패스 전압(Vpass)을 선택된 메모리 블럭(BLK1)의 비 선택된 워드라인들에 인가한다. 이 후, 읽기 및 쓰기 회로(130)는 제어 신호들(PB_signals)에 응답하여 비트라인들(BL1 내지 BLm)의 전위 레벨 또는 전류량을 센싱하여 프로그램 동작의 패스 또는 페일을 판단한다. 이 때, 프로그램 검증 동작은 페이지 버퍼들(PB1 내지 PBm) 중 제1 프로그램 그룹(1st PGM Group)에 대응하는 데이터가 임시 저장된 페이지 버퍼들만 선택적으로 수행되도록 하는 것 바람직하다.
상술한 프로그램 검증 동작 결과 페일로 판단될 경우, 제어 로직(140)은 이전 프로그램 전압 인가 동작(S740)시 생성한 프로그램 전압보다 스텝 전압 만큼 높은 새로운 프로그램 전압을 생성하도록 전압 생성 회로(150)를 제어하고(S760), 상술한 프로그램 전압 인가 단계(S740)부터 재수행되도록 주변 회로들을 제어한다.
상술한 프로그램 검증 동작 결과 패스로 판단될 경우, 제2 프로그램 그룹 선택 동작(S770)을 수행한다. 제어 로직(140)의 제어 신호 생성 회로(143)는 내부 제어 신호(int_CS) 및 복수의 그룹 분할 신호(GR_D<n:0>)에 응답하여 제어 신호들(PB_signals)을 생성하여 출력한다. 읽기 및 쓰기 회로(130)의 페이지 버퍼들(PB1 내지 PBm)은 제어 신호들(PB_signals)에 응답하여 임시 저장된 데이터가 제2 프로그램 그룹(2nd PGM Group)에 대응할 경우 프로그램 허용 전압을 인가하고, 임시 저장된 데이터가 제1 프로그램 그룹(1st PGM Group)에 대응할 경우 프로그램 금지 전압을 인가하여 제2 프로그램 그룹 선택 동작을 수행한다.
또한, 페이지 버퍼들(PB1 내지 PBm) 중 제2 프로그램 그룹(2nd PGM Group)에 대응하는 데이터가 임시 저장된 페이지 버퍼들은 임시 저장된 데이터에 대응하는 프로그램 상태에 따라 비트라인 전압(VBL)을 도 6과 같이 조절한다(S780).
예를 들어 제2 프로그램 그룹(2nd PGM Group)에서 프로그램 상태가 가장 높은 PV15에 대응하는 데이터를 임시 저장하는 페이지 버퍼의 경우, 해당페이지 버퍼에 대응하는 비트라인에 가장 낮은 프로그램 허용 전압(예를 들어 0V)을 인가한다. 또한 제2 프로그램 그룹(2nd PGM Group)에서 프로그램 상태가 가장 낮은 PV9에 대응하는 데이터를 임시 저장하는 페이지 버퍼의 경우, 해당페이지 버퍼에 대응하는 비트라인에 가장 높은 프로그램 허용 전압(예를 들어 1.8V)을 인가한다. 즉, 제2 프로그램 그룹(2nd PGM Group)에서 프로그램 상태가 낮은 데이터일수록 비트라인에 인가되는 프로그램 허용 전압은 상대적으로 높고, 프로그램 상태가 높은 데이터일수록 비트라인에 인가되는 프로그램 허용 전압은 상대적으로 낮도록 조절한다.
이때 프로그램 허용 전압들은 프로그램 금지 전압보다 낮은 것이 바람직하다.
이 후, 제어 로직(140)은 반도체 메모리 장치의 프로그램 전압 인가 동작(S790)을 수행하도록 주변 회로들을 제어한다. 전압 생성 회로(150)는 제어 신호들(VG_signals)에 응답하여 선택된 메모리 블럭(예를 들어 BLK1)에 인가하기 위한 프로그램 전압(Vpgm) 및 패스 전압(Vpass)을 생성한다. 어드레스 디코더(120)는 제어 신호들(AD_signals)에 응답하여 프로그램 전압(Vpgm)을 선택된 메모리 블럭(BLK1)의 선택된 워드라인에 인가하고, 패스 전압(Vpass)을 선택된 메모리 블럭(BLK1)의 비 선택된 워드라인들에 인가한다.
이 때 제2 프로그램 그룹(2nd PGM Group)에 포함되는 데이터가 프로그램되는 메모리 셀들은 비트라인들에 인가되는 프로그램 허용 전압이 프로그램하려는 데이터에 따라 조절되므로 균일한 프로그램 속도로 프로그램될 수 있다. 즉, 메모리 셀들이 PV9 내지 PV15의 프로그램 상태로 프로그램되고, 프로그램 완료되는 시점이 균일하도록 프로그램 동작을 수행할 수 있다. 즉, 메모리 셀들이 PV9 내지 PV15의 프로그램 상태로 동시에 프로그램될 수 있다.
상술한 프로그램 전압 인가 동작(S790)을 수행한 후, 제어 로직(140)은 프로그램 검증 동작(S800)을 수행하도록 주변 회로들을 제어한다. 읽기 및 쓰기 회로(130)는 제어 신호들(PB_signals)에 응답하여 비트라인들(BL1 내지 BLm)의 전위 레벨을 일정 레벨로 프리차지한다. 전압 생성 회로(150)는 제어 신호들(VG_signals)에 응답하여 선택된 메모리 블럭(예를 들어 BLK1)에 인가하기 위한 검증 전압(Vverify) 및 패스 전압(Vpass)을 생성한다. 어드레스 디코더(120)는 제어 신호들(AD_signals)에 응답하여 검증 전압(Vverify)을 선택된 메모리 블럭(BLK1)의 선택된 워드라인에 인가하고, 패스 전압(Vpass)을 선택된 메모리 블럭(BLK1)의 비 선택된 워드라인들에 인가한다. 이 후, 읽기 및 쓰기 회로(130)는 제어 신호들(PB_signals)에 응답하여 비트라인들(BL1 내지 BLm)의 전위 레벨 또는 전류량을 센싱하여 프로그램 동작의 패스 또는 페일을 판단한다. 이 때, 프로그램 검증 동작은 페이지 버퍼들(PB1 내지 PBm) 중 제2 프로그램 그룹(2nd PGM Group)에 대응하는 데이터가 임시 저장된 페이지 버퍼들만 선택적으로 수행되도록 하는 것 바람직하다.
상술한 프로그램 검증 동작 결과 페일로 판단될 경우, 제어 로직(140)은 이전 프로그램 전압 인가 동작(S790)시 생성한 프로그램 전압보다 스텝 전압 만큼 높은 새로운 프로그램 전압을 생성하도록 전압 생성 회로(150)를 제어하고(S810), 상술한 프로그램 전압 인가 단계(S790)부터 재수행되도록 주변 회로들을 제어한다.
프로그램 검증 동작 결과 패스로 판단될 경우, 선택된 페이지에 대한 프로그램 동작을 종료하고, 다음 페이지에 대한 프로그램 동작을 수행한다. 다음 페이지에 대한 프로그램 동작은 앞서 설명한 단계 S710 내지 S810를 순차적으로 수행하는 것이 바람직하다.
상술한 바와 같이 본원 발명의 실시 예에 따르면, 다수의 프로그램 상태에 대응하는 데이터들을 복수의 프로그램 그룹으로 그룹핑하고, 각 프로그램 그룹을 순차적으로 프로그램하되, 프로그램 그룹에 포함되는 데이터들은 메모리 셀들에 동시에 프로그램함으로써 프로그램 동작의 동작 속도를 개선할 수 있다.
도 8을 참조하면, 메모리 시스템(1000)은 반도체 메모리 장치(100) 및 컨트롤러(1100)를 포함한다.
반도체 메모리 장치(100)는 도 1을 참조하여 설명된 바와 마찬가지로 구성되고, 동작할 수 있다. 이하, 중복되는 설명은 생략된다.
컨트롤러(1100)는 호스트(Host) 및 반도체 메모리 장치(100)에 연결된다. 호스트(Host)로부터의 요청에 응답하여, 컨트롤러(1100)는 반도체 메모리 장치(100)를 액세스하도록 구성된다. 예를 들면, 컨트롤러(1100)는 반도체 메모리 장치(100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다. 컨트롤러(1100)는 반도체 메모리 장치(100) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(1100)는 반도체 메모리 장치(100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
컨트롤러(1100)는 램(1110, Random Access Memory), 프로세싱 유닛(1120, processing unit), 호스트 인터페이스(1130, host interface), 메모리 인터페이스(1140, memory interface) 및 에러 정정 블록(1150)을 포함한다. 램(1110)은 프로세싱 유닛(1120)의 동작 메모리, 반도체 메모리 장치(100) 및 호스트(Host) 사이의 캐시 메모리, 그리고 반도체 메모리 장치(100) 및 호스트(Host) 사이의 버퍼 메모리 중 적어도 하나로서 이용된다. 프로세싱 유닛(1120)은 컨트롤러(1100)의 제반 동작을 제어한다. 또한 컨트롤러(1100)는 쓰기 동작시 호스트(Host)로 부터 제공되는 프로그램 데이터를 임시 저장할 수 있다.
호스트 인터페이스(1130)는 호스트(Host) 및 컨트롤러(1100) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적인 실시 예로서, 컨트롤러(1100)는 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)와 통신하도록 구성된다.
메모리 인터페이스(1140)는 반도체 메모리 장치(100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
에러 정정 블록(1150)은 에러 정정 코드(ECC, Error Correcting Code)를 이용하여 반도체 메모리 장치(100)로부터 수신된 데이터의 에러를 검출하고, 정정하도록 구성된다. 프로세싱 유닛(1120)은 에러 정정 블록(1150)의 에러 검출 결과에 따라 읽기 전압을 조절하고, 재 읽기를 수행하도록 반도체 메모리 장치(100)를 제어할 것이다. 예시적인 실시 예로서, 에러 정정 블록은 컨트롤러(1100)의 구성 요소로서 제공될 수 있다.
컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적될 수 있다. 예시적인 실시 예로서, 컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다.
컨트롤러(1100) 및 반도체 메모리 장치(100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 저장 장치를 포함한다. 메모리 시스템(1000)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(1000)에 연결된 호스트(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) 또는 메모리 시스템(1000)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 반도체 메모리 장치(100) 또는 메모리 시스템(1000)은 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) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 9는 도 8의 메모리 시스템의 응용 예를 보여주는 블럭도이다.
도 9를 참조하면, 메모리 시스템(2000)은 반도체 메모리 장치(2100) 및 컨트롤러(2200)를 포함한다. 반도체 메모리 장치(2100)는 복수의 반도체 메모리 칩들을 포함한다. 복수의 반도체 메모리 칩들은 복수의 그룹들로 분할된다.
도 9에서, 복수의 그룹들은 각각 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(2200)와 통신하는 것으로 도시되어 있다. 각 반도체 메모리 칩은 도 1을 참조하여 설명된 반도체 메모리 장치(100) 중 하나와 마찬가지로 구성되고, 동작할 것이다.
각 그룹은 하나의 공통 채널을 통해 컨트롤러(2200)와 통신하도록 구성된다. 컨트롤러(2200)는 도 8을 참조하여 설명된 컨트롤러(1100)와 마찬가지로 구성되고, 복수의 채널들(CH1~CHk)을 통해 반도체 메모리 장치(2100)의 복수의 메모리 칩들을 제어하도록 구성된다.
도 10 도 9를 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블럭도이다.
도 10을 참조하면, 컴퓨팅 시스템(3000)은 중앙 처리 장치(3100), 램(3200, RAM, Random Access Memory), 사용자 인터페이스(3300), 전원(3400), 시스템 버스(3500), 그리고 메모리 시스템(2000)을 포함한다.
메모리 시스템(2000)은 시스템 버스(3500)를 통해, 중앙처리장치(3100), 램(3200), 사용자 인터페이스(3300), 그리고 전원(3400)에 전기적으로 연결된다. 사용자 인터페이스(3300)를 통해 제공되거나, 중앙 처리 장치(3100)에 의해서 처리된 데이터는 메모리 시스템(2000)에 저장된다.
도 10에서, 반도체 메모리 장치(2100)는 컨트롤러(2200)를 통해 시스템 버스(3500)에 연결되는 것으로 도시되어 있다. 그러나, 반도체 메모리 장치(2100)는 시스템 버스(3500)에 직접 연결되도록 구성될 수 있다. 이때, 컨트롤러(2200)의 기능은 중앙 처리 장치(3100) 및 램(3200)에 의해 수행될 것이다.
도 10에서, 도 9를 참조하여 설명된 메모리 시스템(2000)이 제공되는 것으로 도시되어 있다. 그러나, 메모리 시스템(2000)은 도 8을 참조하여 설명된 메모리 시스템(1000)으로 대체될 수 있다. 예시적인 실시 예로서, 컴퓨팅 시스템(3000)은 도 8 및 도 9를 참조하여 설명된 메모리 시스템들(1000, 2000)을 모두 포함하도록 구성될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 반도체 메모리 장치
110: 메모리 셀 어레이
120: 어드레스 디코더
130: 읽기 및 쓰기 회로
140 : 제어 로직
150 : 전압 생성 회로
141 : 롬
142 : 그룹 분할 회로
143 : 제어 신호 생성 회로

Claims (20)

  1. 다수의 프로그램 상태들로 프로그램되는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 대한 프로그램 동작을 수행하기 위한 주변 회로; 및
    상기 프로그램 동작 시 상기 다수의 프로그램 상태들을 적어도 두 개 이상의 프로그램 그룹들로 구분하고, 상기 적어도 두 개 이상의 프로그램 그룹들을 순차적으로 프로그램하도록 상기 주변 회로를 제어하기 위한 제어 로직을 포함하는 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제어 로직은 상기 다수의 메모리 셀들 중 동일한 프로그램 그룹에 포함되는 프로그램 상태들로 프로그램하려는 메모리 셀들은 동시에 프로그램하도록 상기 주변 회로를 제어하는 반도체 메모리 장치.
  3. 제 2 항에 있어서,
    상기 주변 회로는 상기 메모리 셀 어레이의 비트라인들과 연결된 읽기 및 쓰기 회로를 포함하며,
    상기 읽기 및 쓰기 회로는 상기 적어도 두 개 이상의 프로그램 그룹들 중 선택된 프로그램 그룹에 대응하는 제1 비트라인들에는 복수의 프로그램 허용 전압들을 인가하는 반도체 메모리 장치.
  4. 제 3 항에 있어서,
    상기 읽기 및 쓰기 회로는 상기 선택된 프로그램 그룹에 포함된 프로그램 상태들 각각에 대응하는 상기 복수의 프로그램 허용 전압들을 상기 제1 비트라인들에 인가하는 반도체 메모리 장치.
  5. 제 3 항에 있어서,
    상기 읽기 및 쓰기 회로는 상기 선택된 프로그램 그룹을 제외한 나머지 비 선택된 프로그램 그룹에 대응하는 제2 비트라인들에 프로그램 금지 전압을 인가하는 반도체 메모리 장치.
  6. 제 5 항에 있어서,
    상기 복수의 프로그램 허용 전압들은 상기 프로그램 금지 전압보다 전위 레벨이 낮은 반도체 메모리 장치.
  7. 제 1 항에 있어서,
    상기 적어도 두 개 이상의 프로그램 그룹 각각은 상기 다수의 프로그램 상태들 중 서로 인접한 프로그램 상태들을 포함하는 반도체 메모리 장치.
  8. 제 1 항에 있어서,
    상기 제어 로직은 상기 적어도 두 개 이상의 프로그램 그룹들 중 문턱 전압 분포가 상대적으로 낮은 프로그램 그룹의 프로그램 동작을 먼저 수행하고, 상기 문턱 전압 분포가 상대적으로 높은 프로그램 그룹의 프로그램 동작을 나중에 수행하도록 상기 주변 회로를 제어하는 반도체 메모리 장치.
  9. 다수의 프로그램 상태들로 프로그램되는 다수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 대한 프로그램 동작을 수행하기 위한 주변 회로; 및
    상기 프로그램 동작 시 상기 다수의 프로그램 상태들을 제1 프로그램 그룹과 제2 프로그램 그룹으로 그룹핑하고, 상기 제1 프로그램 그룹에 대한 프로그램 동작을 수행한 후 상기 제2 프로그램 그룹에 대한 프로그램 동작을 수행하도록 상기 주변 회로를 제어하기 위한 제어 로직을 포함하는 반도체 메모리 장치.
  10. 제 9 항에 있어서,
    상기 제어 로직은 상기 복수의 메모리 셀들 중 상기 제1 프로그램 그룹에 포함되는 프로그램 상태들로 프로그램하려는 제1 메모리 셀들을 동시에 프로그램하고,
    상기 복수의 메모리 셀들 중 상기 제2 프로그램 그룹에 포함되는 프로그램 상태들로 프로그램하려는 제2 메모리 셀들을 동시에 프로그램하는 반도체 메모리 장치.
  11. 제 10 항에 있어서,
    상기 주변 회로는 상기 메모리 셀 어레이의 비트라인들과 연결된 읽기 및 쓰기 회로를 포함하며,
    상기 읽기 및 쓰기 회로는 상기 제1 프로그램 그룹 및 상기 제2 프로그램 그룹 중 선택된 프로그램 그룹에 대응하는 제1 비트라인들에는 복수의 프로그램 허용 전압들을 인가하는 반도체 메모리 장치.
  12. 제 11 항에 있어서,
    상기 읽기 및 쓰기 회로는 상기 선택된 프로그램 그룹에 포함된 프로그램 상태들 각각에 대응하는 상기 복수의 프로그램 허용 전압들을 상기 제1 비트라인들에 인가하는 반도체 메모리 장치.
  13. 제 11 항에 있어서,
    상기 읽기 및 쓰기 회로는 상기 제1 프로그램 그룹 및 상기 제2 프로그램 그룹 중 비 선택된 프로그램 그룹에 대응하는 제2 비트라인들에 프로그램 금지 전압을 인가하는 반도체 메모리 장치.
  14. 제 13 항에 있어서,
    상기 복수의 프로그램 허용 전압들은 상기 프로그램 금지 전압보다 전위 레벨이 낮은 반도체 메모리 장치.
  15. 제 11 항에 있어서,
    상기 읽기 및 쓰기 회로는 프로그램하려는 프로그램 상태가 상대적으로 높은 문턱 전압을 가질 경우, 이에 대응하는 비트라인에 상기 복수의 프로그램 허용 전압들 중 상대적으로 낮은 프로그램 허용 전압을 인가하고,
    프로그램하려는 프로그램 상태가 상대적으로 낮은 문턱 전압을 가질 경우, 이에 대응하는 비트라인에 상기 복수의 프로그램 허용 전압들 중 상대적으로 높은 프로그램 허용 전압을 인가하는 반도체 메모리 장치.
  16. 제 9 항에 있어서,
    상기 제어 로직은 상기 다수의 프로그램 상태들 중 상대적으로 문턱 전압 분포가 낮고 서로 인접한 프로그램 상태들을 상기 제1 프로그램 그룹으로 그룹핑하고,
    상기 다수의 프로그램 상태들 중 상대적으로 문턱 전압 분포가 높고 서로 인접한 프로그램 상태들을 상기 제2 프로그램 그룹으로 그룹핑하는 반도체 메모리 장치.
  17. 외부로부터 프로그램하기 위한 복수의 데이터가 입력되어 메모리 셀 어레이의 비트라인들과 연결된 읽기 및 쓰기 회로에 저장되는 단계;
    상기 복수의 데이터를 복수의 프로그램 그룹들로 그룹핑하는 단계;
    상기 복수의 프로그램 그룹들 중 선택된 프로그램 그룹에 대한 프로그램 동작을 수행하는 단계; 및
    상기 선택된 프로그램 그룹에 대한 프로그램 동작이 완료되면, 다음 프로그램 그룹에 대한 프로그램 동작을 수행하는 단계를 포함하는 반도체 메모리 장치의 동작 방법.
  18. 제 17 항에 있어서,
    상기 복수의 프로그램 그룹들로 그룹핑하는 단계는 상기 복수의 데이터에 대응하는 복수의 프로그램 상태에 따라 상기 복수의 프로그램 그룹들로 그룹핑하는 반도체 메모리 장치의 동작 방법.
  19. 제 17 항에 있어서,
    상기 선택된 프로그램 그룹에 대한 프로그램 동작 시 상기 선택된 프로그램 그룹에 포함되는 데이터들의 프로그램 상태들에 따라 상기 비트라인들 중 상기 선택된 프로그램 그룹에 대응하는 제1 비트라인들에 인가되는 프로그램 허용 전압의 전위 레벨을 조절하는 반도체 메모리 장치의 동작 방법.
  20. 제 19 항에 있어서,
    상기 선택된 프로그램 그룹에 대한 프로그램 동작 시 상기 비트라인들 중 비 선택된 프로그램 그룹에 대응하는 제2 비트라인들에 프로그램 금지 전압이 인가되는 반도체 메모리 장치의 동작 방법.
KR1020170087184A 2017-07-10 2017-07-10 반도체 메모리 장치 및 이의 동작 방법 KR20190006327A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170087184A KR20190006327A (ko) 2017-07-10 2017-07-10 반도체 메모리 장치 및 이의 동작 방법
US15/884,654 US10311956B2 (en) 2017-07-10 2018-01-31 Semiconductor memory device and operating method thereof
CN201810145077.6A CN109243508B (zh) 2017-07-10 2018-02-12 半导体存储器装置及其操作方法
US16/389,615 US10839912B2 (en) 2017-07-10 2019-04-19 Semiconductor memory device, memory system including the semiconductor memory device, and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170087184A KR20190006327A (ko) 2017-07-10 2017-07-10 반도체 메모리 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20190006327A true KR20190006327A (ko) 2019-01-18

Family

ID=64903884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170087184A KR20190006327A (ko) 2017-07-10 2017-07-10 반도체 메모리 장치 및 이의 동작 방법

Country Status (3)

Country Link
US (1) US10311956B2 (ko)
KR (1) KR20190006327A (ko)
CN (1) CN109243508B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200132270A (ko) * 2019-05-16 2020-11-25 에스케이하이닉스 주식회사 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210069257A (ko) * 2019-12-03 2021-06-11 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
KR20220052161A (ko) * 2020-10-20 2022-04-27 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
CN114220471A (zh) * 2021-01-06 2022-03-22 长江存储科技有限责任公司 3d存储器件及其读取方法
WO2023103358A1 (zh) * 2021-12-08 2023-06-15 上海集成电路装备材料产业创新中心有限公司 编程装置、方法及新型存储器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728825B1 (en) * 1996-10-15 2004-04-27 Micron Technology, Inc. Apparatus and method for reducing programming cycles for multistate memory system
KR101373186B1 (ko) * 2007-08-22 2014-03-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법들, 그리고그것을 포함하는 메모리 시스템 및 컴퓨터 시스템
US8446773B2 (en) * 2009-02-25 2013-05-21 Samsung Electronics Co., Ltd. Memory system and programming method thereof
US8228728B1 (en) * 2009-09-14 2012-07-24 Marvell International Ltd. Programming method for multi-level cell flash for minimizing inter-cell interference
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
DE102011056141A1 (de) * 2010-12-20 2012-06-21 Samsung Electronics Co., Ltd. Negativspannungsgenerator, Dekoder, nicht-flüchtige Speichervorrichtung und Speichersystem, das eine negative Spannung verwendet
KR20140025164A (ko) * 2012-08-21 2014-03-04 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 데이터 처리 방법
KR20160059747A (ko) * 2014-11-19 2016-05-27 에스케이하이닉스 주식회사 반도체 메모리 장치 그것의 동작 방법
TWI536386B (zh) * 2015-02-16 2016-06-01 群聯電子股份有限公司 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置
CN105989883B (zh) * 2015-02-26 2019-08-06 群联电子股份有限公司 存储器编程方法、存储器存储装置与存储器控制电路单元
KR20170011324A (ko) 2015-07-22 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
CN106571157B (zh) * 2016-11-07 2019-12-31 珠海博雅科技有限公司 分组编程方法及其电路

Also Published As

Publication number Publication date
CN109243508B (zh) 2022-05-24
US10311956B2 (en) 2019-06-04
US20190013078A1 (en) 2019-01-10
CN109243508A (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
KR102572610B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
US10296226B2 (en) Control logic, semiconductor memory device, and operating method
US9165662B2 (en) Semiconductor memory device and programming method thereof
US10388381B2 (en) Semiconductor memory device and operating method thereof
KR20160136675A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR102452994B1 (ko) 반도체 메모리 장치 및 그 동작 방법
US10360978B2 (en) Semiconductor memory device for performing coding program and operating method thereof
US10311956B2 (en) Semiconductor memory device and operating method thereof
KR20190020880A (ko) 메모리 장치 및 그 동작 방법
KR20180099015A (ko) 반도체 메모리 장치 및 이의 동작 방법
US9836216B2 (en) Semiconductor memory device and operating method thereof
KR20170011324A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20190050487A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20180032916A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20180073885A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20170079832A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20190073128A (ko) 메모리 장치 및 그 동작 방법
KR20160061673A (ko) 반도체 메모리 장치 그것의 동작 방법
US10672481B2 (en) Semiconductor memory device and operating method thereof
KR20170104839A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20170082898A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20170073980A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20180080842A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR102498248B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20160072712A (ko) 반도체 메모리 장치 및 그것의 동작 방법