KR101365683B1 - 가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법,그리고 그것을 포함하는 메모리 시스템 - Google Patents

가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법,그리고 그것을 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR101365683B1
KR101365683B1 KR1020070138978A KR20070138978A KR101365683B1 KR 101365683 B1 KR101365683 B1 KR 101365683B1 KR 1020070138978 A KR1020070138978 A KR 1020070138978A KR 20070138978 A KR20070138978 A KR 20070138978A KR 101365683 B1 KR101365683 B1 KR 101365683B1
Authority
KR
South Korea
Prior art keywords
memory
program
data
variable resistance
memory cells
Prior art date
Application number
KR1020070138978A
Other languages
English (en)
Other versions
KR20090070841A (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 KR1020070138978A priority Critical patent/KR101365683B1/ko
Priority to US12/318,241 priority patent/US8218379B2/en
Publication of KR20090070841A publication Critical patent/KR20090070841A/ko
Priority to US12/646,345 priority patent/US8254158B2/en
Application granted granted Critical
Publication of KR101365683B1 publication Critical patent/KR101365683B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0097Erasing, e.g. resetting, circuits or methods
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0078Write using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/72Array wherein the access device being a diode

Landscapes

  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

본 발명은 플렉서블 프로그램 동작을 수행하는 가변 저항 메모리 장치에 관한 것이다. 본 발명에 따른 가변 저항 메모리 장치는 복수의 메모리 셀을 갖는 메모리 셀 어레이; 백그라운드 정보를 저장하는 저장 장치; 및 상기 백그라운드 정보에 따라 상기 복수의 메모리 셀을 백그라운드 데이터로 소거하고, 프로그램 동작 시에 상기 복수의 메모리 셀 중에서 선택된 메모리 셀을 프로그램 데이터로 프로그램하기 위한 제어 회로를 포함한다. 본 발명에 따른 가변 저항 메모리 장치는 소거 동작 시에 메모리 셀을 백그라운드 데이터로 소거하고, 프로그램 동작 시에 특정 데이터만을 프로그램한다. 본 발명에 의하면, 프로그램 동작 시에 프로그램 속도가 현저하게 빨라진다. 또한, 본 발명은 플래시 메모리와 호환할 수 있다.

Description

가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템{RESISTNACE VARIABLE MEMORY DEVICE AND MEMORY SYSTEM PERFORMING FLEXIBLE PROGRAM METHOD}
본 발명은 반도체 메모리 장치에 관한 것으로서, 더욱 상세하게는 가변 저항 메모리 장치 및 그것의 플렉서블 프로그램 방법(flexible program method)에 관한 것이다.
랜덤 액세스(random access)가 가능하고 고집적 및 대용량을 실현할 수 있는 반도체 메모리 장치의 수요는 날로 증가하고 있다. 그러한 반도체 메모리 장치로는, 현재 휴대용 전자기기 등에 주로 사용되는 플래시 메모리(flash memory)가 대표적이다. 그 외에 디램(DRAM)의 커패시터를 불휘발성을 지닌 물질로 대체한 가변 저항 메모리 장치들이 등장하고 있다.
가변 저항 메모리 장치들에는 강유전체 커패시터를 이용한 강유전체 램(ferroelectric RAM; FRAM), 티엠알(TMR; tunneling magneto-resistive) 막을 이용한 마그네틱 램(magnetic RAM; MRAM), 그리고 칼코겐 화합물(chalcogenide alloys)을 이용한 상 변화 메모리 장치(phase change memory device) 등이 있다. 특히, 상 변화 메모리 장치는 그 제조 과정이 비교적 간단하고, 저가로 대용량의 메모리를 구현할 수 있다.
도 1 및 도 2는 가변 저항 메모리 장치의 메모리 셀을 보여준다. 도 1 및 도 2는 상 변화 메모리 장치의 메모리 셀을 예시적으로 보여준다. 도 1을 참조하면, 메모리 셀(10)은 기억 소자(memory element, 11)와 선택 소자(select element, 12)를 포함한다. 기억 소자(11)는 비트 라인(BL)과 선택 소자(12) 사이에 연결되며, 선택 소자(12)는 기억 소자(11)와 접지 사이에 연결된다.
기억 소자(11)는 가변 저항 물질(GST)을 포함한다. 가변 저항 물질(GST)은 Ge-Sb-Te와 같이 온도에 따라 저항이 변하는 소자이다. 가변 저항 물질(GST)은 온도에 따라 2개의 안정된 상태, 즉 결정 상태(crystal state) 및 비정질 상태(amorphous state) 중 어느 하나를 갖는다. 가변 저항 물질(GST)은 비트 라인(BL)을 통해 공급되는 전류에 따라 결정 상태(crystal state) 또는 비정질 상태(amorphous state)로 변한다. 가변 저항 메모리 장치는 가변 저항 물질(GST)의 이러한 특성을 이용하여 데이터를 프로그램한다.
선택 소자(12)는 NMOS 트랜지스터(NT)로 구성된다. NMOS 트랜지스터(NT)의 게이트에는 워드 라인(WL)이 연결된다. 워드 라인(WL)에 소정의 전압이 인가되면, NMOS 트랜지스터(NT)는 턴 온(turn on) 된다. NMOS 트랜지스터(NT)가 턴 온(turn on) 되면, 기억 소자(11)는 비트 라인(BL)을 통해 전류를 공급받는다. 도 1에서는 기억 소자(11)가 비트 라인(BL)과 선택 소자(12) 사이에 연결되어 있다. 그러나 선택 소자(12)가 비트 라인(BL)과 기억 소자(11) 사이에 연결될 수도 있다.
도 2를 참조하면, 메모리 셀(20)은 기억 소자(21)와 선택 소자(22)를 포함한다. 기억 소자(21)는 비트 라인(BL)과 선택 소자(22) 사이에 연결되며, 선택 소자(22)는 기억 소자(21)와 접지 사이에 연결된다. 기억 소자(21)는 도 1의 기억 소자(11)와 동일하다.
선택 소자(22)는 다이오드(D)로 구성된다. 다이오드(D)의 애노드(Anode)에는 기억 소자(21)가 연결되며, 캐소드(Cathode)에는 워드 라인(WL)이 연결된다. 다이오드(D)의 애노드와 캐소드 사이의 전압 차가 다이오드(D)의 문턱 전압보다 높아지면, 다이오드(D)는 턴 온(turn on) 된다. 다이오드(D)가 턴 온 되면, 기억 소자(21)는 비트 라인(BL)을 통해 전류를 공급받는다.
도 3은 도 1 및 도 2에 도시된 가변 저항 물질(GST)의 특성을 설명하기 위한 그래프이다. 도 3에서, 참조 번호 1은 가변 저항 물질(GST)이 비정질 상태(amorphous state)로 되기 위한 조건을 나타내며, 참조 번호 2는 결정 상태(crystal state)로 되기 위한 조건을 나타낸다.
가변 저항 물질(GST)은 T1 시간 동안 용융 온도(melting temperature; Tm)보다 높은 온도로 가열한 뒤 급속히 냉각(quenching)하면 비정질 상태(amorphous state)로 된다. 비정질 상태는 보통 리셋 상태(reset state)라고 부르며, 데이터 '1'을 저장한다. 가변 저항 메모리 장치는 리셋 상태로 프로그램하기 위해 리셋 전류(reset current)를 가변 저항 물질(GST)로 제공한다.
가변 저항 물질(GST)은 결정화 온도(crystallization temperature; Tc)보다 높고 용융 온도(Tm)보다는 낮은 온도에서 T1 보다 긴 T2 동안 가열한 뒤 서서히 냉 각하면 결정 상태(crystal state)로 된다. 결정 상태는 보통 셋 상태(set state)라고도 부르며, 데이터 '0'을 저장한다. 가변 저항 메모리 장치는 셋 상태로 프로그램하기 위해 셋 전류(set current)를 가변 저항 물질(GST)로 제공한다.
종래의 가변 저항 메모리 장치는 프로그램 동작 시에 선택된 모든 메모리 셀에 리셋 전류 또는 셋 전류를 제공한다. 일반적으로 가변 저항 메모리 장치는 프로그램 전류의 공급 능력이 제한되기 때문에, 2비트 단위 또는 4비트 단위로 프로그램 전류를 제공한다. 이것은 종래의 가변 저항 메모리 장치의 프로그램 속도를 느리게 하는 주요 원인이 되고 있다. 특히, 종래의 가변 저항 메모리 장치는 메모리 셀을 셋 상태로 프로그램하는데 많은 시간이 소요된다.
한편, 플래시 메모리 장치는 메모리 블록 내의 모든 메모리 셀을 소거(erase)한 다음에, 선택된 메모리 셀에 데이터를 프로그램한다. 그러나 종래의 가변 저항 메모리 장치는 프로그램 전에 소거 동작을 수행하지 않고, 프로그램 동작 시에 선택된 모든 메모리 셀에 셋 전류 또는 리셋 전류를 제공한다.
종래의 가변 저항 메모리 장치는, 플래시 메모리 장치와 달리, 프로그램 전 소거 동작이 없다. 따라서 종래의 가변 저항 메모리 장치는 프로그램 동작 시에 모든 메모리 셀을 프로그램해야 한다. 이러한 차이점 때문에 종래의 가변 저항 메모리 장치는 플래시 메모리와 호환할 수 없는 문제점이 있다.
본 발명은 상술한 기술적 과제를 해결하기 위해 제안된 것으로, 본 발명의 목적은 쓰기 속도를 빠르게 하는 가변 저항 메모리 장치를 제공하는 데 있다. 본 발명의 다른 목적은 플래시 메모리와 호환할 수 있는 가변 저항 메모리 장치를 제공하는 데 있다.
본 발명에 따른 가변 저항 메모리 장치는 복수의 메모리 셀을 갖는 메모리 셀 어레이; 백그라운드 정보를 저장하는 저장 장치; 및 상기 백그라운드 정보에 따라 상기 복수의 메모리 셀을 백그라운드 데이터로 소거하고, 프로그램 동작 시에 상기 복수의 메모리 셀 중에서 선택된 메모리 셀을 프로그램 데이터로 프로그램하기 위한 제어 회로를 포함한다.
실시 예로서, 상기 저장 장치는 모드 레지스터 또는 퓨즈 박스인 것을 특징으로 한다. 각각의 메모리 셀은 가변 저항 물질을 갖는 기억 소자; 및 상기 메모리 셀을 선택하기 위한 선택 소자를 포함한다. 상기 선택 소자는 상기 기억 소자와 워드 라인 사이에 연결되는 다이오드이다.
다른 실시 예로서, 상기 저장 장치는 칩 소거 커맨드에 응답하여 상기 백그라운드 정보를 저장하고, 상기 백그라운드 정보에 따라 칩 소거 신호를 발생한다. 상기 제어 회로는 상기 칩 소거 신호에 응답하여 상기 복수의 메모리 셀을 상기 백그라운드 데이터로 소거한다. 상기 저장 장치는 프로그램 커맨드 및 프로그램 어드 레스에 응답하여 프로그램 신호를 발생하고, 상기 제어 회로는 상기 프로그램 신호에 응답하여 상기 선택된 메모리 셀을 상기 프로그램 데이터로 프로그램한다.
또 다른 실시 예로서, 상기 제어 회로는 상기 복수의 메모리 셀을 데이터 0으로 소거하고, 상기 선택된 메모리 셀을 데이터 1로 프로그램한다. 또는 상기 제어 회로는 상기 복수의 메모리 셀을 데이터 1로 소거하고, 상기 선택된 메모리 셀을 데이터 0으로 프로그램한다.
본 발명에 따른 가변 저항 메모리 장치의 다른 일면은 복수의 메모리 블록을 갖는 메모리 셀 어레이; 각각의 메모리 블록에 대한 백그라운드 정보를 저장하는 저장 장치; 및 프로그램 동작 전에 상기 백그라운드 정보에 따라 해당 메모리 블록 내의 모든 메모리 셀을 백그라운드 데이터로 소거하기 위한 제어 회로를 포함한다. 상기 제어 회로는 프로그램 동작 시에 상기 해당 메모리 블록 내의 선택된 메모리 셀을 프로그램 데이터로 프로그램한다.
실시 예로서, 상기 저장 장치는 모드 레지스터 또는 퓨즈 박스인 것을 특징으로 한다. 각각의 메모리 셀은 가변 저항 물질을 갖는 기억 소자; 및 상기 메모리 셀을 선택하기 위한 선택 소자를 포함한다.
다른 실시 예로서, 상기 저장 장치는 블록 소거 커맨드 및 블록 어드레스에 응답하여 상기 해당 메모리 블록에 대한 백그라운드 정보를 저장하고, 상기 백그라운드 정보에 따라 블록 소거 신호를 발생한다. 상기 제어 회로는 상기 블록 소거 신호에 응답하여 상기 해당 메모리 블록 내의 메모리 셀을 상기 백그라운드 데이터로 소거한다. 상기 저장 장치는 프로그램 커맨드 및 프로그램 어드레스에 응답하여 프로그램 신호를 발생하고, 상기 제어 회로는 상기 프로그램 신호에 응답하여 상기 선택된 메모리 셀을 상기 프로그램 데이터로 프로그램한다.
본 발명에 따른 메모리 시스템은 가변 저항 메모리 장치; 및 상기 가변 저항 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함한다. 상기 가변 저항 메모리 장치는 복수의 메모리 셀을 갖는 메모리 셀 어레이; 백그라운드 정보를 저장하는 저장 장치; 및 상기 백그라운드 정보에 따라 상기 복수의 메모리 셀을 제 1 데이터로 소거하고, 프로그램 동작 시에 상기 복수의 메모리 셀 중에서 선택된 메모리 셀을 제 2 데이터로 프로그램하기 위한 제어 회로를 포함한다.
본 발명에 따른 가변 저항 메모리 장치는 칩 소거 동작 또는 블록 소거 동작을 통해 메모리 셀을 백그라운드 데이터로 소거하고, 프로그램 동작 시에 특정 데이터만을 프로그램한다. 본 발명에 의하면, 프로그램 동작 시에 프로그램 속도가 현저하게 빨라진다. 또한, 본 발명은 플래시 메모리와 호환할 수 있기 때문에, 메모리 카드, SSD 등과 같은 플래시 메모리를 사용하는 제품에 적용될 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.
도 4는 본 발명에 따른 가변 저항 메모리 장치의 제 1 실시 예를 보여주는 블록도이다. 도 4를 참조하면, 가변 저항 메모리 장치(100)는 메모리 셀 어레 이(110), 어드레스 디코더(120), 어드레스 버퍼(130), 칼럼 선택 회로(140), 쓰기 드라이버(150), 감지 증폭기(155), 데이터 입출력 버퍼(160), 제어 로직(170), 그리고 저장 장치(180)를 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 셀로 구성된다. 예를 들면, 각각의 메모리 셀은 도 1 및 도 2에 도시된 바와 같이, 기억 소자(memory element)와 선택 소자(select element)로 구성된다. 기억 소자는 가변 저항 물질(GST)을 포함하며, 선택 소자는 트랜지스터(NT) 또는 다이오드(D)로 구성된다.
메모리 셀은 가변 저항 물질(GST)의 프로그램 상태에 따라 저항값을 달리한다. 프로그램 상태는 저항이 낮은 결정 상태와 저항이 높은 비정질 상태로 구분된다. 결정 상태는 데이터 0을 저장하며, 셋 상태라고 한다. 비정질 상태는 데이터 1을 저장하며, 리셋 상태라고 한다. 한편, 메모리 셀은 결정 상태와 비정질 상태의 중간에 복수의 중간 상태들(intermediate states)을 갖게 할 수 있다. 이와 같은 멀티 레벨 셀(MLC)은 하나의 메모리 셀에 2 비트 이상의 데이터를 저장할 수 있다.
어드레스 디코더(120)는 워드 라인(WL)을 통해 메모리 셀 어레이(110)와 연결된다. 어드레스 디코더(120)는 외부 어드레스(ADDR)를 디코드하고, 선택된 워드 라인으로 바이어스 전압을 제공한다. 또한, 어드레스 디코더(120)는 비트 라인(BL)을 선택하기 위한 선택 신호(Yi)를 발생한다. 선택 신호(Yi)는 칼럼 선택 회로(140)로 제공된다. 어드레스 버퍼(130)는 외부 어드레스(ADDR)를 입력받고, 어드레스 디코더(120)와 저장 장치(180)로 제공한다.
칼럼 선택 회로(140)는 비트 라인(BL)을 통해 메모리 셀 어레이(110)와 연결 된다. 비트 라인 선택 회로(140)는 어드레스 디코더(120)로부터 제공되는 선택신호(Yi)에 응답하여 비트 라인을 선택한다. 칼럼 선택 회로(140)는 선택 신호(Yi)에 응답하여, 쓰기 동작 시에는 비트 라인(BL)과 데이터 라인(DL)을 연결하고, 읽기 동작 시에는 비트 라인(BL)과 감지 라인(SL)을 연결한다.
쓰기 드라이버(150)는 펄스 제어 신호를 입력받고, 데이터 라인(DL)으로 프로그램 전류(program current)를 제공한다. 펄스 제어 신호는 제어 로직(170)으로부터 제공된다. 프로그램 펄스는 메모리 셀을 데이터 0으로 프로그램하기 위한 셋 전류(set current)와, 데이터 1로 프로그램하기 위한 리셋 전류(reset current)를 포함한다. 또한, 쓰기 드라이버(150)는 MLC 프로그램 동작 시에, 메모리 셀의 멀티 상태에 따라 한 번 또는 그 이상의 프로그램 전류를 제공한다.
쓰기 드라이버(150)는 소거 동작 시에 펄스 제어 신호에 응답하여 메모리 셀 어레이(110) 내의 모든 메모리 셀을 백그라운드 데이터(background data)로 소거한다. 여기에서, 백그라운드 데이터는 0 (또는 셋 상태)일 수도 있고, 1 (또는 리셋 상태)일 수도 있다. 즉, 쓰기 드라이버(150)는 소거 동작 시에 모든 메모리 셀을 데이터 0 또는 데이터 1 중 어느 하나로 소거한다.
한편, 쓰기 드라이버(150)는 프로그램 동작 시에 펄스 제어 신호에 응답하여 메모리 셀 어레이(110) 내의 선택된 메모리 셀을 프로그램한다. 만약, 백그라운드 데이터가 0인 경우에 프로그램 데이터는 1이고, 백그라운드 데이터가 1인 경우에 프로그램 데이터는 0이다. 쓰기 드라이버(150)의 구성 및 동작 원리는 도 13을 참조하여 상세하게 설명된다.
감지 증폭기(155)는 읽기 동작 시에 감지 라인(SL)의 전압과 기준 전압의 차이를 감지하여, 선택된 메모리 셀에 저장된 데이터를 읽어낸다. 여기에서, 기준 전압은 기준 전압 발생회로(미도시)로부터 제공된다. 감지 증폭기(155)는 제어 로직(170)으로부터 제공된 제어 신호에 응답하여 동작한다.
데이터 입출력 버퍼(160)는 입출력 단자(DQ)로부터 데이터를 입력받거나, 입출력 단자(DQ)로 데이터를 출력한다. 입출력 단자(DQ)의 수는 가변 저항 메모리 장치(100)의 종류에 따라 달라진다. 데이터 입출력 버퍼(160)는 데이터 입출력 제어 신호에 응답하여 쓰기 드라이버(150)로 데이터를 제공하거나, 감지 증폭기(155)에서 읽은 데이터를 외부로 출력한다. 데이터 입출력 제어 신호는 제어 로직(170)으로부터 제공된다.
제어 로직(170)은 가변 저항 메모리 장치(100)의 쓰기, 읽기, 소거 동작 등을 제어한다. 소거 동작 시에, 제어 로직(170)은 칩 소거 신호(C_ERS)에 응답하여 펄스 제어 신호를 발생한다. 쓰기 드라이버(150)는 펄스 제어 신호에 응답하여 모든 메모리 셀을 백그라운드 데이터로 소거한다. 쓰기 동작 시에, 제어 로직(170)은 프로그램 신호(PGM, 도 10 참조)에 응답하여 선택된 메모리 셀을 프로그램한다.
저장 장치(180)는 백그라운드 정보(BG, 181)를 저장한다. 저장 장치(180)는 백그라운드 정보(BG, 181)를 모드 레지스터 셋팅(MRS; Mode Register Setting)이나 퓨즈 셋팅(fuse setting) 등을 통해 저장할 수 있다. 여기에서, 백그라운드 정보는 소거 동작 시에 메모리 셀 어레이(110) 내의 모든 메모리 셀을 백그라운드 데이터로 소거하기 위한 정보이다.
저장 장치(180)는 어드레스(ADDR), 데이터(DQ), 그리고 제어 신호(CTRL)를 입력받고, 백그라운드 정보(BG, 181)를 저장한다. 여기에서, 제어 신호(CTRL)는 칩 인에이블 신호(nCE) 및 쓰기 인에이블 신호(nWE) 등을 의미한다. 저장 장치(180)는 제어 신호(CTRL)의 조합에 따라 어드레스(ADDR) 및 데이터(DQ)를 입력받고, 소거 커맨드 또는 프로그램 커맨드 등을 발생한다.
저장 장치(180)는 소거 동작 시에 칩 소거 신호(C_ERS)를 발생한다. 예를 들면, 저장 장치(180)는 쓰기 인에이블 신호(nWE)의 천이에 따라 어드레스(ADDR) 및 데이터(DQ)를 입력받고, 모드 레지스터 셋팅(MRS)을 통해 백그라운드 정보(BG, 181)를 저장하고, 칩 소거 신호(C_ERS)를 발생한다. 저장 장치(180)의 상세한 동작은 도 5를 참조하여 상세히 설명된다.
도 5는 도 4에 도시된 가변 저항 메모리 장치의 칩 소거 동작을 예시적으로 설명하기 위한 타이밍도이다. 도 5를 참조하면, 가변 저항 메모리 장치(100)는 칩 소거 동작을 수행하기 위해 6 사이클의 쓰기 인에이블 신호(nWE)를 필요로 한다.
가변 저항 메모리 장치(100)는 쓰기 인에이블 신호(nWE)의 하이-로우 천이 때마다 어드레스(ADDR)를 입력받고, 로우-하이 천이 때마다 데이터(DQ)를 입력받는다. 소거 셋-업 커맨드(80H)는 두 사이클 후에 인가된다. 그리고 칩 소거 커맨드(10H)는 소거 셋-업 커맨드(80H) 입력되고 두 사이클 후에 인가된다. 칩 소거 신호(C_ERS)는 칩 소거 커맨드에 응답하여 발생한다.
저장 장치(도 4 참조, 180)에 백그라운드 정보를 저장하는 방식은 여러 가지가 있다. 예를 들면, 도 5에 보는 바와 같이 칩 소거 커맨드가 10H이면 백그라운드 정보는 0으로 저장되고, 11H이면 백그라운드 정보는 1로 저장될 수 있다. 또한, 칩 소거 커맨드가 입력된 다음에, 별도로 사이클을 이용하여 백그라운드 정보를 저장 장치(180)에 저장할 수도 있다.
가변 저항 메모리 장치(100)는 칩 소거 신호(C_ERS)에 따라 칩 소거 동작을 수행한다. 칩 소거 신호(C_ERS)는 제어 로직(170)으로 제공된다. 제어 로직(170)은 칩 소거 신호(C_ERS)에 응답하여 칩 소거 동작을 위한 펄스 제어 신호를 발생한다. 가변 저항 메모리 장치(100)는 칩 소거 동작에 따라 메모리 셀 어레이(110) 내의 모든 메모리 셀을 백그라운드 데이터로 소거한다.
도 6은 도 4에 도시된 가변 저항 메모리 장치의 칩 소거 동작을 예시적으로 보여주는 순서도이다. 가변 저항 메모리 장치(100)는 칩 소거 동작을 통해, 메모리 셀 어레이(110) 내의 모든 메모리 셀을 백그라운드 데이터로 소거한다.
S110 단계에서, 가변 저항 메모리 장치(100)에 칩 소거 커맨드(10H)가 인가된다. S120 단계에서, 백그라운드 데이터가 1인지 여부가 판단된다. 저장 장치(180)는 칩 소거 커맨드(10H)를 이용하거나 그 후에 인가되는 데이터를 이용하여 백그라운드 데이터가 1인지 여부를 판단한다.
백그라운드 데이터가 1인 경우에는 메모리 셀 어레이(110) 내의 모든 메모리 셀을 데이터 1로 소거하는 동작이 수행된다(S130). S131 단계에서, 데이터 1을 쓰기 위한 칩 소거 신호(C_ERS)가 발생한다. S132 단계에서, 모드 레지스터 셋팅을 통해 백그라운드 정보(BG, 181)를 저장 장치에 저장한다. 이때 백그라운드 정보(BG)는 하이 레벨로 설정된다. S133 단계에서, 칩 내의 모든 메모리 셀은 데이터 1로 프로그램된다. 즉, 메모리 셀 어레이(110) 내의 모든 메모리 셀은 백그라운드 데이터 1로 소거된다.
반면에, 백그라운드 데이터가 0인 경우에는 메모리 셀 어레이(110) 내의 모든 메모리 셀을 데이터 0으로 소거하는 동작이 수행된다(S140). S141 단계에서, 데이터 0을 쓰기 위한 칩 소거 신호(C_ERS)가 발생한다. S142 단계에서, 모드 레지스터 셋팅을 통해 백그라운드 정보(BG, 181)를 저장 장치에 저장한다. 이때 백그라운드 정보(BG)는 로우 레벨로 설정된다. S143 단계에서, 칩 내의 모든 메모리 셀은 데이터 0으로 프로그램된다. 즉, 메모리 셀 어레이(110) 내의 모든 메모리 셀은 백그라운드 데이터 0으로 소거된다.
다시 도 4를 참조하면, 본 발명에 따른 가변 저항 메모리 장치(100)는 데이터 프로그램 전에, 모든 메모리 셀을 백그라운드 데이터로 소거한다. 본 발명에 의하면, 프로그램 동작 시에 쓰기 속도가 빨라진다. 특히, 상 변화 메모리 장치의 경우에, 모든 메모리 셀을 셋 상태 (또는 백그라운드 데이터 0)으로 소거하면, 프로그램 동작 시에 선택 메모리 셀을 리셋 상태 (또는 프로그램 데이터 1)로 프로그램하기 때문에 쓰기 속도가 매우 빨라진다.
도 7은 본 발명에 따른 가변 저항 메모리 장치의 제 2 실시 예를 보여주는 블록도이다. 도 7을 참조하면, 가변 저항 메모리 장치(200)는 메모리 셀 어레이(210), 어드레스 디코더(220), 어드레스 버퍼(230), 칼럼 선택 회로(240), 쓰기 드라이버(250), 감지 증폭기(255), 데이터 입출력 버퍼(260), 제어 로직(270), 그리고 저장 장치(280)를 포함한다.
메모리 셀 어레이(210)는 복수의 메모리 블록(BLK1~BLKn)으로 구성된다. 각각의 메모리 블록은 복수의 메모리 셀로 구성된다. 각각의 메모리 셀은 가변 저항 물질(GST)의 프로그램 상태에 따라 저항값을 달리한다. 본 발명에 따른 가변 저항 메모리 장치(200)는 메모리 블록 단위로 블록 소거 동작을 수행한다. 가변 저항 메모리 장치(200)의 블록 소거 동작은 이후에 상세하게 설명된다.
어드레스 디코더(220)는 워드 라인(WL)을 통해 메모리 셀 어레이(210)와 연결된다. 어드레스 디코더(220)는 비트 라인(BL)을 선택하기 위한 선택 신호(Yi)를 발생한다. 어드레스 버퍼(230)는 외부 어드레스(ADDR)를 입력받고, 어드레스 디코더(220)와 저장 장치(280)로 제공한다. 칼럼 선택 회로(240)는 비트 라인(BL)을 통해 메모리 셀 어레이(210)와 연결된다.
쓰기 드라이버(250)는 펄스 제어 신호를 입력받고, 메모리 셀을 데이터 0 또는 데이터 1로 프로그램한다. 쓰기 드라이버(250)는 블록 소거 동작 시에 펄스 제어 신호에 응답하여 해당 메모리 블록 내의 모든 메모리 셀을 백그라운드 데이터로 소거한다. 그리고 쓰기 드라이버(250)는 프로그램 동작 시에 펄스 제어 신호에 응답하여 해당 메모리 블록 내의 선택된 메모리 셀을 프로그램한다.
감지 증폭기(255)는 읽기 동작 시에 선택된 메모리 셀에 저장된 데이터를 읽어낸다. 데이터 입출력 버퍼(260)는 입출력 단자(DQ)로부터 데이터를 입력받거나, 입출력 단자(DQ)로 데이터를 출력한다. 제어 로직(270)은 소거 동작 시에, 블록 소거 신호(B_ERS)에 응답하여 펄스 제어 신호를 발생한다. 쓰기 드라이버(250)는 펄스 제어 신호에 응답하여 해당 메모리 블록을 백그라운드 데이터로 소 거한다.
저장 장치(280)는 각각의 메모리 블록에 대한 백그라운드 정보(BG, 281)를 저장한다. 예를 들면, 저장 장치(280)는 제 1 데이터 블록(BLK1)을 0으로 소거하고, 제 2 데이터 블록(BLK2)을 1로 소거한다는 백그라운드 정보를 저장한다. 백그라운드 정보는 모드 레지스터 셋팅(MRS)이나 퓨즈 셋팅 등을 통해 저장될 수 있다.
저장 장치(280)는 어드레스(ADDR), 데이터(DQ), 그리고 제어 신호(CTRL)를 입력받고, 백그라운드 정보(BG, 281)를 저장하며, 블록 소거 신호(B_ERS)를 발생한다. 저장 장치(280)의 블록 소거 동작은 도 8을 참조하여 상세히 설명된다.
도 8은 도 7에 도시된 가변 저항 메모리 장치의 블록 소거 동작을 예시적으로 설명하기 위한 타이밍도이다. 도 8을 참조하면, 소거 셋-업 커맨드(80H)는 두 사이클 후에 인가된다. 그리고 블록 어드레스 및 블록 소거 커맨드(30H)는 소거 셋-업 커맨드(80H) 입력되고 두 사이클 후에 인가된다. 블록 소거 신호(B_ERS)는 블록 소거 커맨드에 응답하여 발생한다.
가변 저항 메모리 장치(200)는 블록 소거 신호(B_ERS)의 발생과 더불어, 저장 장치(280) 내에 백그라운드 정보(BG, 281)를 저장한다. 블록 소거 신호(B_ERS)는 제어 로직(270)으로 제공된다. 제어 로직(270)은 블록 소거 신호(B_ERS)에 응답하여 블록 소거 동작을 수행한다. 가변 저항 메모리 장치(200)는 블록 소거 동작에 따라 해당 메모리 블록 내의 모든 메모리 셀을 백그라운드 데이터로 소거한다.
도 9는 도 7에 도시된 가변 저항 메모리 장치의 블록 소거 동작을 예시적으로 설명하기 위한 순서도이다. 가변 저항 메모리 장치(도 7 참조, 200)는 블록 소 거 동작을 통해, 메모리 블록 단위로 소거 동작을 수행한다.
S210 단계에서, 가변 저항 메모리 장치(200)에 블록 어드레스 및 블록 소거 커맨드가 인가된다. S220 단계에서, 해당 메모리 블록의 백그라운드 데이터가 1인지 여부가 판단된다. 저장 장치(280)는 블록 소거 커맨드 또는 그 후에 인가되는 데이터를 이용하여 백그라운드 데이터가 1인지 여부를 판단한다.
백그라운드 데이터가 1인 경우에는 선택된 메모리 블록 내의 모든 메모리 셀을 데이터 1로 소거하는 동작이 수행된다(S230). S231 단계에서, 데이터 1을 쓰기 위한 블록 소거 신호(B_ERS)가 발생한다. S232 단계에서, 모드 레지스터 셋팅을 통해 백그라운드 정보(BG, 281)를 저장 장치(280)에 저장한다. 이때 백그라운드 정보(BG)는 하이 레벨로 설정된다. S233 단계에서, 선택된 메모리 블록 내의 모든 메모리 셀은 데이터 1로 프로그램된다. 즉, 선택된 메모리 블록 내의 모든 메모리 셀은 백그라운드 데이터 1로 소거된다.
반면에, 백그라운드 데이터가 0인 경우에는 선택된 메모리 블록 내의 모든 메모리 셀을 데이터 0으로 소거하는 동작이 수행된다(S240). S241 단계에서, 데이터 0을 쓰기 위한 블록 소거 신호(B_ERS)가 발생한다. S243 단계에서, 모드 레지스터 셋팅을 통해 백그라운드 정보(BG, 281)를 저장 장치에 저장한다. 이때 백그라운드 정보(BG)는 로우 레벨로 설정된다. S243 단계에서, 선택된 메모리 블록 내의 모든 메모리 셀은 데이터 0으로 프로그램된다. 즉, 선택된 메모리 블록 내의 모든 메모리 셀은 백그라운드 데이터 0으로 소거된다.
다시 도 7을 참조하면, 본 발명에 따른 가변 저항 메모리 장치(200)는 데이 터 프로그램 전에, 해당 메모리 블록 내의 메모리 셀을 백그라운드 데이터로 소거한다. 본 발명에 의하면, 프로그램 동작 시에 쓰기 속도가 빨라진다. 특히, 상 변화 메모리 장치의 경우에, 백그라운드 데이터 0으로 하면 프로그램 동작 시에 쓰기 속도가 현저하게 빨라진다. 일반적으로 상 변화 메모리 장치는 메모리 셀을 리셋 상태보다는 셋 상태로 프로그램하는데 더 많이 시간이 소요되기 때문이다.
한편, 플래시 메모리 장치는 메모리 블록 내의 모든 메모리 셀을 소거(erase)한 다음에, 선택된 메모리 셀을 프로그램한다. 다시 말하면, 플래시 메모리는 모든 메모리 셀을 백그라운드 데이터(background data) 1로 프로그램한 다음에, 선택된 메모리 셀에 데이터 0을 프로그램한다.
본 발명에 따른 가변 저항 메모리 장치는 블록 소거 동작을 수행함으로, 플래시 메모리 장치와 호환할 수 있다. 즉 본 발명에 의하면, 프로그램 동작 전에 메모리 블록 내의 모든 메모리 셀을 백그라운드 데이터로 소거하고, 프로그램 동작 시에 선택된 메모리 셀을 프로그램하기 때문에, 플래시 메모리와 호환할 수 있게 된다. 따라서 본 발명은 플래시 메모리 장치를 사용하는 메모리 카드, SSD(Solid State Disk) 등에 사용될 수 있다.
도 10은 본 발명에 따른 가변 저항 메모리 장치의 플렉서블 프로그램 동작(flexible program operation)을 보여주는 블록도이다. 여기에서 플렉서블 프로그램 동작이란 모든 메모리 셀을 백그라운드 데이터로 소거한 상태에서, 프로그램 동작 시에 선택 메모리 셀만을 프로그램하는 동작을 뜻한다.
도 10을 참조하면, 가변 저항 메모리 장치(300)는 메모리 셀 어레이(310), 어드레스 디코더(320), 어드레스 버퍼(330), 칼럼 선택 회로(340), 쓰기 드라이버(350), 데이터 입출력 버퍼(360), 제어 로직(370), 그리고 저장 장치(380)를 포함한다.
메모리 셀 어레이(310)는 복수의 메모리 셀로 구성된다. 도 10은 예시적으로, 메모리 셀 어레이(310) 내의 모든 메모리 셀이 백그라운드 데이터 1로 소거되고, 하나의 메모리 셀(311)에 데이터 0이 프로그램되는 것을 보여준다. 반대로, 모든 메모리 셀이 백그라운드 데이터 0으로 소거되고, 메모리 셀(311)이 데이터 1로 프로그램될 수도 있다.
어드레스 디코더(320)는 워드 라인(WL0~WLn)을 통해 메모리 셀 어레이(310)와 연결되고, 어드레스 버퍼(330)를 어드레스(ADDR)를 입력받는다. 이때 어드레스(ADDR)는 프로그램을 위한 것이다. 칼럼 선택 회로(340)는 비트 라인(BL0~BLm)을 통해 메모리 셀 어레이(310)와 연결된다. 칼럼 선택 회로(340)는 선택 신호(Yi)에 응답하여 비트 라인(BLm)과 데이터 라인(DL)을 전기적으로 연결한다.
쓰기 드라이버(350)는 펄스 제어 신호(BIAS, P_RST, P_SET)를 입력받고, 메모리 셀을 데이터 0 또는 데이터 1로 프로그램한다. 도 10에서, 쓰기 드라이버(350)는 프로그램 동작 시에 펄스 제어 신호에 응답하여 하나의 메모리 셀(311)을 데이터 0으로 프로그램한다.
종래의 가변 저항 메모리 장치는 프로그램 동작 시에 선택된 메모리 셀을 0이나 1로 프로그램한다. 그러나 본 발명은 프로그램 전에 모든 메모리 셀을 백그라 운드 데이터로 소거하고, 해당 메모리 셀만을 프로그램하는 플렉서블 프로그램 동작을 수행한다. 따라서 본 발명에 의하면, 프로그램 동작 시에 쓰기 속도가 현저하게 빨라지고 전류 소모도 줄어든다. 쓰기 드라이버(350)의 구성 및 동작 원리는 도 13을 참조하여 상세히 설명된다.
제어 로직(370)은 프로그램 동작 시에, 프로그램 신호(PGM)에 응답하여 펄스 제어 신호(BIAS, P_RST, P_SET)를 발생한다. 쓰기 드라이버(350)는 펄스 제어 신호에 응답하여 선택 메모리 셀만을 데이터 0 이나 데이터 1로 프로그램한다.
저장 장치(380)는 소거 동작 시에, 백그라운드 정보(BG, 381)를 저장한다. 저장 장치(380)는 프로그램 동작 시에 백그라운드 정보(BG, 381)를 읽고, 프로그램 신호(PGM)를 발생한다. 저장 장치(380)는 어드레스(ADDR), 데이터(DQ), 그리고 제어 신호(CTRL)를 입력받고, 프로그램 신호(PGM)를 발생한다. 가변 저항 메모리 장치(300)의 플렉서블 프로그램 동작은 도 11을 참조하여 상세히 설명된다.
도 11은 도 10에 도시된 가변 저항 메모리 장치의 플렉서블 프로그램 동작을 예시적으로 설명하기 위한 타이밍도이다. 도 11을 참조하면, 가변 저항 메모리 장치(300)는 플렉서블 프로그램 동작을 수행하기 위해 4 사이클의 쓰기 인에이블 신호(nWE)를 필요로 한다. 프로그램 셋-업 커맨드(A0H)는 두 사이클 후에 인가된다. 그리고 마지막 사이클에서, 프로그램 어드레스 및 프로그램 데이터가 인가된다. 프로그램 신호(PGM)는 프로그램 데이터에 응답하여 발생한다.
가변 저항 메모리 장치(300)는 프로그램 신호(PGM)에 따라 저장 장치(380) 내의 백그라운드 정보(BG, 381)를 읽는다. 프로그램 신호(PGM)는 제어 로직(370)으 로 제공된다. 제어 로직(370)은 프로그램 신호(PGM)에 응답하여 플렉서블 프로그램 동작을 수행한다. 가변 저항 메모리 장치(300)는 플렉서블 프로그램 동작에 따라 선택 메모리 셀만을 프로그램한다.
도 12는 도 10에 도시된 가변 저항 메모리 장치의 플렉서블 프로그램 동작을 예시적으로 설명하기 위한 순서도이다. 가변 저항 메모리 장치(300)는 플렉서블 프로그램 동작을 통해, 쓰기 속도를 빠르게 할 수 있다.
S310 단계에서, 가변 저항 메모리 장치(300)에 프로그램 어드레스 및 프로그램 커맨드가 인가된다. S320 단계에서, 플렉서블 프로그램 동작인지 여부가 판단된다. 저장 장치(380)는 프로그램 커맨드를 통해 노말 프로그램 동작인지 아니면 플렉서블 프로그램 동작인지 여부를 판단한다.
플렉서블 프로그램 동작이 아닌 경우에는 노말 프로그램 동작이 수행된다(S370). 즉, 노말 프로그램 동작이 수행되고(S371), 잘 알려진 프로그램 방식에 따라 선택된 메모리 셀에 데이터 0 또는 데이터 1이 프로그램된다. 플렉서블 프로그램 동작인 경우에는 S330 단계가 수행된다. S330 단계에서, 저장 장치(380)에 저장되어 있는 백그라운드 데이터(381)를 체크한다. S340 단계에서, 백그라운드 데이터(381)가 1인지 여부가 판단된다.
백그라운드 데이터가 0이면, 데이터 1을 프로그램하는 동작이 수행된다(S350). S351 단계에서, 제어 장치(380)는 데이터 1을 쓰기 위한 프로그램 신호(PGM)를 발생한다. S353 단계에서, 선택된 메모리 셀에 데이터 1을 프로그램하는 동작이 수행된다. 제어 로직(370)은 프로그램 신호(PGM)에 응답하여 펄스 제어 신 호(BIAS, P_RST, P_SET)를 발생한다. 쓰기 드라이버(350)는 펄스 제어 신호에 응답하여 선택된 메모리 셀에 데이터 1을 프로그램한다.
반면에, 백그라운드 데이터가 1이면, 데이터 0을 프로그램하는 동작이 수행된다(S360). S361 단계에서, 제어 장치(380)는 데이터 0을 쓰기 위한 프로그램 신호(PGM)를 발생한다. S363 단계에서, 선택된 메모리 셀에 데이터 0을 프로그램하는 동작이 수행된다. 제어 로직(370)은 프로그램 신호(PGM)에 응답하여 펄스 제어 신호(BIAS, P_RST, P_SET)를 발생한다. 쓰기 드라이버(350)는 펄스 제어 신호에 응답하여 선택된 메모리 셀에 데이터 0을 프로그램한다.
도 13은 도 10에 도시된 가변 저항 메모리 장치의 쓰기 드라이버를 보여주는 회로도이다. 도 13을 참조하면, 쓰기 드라이버(350)는 펄스 제어 회로(351), 전류 제어 회로(352), 그리고 전류 구동 회로(353)를 포함한다.
펄스 제어 회로(351)는 제 1 및 제 2 전송 게이트(TG1, TG2), 제 1 내지 제 3 인버터(INV1~INV3)를 포함한다. 전류 제어 회로(352)는 제 1 내지 제 7 트랜지스터(TR1~TR7)를 포함한다. 여기에서, 제 1 내지 제 5 트랜지스터(TR1~TR5)는 NMOS 트랜지스터이고, 제 6 및 제 7 트랜지스터(TR6, TR7)는 PMOS 트랜지스터이다. 전류 구동 회로(353)는 풀 업 트랜지스터(PUTR) 및 풀 다운 트랜지스터(PDTR)를 포함한다.
먼저, 입력 데이터(DATA)가 '0'인 경우를 설명한다. 입력 데이터(DATA)가 '0'이면, 펄스 제어 회로(351)의 제 2 전송 게이트(TG2)는 턴 온 되고, 전류 제어 회로(352)의 제 3 및 제 4 트랜지스터(TR3, TR4)는 턴 오프 된다. 그리고 셋 펄스(P_SET)에 의해, 제 5 트랜지스터(TR5)는 턴 온 되고, 제 7 트랜지스터(TR7) 및 풀 다운 트랜지스터(PDTR)는 턴 오프 된다. 이때 전류 미러 효과에 의해, 제 1 전류 통로를 형성하는 트랜지스터들(TR1, TR2, TR5, TR6)을 통해 흐르는 전류가 풀 업 트랜지스터(PUTR)를 통해 흐른다. 풀 업 트랜지스터(PUTR)를 통해 흐르는 전류는 셋 전류(I_SET)로서, 데이터 라인(DL)을 통해 메모리 셀(MC)로 제공된다.
다음으로, 입력 데이터(DATA)가 '1'인 경우를 설명한다. 입력 데이터(DATA)가 '1'이면, 펄스 제어 회로(351)의 제 1 전송 게이트(TG1) 및 전류 제어 회로(352)의 제 3 및 제 4 트랜지스터(TR3, TR4)는 턴 온 된다. 그리고 리셋 펄스(P_RST)에 의해, 제 5 트랜지스터(TR5)는 턴 온 되고, 제 7 트랜지스터(TR7) 및 풀 다운 트랜지스터(PDTR)는 턴 오프 된다. 이때 전류 미러 효과에 의해, 제 1 전류 통로를 형성하는 트랜지스터들(TR1, TR2, TR5, TR6) 및 제 2 전류 통로를 형성하는 트랜지스터(TR3, TR4, TR5, TR6)를 통해 흐르는 전류가 풀 업 트랜지스터(PUTR)를 통해 흐른다. 풀 업 트랜지스터(PUTR)를 통해 흐르는 전류는 리셋 전류(I_RST)로서, 데이터 라인(DL)을 통해 메모리 셀(MC)로 제공된다.
따라서 리셋 전류(I_RST)는 셋 전류(I_SET)보다 큰 전류 값을 갖는다. 한편, 리셋 펄스(P_RST)는 셋 펄스(P_SET)보다 작은 펄스 폭을 갖는다. 따라서 리셋 전류(I_RST)는 셋 전류(I_SET)보다 큰 전류 값을 갖는 동시에 작은 펄스 폭을 갖는다. 선택된 메모리 셀은 리셋 전류(I_RST) 또는 셋 전류(I_SET)에 의해 각각 리셋 상태 또는 셋 상태로 프로그램된다.
도 14는 도 10에 도시된 가변 저항 메모리 장치의 동작 특성을 정리한 도표 이다. 백그라운드 데이터가 0인 경우에 모드 레지스터 셋팅(MRS)은 하이 레벨로 설정된다. 퓨즈 셋팅인 경우에는 절단(cutting)으로 설정된다. 그리고 소거 동작 시에 모든 메모리 셀은 백그라운드 데이터 0으로 소거되고, 프로그램 동작 시에 선택된 메모리 셀은 데이터 1로 프로그램된다.
백그라운드 데이터가 1인 경우에, 모드 레지스터 셋팅(MRS)은 로우 레벨로 설정된다. 퓨즈 셋팅인 경우에는 절단되지 않은(Not cutting) 연결 상태로 설정된다. 그리고 소거 동작 시에 모든 메모리 셀은 백그라운드 데이터 1로 소거되고, 프로그램 동작 시에 선택된 메모리 셀은 데이터 0으로 프로그램된다. 백그라운드 데이터가 1인 경우에, 가변 저항 메모리 장치(300)는 플래시 메모리와 동일한 방식으로 소거 및 프로그램된다.
백그라운드 데이터가 1인 경우에, 가변 저항 메모리 장치(300)는 선택된 메모리 셀만을 프로그램하기 때문에 종래의 가변 저항 메모리 장치에 비해 쓰기 속도가 현저하게 향상된다. 더욱이 백그라운드 데이터가 0인 경우에는 백그라운드 데이터가 1인 경우보다 대략 5배 정도 쓰기 속도가 빨라진다.
도 15는 본 발명에 따른 가변 저항 메모리 장치를 포함하는 메모리 시스템(400)을 간략히 보여주는 블록도이다. 도 15를 참조하면, 본 발명에 따른 메모리 시스템(400)은 가변 저항 메모리 장치(411) 및 메모리 컨트롤러(412)로 구성되는 반도체 메모리 장치(410), 시스템 버스(450)에 전기적으로 연결된 중앙처리장치(430), 사용자 인터페이스(440), 전원 공급 장치(420)를 포함한다.
가변 저항 메모리 장치(411)에는 사용자 인터페이스(440)를 통해서 제공되거 나 또는, 중앙처리장치(430)에 의해서 처리된 데이터가 메모리 컨트롤러(412)를 통해 저장된다. 반도체 메모리 장치(410)는 반도체 디스크 장치(SSD)로 구성될 수 있으며, 이 경우 메모리 시스템(400)의 쓰기 속도가 획기적으로 빨라질 것이다.
비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 16은 본 발명에 따른 가변 저항 메모리 장치를 포함하는 메모리 시스템의 소프트웨어 구조를 보여주는 다이어그램이다. 도 16을 참조하면, 메모리 시스템의 계층 구조는 애플리케이션(510), 파일 시스템(520), 변환 계층(530), 그리고 가변 저항 메모리(540)를 포함한다.
애플리케이션(510)으로부터 읽기, 쓰기, 소거 등의 요청을 받은 파일 시스템(520)은 읽기, 쓰기, 소거 대상인 섹터의 주소(sector address)를 변환 계층( 530)으로 전달한다. 변환 계층(530)은 섹터 주소를 물리 주소(physical address)로 변환하여 가변 저항 메모리 장치(540)로 전달한다.
도 16에 도시된 바와 같이, 변환 계층(530)은 가변 저항 메모리 장치(540)의 백그라운드 정보를 관리할 수 있다. 즉, 변환 계층(530)은 가변 저항 메모리 장치(540)의 메모리 블록(BLK1~BLKn)에 대응하는 백그라운드 정보(BG1~BGn)를 하며, 앞에서 설명한 칩 소거 동작 또는 블록 소거 동작을 관리한다. 또한, 변환 계층(530)은 백그라운드 정보를 이용하여 플렉서블 프로그램 동작을 관리한다.
본 발명에 따른 가변 저항 메모리 장치는 칩 소거 동작 또는 블록 소거 동작을 통해 메모리 셀을 백그라운드 데이터로 소거하고, 프로그램 동작 시에 특정 데이터만을 프로그램한다. 본 발명에 의하면, 프로그램 동작 시에 프로그램 속도가 현저하게 빨라진다. 또한, 본 발명은 플래시 메모리와 호환할 수 있기 때문에, 메모리 카드, SSD 등과 같은 플래시 메모리를 사용하는 제품에 적용될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1 및 도 2는 가변 저항 메모리 장치의 메모리 셀을 보여주는 개념도이다.
도 3은 가변 저항 물질의 특성을 설명하기 위한 그래프이다.
도 4는 본 발명에 따른 가변 저항 메모리 장치의 제 1 실시 예를 보여주는 블록도이다.
도 5는 도 4에 도시된 가변 저항 메모리 장치의 칩 소거 동작을 예시적으로 설명하기 위한 타이밍도이다.
도 6은 도 4에 도시된 가변 저항 메모리 장치의 동작을 설명하기 위한 순서도이다.
도 7은 본 발명에 따른 가변 저항 메모리 장치의 제 2 실시 예를 보여주는 블록도이다.
도 8은 도 7에 도시된 가변 저항 메모리 장치의 블록 소거 동작을 예시적으로 설명하기 위한 타이밍도이다.
도 9는 도 7에 도시된 가변 저항 메모리 장치의 동작을 설명하기 위한 순서도이다.
도 10은 본 발명에 따른 가변 저항 메모리 장치의 플렉서블 프로그램 동작(flexible program operation)을 보여주는 블록도이다.
도 11은 도 10에 도시된 가변 저항 메모리 장치의 플렉서블 프로그램 동작을 예시적으로 설명하기 위한 타이밍도이다.
도 12는 도 10에 도시된 가변 저항 메모리 장치의 프로그램 동작을 예시적으 로 설명하기 위한 순서도이다.
도 13은 도 10에 도시된 가변 저항 메모리 장치의 쓰기 드라이버 회로를 보여주는 회로도이다.
도 14는 도 10에 도시된 가변 저항 메모리 장치의 동작 특성을 정리한 도표이다.
도 15는 본 발명에 따른 가변 저항 메모리 장치를 포함하는 메모리 시스템(400)을 간략히 보여주는 블록도이다.
도 16은 본 발명에 따른 가변 저항 메모리 장치를 포함하는 메모리 시스템의 소프트웨어 구조를 보여주는 다이어그램이다.

Claims (26)

  1. 복수의 메모리 셀을 갖는 메모리 셀 어레이;
    백그라운드 정보를 저장하는 저장 장치; 및
    상기 백그라운드 정보에 따라 백그라운드 데이터가 상기 복수의 메모리 셀에 기입되도록 상기 복수의 메모리 셀을 소거하고, 프로그램 동작 시에 상기 복수의 메모리 셀 중에서 선택된 메모리 셀을 프로그램 데이터로 프로그램하기 위한 제어 회로를 포함하는 가변 저항 메모리 장치.
  2. 제 1 항에 있어서,
    상기 저장 장치는 모드 레지스터 및 퓨즈 박스 중 어느 하나인 것을 특징으로 하는 가변 저항 메모리 장치.
  3. 삭제
  4. 제 1 항에 있어서,
    각각의 메모리 셀은
    가변 저항 물질을 갖는 기억 소자; 및
    상기 메모리 셀을 선택하기 위한 선택 소자를 포함하는 가변 저항 메모리 장 치.
  5. 삭제
  6. 제 4 항에 있어서,
    상기 저장 장치는 칩 소거 커맨드에 응답하여 칩 소거 신호를 발생하는 가변 저항 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제어 회로는 상기 칩 소거 신호에 응답하여 상기 백그라운드 정보를 저장하고, 상기 복수의 메모리 셀을 상기 백그라운드 데이터로 소거하는 가변 저항 메모리 장치.
  8. 제 7 항에 있어서,
    상기 저장 장치는 프로그램 커맨드 및 프로그램 어드레스에 응답하여 프로그램 신호를 발생하고,
    상기 제어 회로는 상기 프로그램 신호에 응답하여 상기 선택된 메모리 셀을 상기 프로그램 데이터로 프로그램하는 가변 저항 메모리 장치.
  9. 삭제
  10. 삭제
  11. 복수의 메모리 블록을 갖는 메모리 셀 어레이;
    각각의 메모리 블록에 대한 백그라운드 정보를 저장하는 저장 장치; 및
    프로그램 동작 전에 상기 백그라운드 정보에 따라 백그라운드 데이터가 해당 메모리 블록 내의 모든 메모리 셀에 기입되도록 상기 해당 메모리 블록 내의 모든 메모리 셀을 소거하기 위한 제어 회로를 포함하고,
    상기 제어회로는 프로그램 동작시에 상기 해당 메모리 블록 내의 선택된 메모리 셀을 프로그램 데이터로 프로그램하는 가변 저항 메모리 장치.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 제 11 항에 있어서,
    상기 저장 장치는 블록 소거 커맨드 및 블록 어드레스에 응답하여 블록 소거 신호를 발생하고,
    상기 제어 회로는 상기 블록 소거 신호에 응답하여 상기 백그라운드 정보를 저장하고, 상기 해당 메모리 블록 내의 메모리 셀을 상기 백그라운드 데이터로 소거하는 가변 저항 메모리 장치.
  17. 제 16 항에 있어서,
    상기 저장 장치는 프로그램 커맨드 및 프로그램 어드레스에 응답하여 프로그램 신호를 발생하고,
    상기 제어 회로는 상기 프로그램 신호에 응답하여 상기 선택된 메모리 셀을 상기 프로그램 데이터로 프로그램하는 가변 저항 메모리 장치.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 가변 저항 메모리 장치; 및
    상기 가변 저항 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함하고,
    상기 가변 저항 메모리 장치는
    복수의 메모리 셀을 갖는 메모리 셀 어레이;
    백그라운드 정보를 저장하는 저장 장치; 및
    상기 백그라운드 정보에 따라 제 1 데이터가 상기 복수의 메모리 셀에 기입되도록 상기 복수의 메모리 셀을 소거하고, 프로그램 동작 시에 상기 복수의 메모리 셀 중에서 선택된 메모리 셀을 제 2 데이터로 프로그램하기 위한 제어 회로를 포함하는 메모리 시스템.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
KR1020070138978A 2007-12-27 2007-12-27 가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법,그리고 그것을 포함하는 메모리 시스템 KR101365683B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070138978A KR101365683B1 (ko) 2007-12-27 2007-12-27 가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법,그리고 그것을 포함하는 메모리 시스템
US12/318,241 US8218379B2 (en) 2007-12-27 2008-12-23 Semiconductor device having resistance based memory array, method of operation, and systems associated therewith
US12/646,345 US8254158B2 (en) 2007-12-27 2009-12-23 Semiconductor device having resistance based memory array and method of operation associated therewith

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070138978A KR101365683B1 (ko) 2007-12-27 2007-12-27 가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법,그리고 그것을 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20090070841A KR20090070841A (ko) 2009-07-01
KR101365683B1 true KR101365683B1 (ko) 2014-02-20

Family

ID=40798169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070138978A KR101365683B1 (ko) 2007-12-27 2007-12-27 가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법,그리고 그것을 포함하는 메모리 시스템

Country Status (2)

Country Link
US (2) US8218379B2 (ko)
KR (1) KR101365683B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194492B2 (en) * 2008-04-08 2012-06-05 Samsung Electronics Co., Ltd. Variable resistance memory device and system
US8158964B2 (en) 2009-07-13 2012-04-17 Seagate Technology Llc Schottky diode switch and memory units containing the same
KR101795417B1 (ko) 2010-11-08 2017-11-10 삼성전자주식회사 비휘발성 메모리 셀 어레이 및 비휘발성 메모리 장치
US9317473B2 (en) * 2010-12-14 2016-04-19 President And Fellows Of Harvard College Scalable room temperature quantum information processor
US9164888B2 (en) * 2012-12-10 2015-10-20 Google Inc. Using a logical to physical map for direct user space communication with a data storage device
US10318175B2 (en) * 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types
JP6387134B1 (ja) * 2017-03-09 2018-09-05 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001250388A (ja) 2000-03-06 2001-09-14 Fujitsu Ltd 消去動作情報を記憶する不揮発性メモリ
KR20070005823A (ko) * 2005-07-06 2007-01-10 삼성전자주식회사 상 변화 메모리 장치 및 그것의 프로그램 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100342443C (zh) 1995-10-09 2007-10-10 松下电器产业株式会社 光盘条形码形成方法和光盘重放装置
US6351406B1 (en) 1998-11-16 2002-02-26 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
KR100393619B1 (ko) 2001-09-07 2003-08-02 삼성전자주식회사 휴대 단말기의 메모리 장치 및 그 제어방법
US6545906B1 (en) 2001-10-16 2003-04-08 Motorola, Inc. Method of writing to scalable magnetoresistance random access memory element
JP4058322B2 (ja) 2002-10-07 2008-03-05 株式会社ルネサステクノロジ メモリカード
KR100504696B1 (ko) * 2003-02-26 2005-08-03 삼성전자주식회사 블록 소거/프로그램 정보를 저장하기 위한 상태 셀들의어레이를 포함한 낸드 플래시 메모리 장치
JP2005149617A (ja) 2003-11-14 2005-06-09 Sony Corp 不揮発性半導体メモリ装置およびその動作方法
US6849891B1 (en) 2003-12-08 2005-02-01 Sharp Laboratories Of America, Inc. RRAM memory cell electrodes
JP4404625B2 (ja) 2003-12-25 2010-01-27 パナソニック株式会社 情報処理装置および該装置用のromイメージ生成装置
KR100657958B1 (ko) 2005-04-13 2006-12-14 삼성전자주식회사 직렬 연결 구조의 저항 노드들을 갖는 메모리 소자
KR20050107369A (ko) 2005-10-27 2005-11-11 서운식 모바일 기기를 위한 코드 직접 수행기능을 갖는 대용량저장장치 및 제어 방법
JP4594878B2 (ja) 2006-02-23 2010-12-08 シャープ株式会社 可変抵抗素子の抵抗制御方法及び不揮発性半導体記憶装置
JP2008251059A (ja) 2007-03-29 2008-10-16 Toshiba Corp 不揮発性半導体記憶装置およびそのデータ消去方法
US7996599B2 (en) 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
JP2009252255A (ja) * 2008-04-01 2009-10-29 Renesas Technology Corp 不揮発性半導体記憶装置
US8194492B2 (en) * 2008-04-08 2012-06-05 Samsung Electronics Co., Ltd. Variable resistance memory device and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001250388A (ja) 2000-03-06 2001-09-14 Fujitsu Ltd 消去動作情報を記憶する不揮発性メモリ
KR20070005823A (ko) * 2005-07-06 2007-01-10 삼성전자주식회사 상 변화 메모리 장치 및 그것의 프로그램 방법

Also Published As

Publication number Publication date
US20100091553A1 (en) 2010-04-15
US8218379B2 (en) 2012-07-10
US8254158B2 (en) 2012-08-28
KR20090070841A (ko) 2009-07-01
US20090168494A1 (en) 2009-07-02

Similar Documents

Publication Publication Date Title
US8132063B2 (en) Semiconductor device
KR102154296B1 (ko) 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치
JP4191211B2 (ja) 不揮発性メモリ及びその制御方法
US8077496B2 (en) Nonvolatile memory device and method of driving the same
US7349245B2 (en) Non-volatile phase-change memory device and associated program-suspend-read operation
US7656719B2 (en) Phase change memory device generating program current and method thereof
KR101365683B1 (ko) 가변 저항 메모리 장치, 그것의 플렉서블 프로그램 방법,그리고 그것을 포함하는 메모리 시스템
KR101476773B1 (ko) 가변 저항 메모리 장치를 포함하는 반도체 메모리 장치 및메모리 시스템
KR101942275B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
JP2007164964A (ja) 相変化メモリ装置及びそのプログラム方法
KR20070008216A (ko) 구동전압 레벨을 변경할 수 있는 상 변화 메모리 장치
US8451643B2 (en) Semiconductor memory device rewriting data after execution of multiple read operations
KR20110027939A (ko) 상변화 메모리 장치, 이를 구비하는 메모리 시스템 및 이의 프로그램 방법
CN112289359B (zh) 存储装置及操作该存储装置的方法
JP2007250171A (ja) 相変化メモリ装置及びそれのプログラムサスペンド読み出し方法
US11238927B2 (en) Memory device having program current adjustible based on detected holding voltage
US7796441B2 (en) Method of reading configuration data in flash memory device
US7317655B2 (en) Memory cell array biasing method and a semiconductor memory device
US8036057B2 (en) Semiconductor memory device and control method thereof
KR100905166B1 (ko) 상 변화 메모리 장치
KR20090083200A (ko) 워드 라인 전압의 상승을 줄이는 가변 저항 메모리 장치

Legal Events

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