KR20120039528A - 가역적 저항-스위칭 소자들의 프로그램 - Google Patents

가역적 저항-스위칭 소자들의 프로그램 Download PDF

Info

Publication number
KR20120039528A
KR20120039528A KR1020117028600A KR20117028600A KR20120039528A KR 20120039528 A KR20120039528 A KR 20120039528A KR 1020117028600 A KR1020117028600 A KR 1020117028600A KR 20117028600 A KR20117028600 A KR 20117028600A KR 20120039528 A KR20120039528 A KR 20120039528A
Authority
KR
South Korea
Prior art keywords
reversible resistance
switching element
resistance
program voltage
bit line
Prior art date
Application number
KR1020117028600A
Other languages
English (en)
Inventor
디팍 씨. 시커
클라우스 슈그라프
로이 쇼이어라인
Original Assignee
쌘디스크 3디 엘엘씨
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 쌘디스크 3디 엘엘씨 filed Critical 쌘디스크 3디 엘엘씨
Publication of KR20120039528A publication Critical patent/KR20120039528A/ko

Links

Images

Classifications

    • 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
    • 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/0007Digital 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 metal oxide memory material, e.g. perovskites
    • 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/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/0069Writing or programming 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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
    • 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/0076Write operation performed depending on read result
    • 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/0088Write with the simultaneous writing of a plurality of 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/0069Writing or programming circuits or methods
    • G11C2013/009Write using potential difference applied between cell electrodes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/30Resistive cell, memory material aspects
    • G11C2213/32Material having simple binary metal oxide structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/30Resistive cell, memory material aspects
    • G11C2213/34Material includes an oxide or a nitride
    • 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

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Memories (AREA)
  • Static Random-Access Memory (AREA)

Abstract

가역적 저항-스위칭 소자들을 사용하는 저장 시스템 및 그 저장 시스템을 운용하는 방법이 서술된다. 메모리 셀들이 가지는 서로 다른 저항들을 고려하기 위해 프로그램 조건들에 변화를 주는 기법들이 본 명세서에서 개시된다. 이 기법들은 더 적은 횟수의 시도로 메모리 셀들을 프로그램할 수 있으며, 이는 시간 및/또는 전력을 절약할 수 있다. 최악의 전류 및/또는 전력 소비를 감소시키면서 높은 프로그램 대역폭을 달성하기 위한 기법들이 본 명세서에서 개시된다. 한 실시예에서, 최악의 전류 및/또는 전력 소비를 감소시키는 방식으로 복수의 메모리 셀들을 병렬적으로 프로그램하는 페이지 매핑 방식이 제공된다.

Description

가역적 저항-스위칭 소자들의 프로그램{PROGRAMMING REVERSIBLE RESISTANCE SWITCHING ELEMENTS}
본 발명은 데이터 저장 기술에 관한 것이다.
다양한 물질들이 가역적 저항-스위칭 거동을 보여준다. 이들 물질들에는 칼코게나이드(chalcogenide), 카본 폴리머(carbon polymer), 페로브스카이트(perovskite), 및 일부 금속 산화물(metal oxide)과 금속 질화물(metal nitride)이 포함된다. 구체적으로, 단 하나의 금속을 포함하고 신뢰할 수 있는 저항 스위칭 거동을 보여주는 금속 산화물 및 질화물들이 있다. Pagnia와 Sotnick에 의해 저술된 "Bistable Switching in Electroformed Metal-Insulator-Metal Device," Phys. Stat. Sol. (A) 108, 11-65 (1988)에서 서술되어 있는 바와 같이, 이 그룹에는 예를 들어 NiO, Nb2O5, TiO2, HfO2, Al2O3, MgOx, CrO2, VO, BN, 및 AlN이 포함된다. 이 물질들 중 하나로 이루어진 층은 초기 상태, 예를 들어 상대적으로 저-저항(low-resistance) 상태로 형성될 수 있다. 충분한 전압을 인가하면, 상기 물질은 안정적인 고-저항(high-resistance) 상태로 스위칭한다. 이 저항 스위칭은 가역적(reversible)이어서 그 뒤에 적절한 전류나 전압을 인가하면 저항-스위칭 물질을 안정한 저-저항 상태로 되돌리는 역할을 할 수 있다. 이 변환은 여러 번 반복될 수 있다. 일부 물질들의 경우, 초기 상태는 저-저항이 아니라 고-저항 상태이다.
이들 가역적 저항-스위칭 물질들은 비휘발성 메모리 어레이들에서의 용도로 관심을 받고 있다. 예를 들면, 하나의 저항 상태는 데이터 "0"에 해당할 수 있는 반면, 다른 저항 상태는 데이터 "1"에 해당된다. 이들 물질들 중 일부는 둘 이상의 안정한 저항 상태들을 가질 수 있다.
가역적 저항-스위칭 소자들로 형성된 비휘발성 메모리들은 알려져 있다. 예를 들면, 2005년 5월 9일에 출원된 명칭을 "REWRITEABLE MEMORY CELL COMPRISING A DIODE AND A RESISTANCE-SWITCHING MATERIAL"로 하는 미국 특허출원 공개 제2006/0250836호는 금속 산화물이나 금속 질화물과 같은 가역적 저항-스위칭 물질과 직렬 연결된 다이오드(diode)를 포함하는 다시 쓰기 가능한(rewriteable) 비휘발성 메모리 셀을 서술하고 있으며, 상기 특허 문헌은 본 명세서에서 그 전체가 참조로서 포함된다. 이러한 메모리 셀들은 가역적 저항-스위칭을 저-저항 상태에서 고-저항 상태로 변화시키는 하나 이상의 프로그램 신호들을 인가함으로써 프로그램될 수 있으며, 이는 리셋(RESET)한다고 지칭된다. 마찬가지로, 메모리 셀들은 가역적 저항-스위칭을 고-저항 상태에서 저-저항 상태로 변화시키는 하나 이상의 프로그램 신호들을 인가함으로써 프로그램될 수 있으며, 이는 셋(SET)한다고 지칭된다.
하지만, 가역적 저항-스위칭 물질들을 채용한 메모리 디바이스들을 운용하는 것은 어렵다. 구체적으로, 메모리 셀들을 프로그램하는 것은 쉽지 않을 수 있다. 시간 및/또는 전력을 절약하기 위해 상대적으로 적은 프로그램 신호들을 사용하여 메모리 셀들을 리셋(또는 셋)하는 것이 바람직할 수 있다. 그러나, 리셋(또는 셋) 리셋하는 데 필요한 조건들은 메모리 셀마다 다를 수 있다. 그러므로, 동일한 프로그램 조건(programming condition)들을 사용하여 모든 메모리 셀들을 효율적으로 프로그램하는 것은 어려울 수 있다.
또한, 짧은 시간에 많은 수의 메모리 셀들을 프로그램하는 것이 바람직하다. 다시 말해, 높은 프로그램 대역폭(programming bandwidth)이 바람직하다. 하지만, 메모리 디바이스의 최대 전류 및/또는 전력 소비 내에서 유지하면서 높은 프로그램 대역폭을 달성하는 것은 어려울 수 있다.
가역적 저항-스위칭 소자들을 사용하는 저장 시스템 및 그 저장 시스템을 운용하는 방법이 서술된다. 메모리 셀들이 가지는 서로 다른 저항들을 고려하기 위해 프로그램 조건들에 변화를 주는 기법들이 본 명세서에서 개시된다. 이 기법들은 더 적은 횟수의 시도로 메모리 셀들을 프로그램할 수 있으며, 이는 시간 및/또는 전력을 절약할 수 있다. 최악의 전류 및/또는 전력 소비를 감소시키면서 높은 프로그램 대역폭을 달성하기 위한 기법들이 본 명세서에서 개시된다. 한 실시예에서, 페이지 매핑 방식이 최악의 전류 및/또는 전력 소비를 감소시키는 방식으로 복수의 메모리 셀들을 병렬적으로 프로그램하는 데 사용된다.
한 실시예는 비휘발성 저장부의 운용 방법이며 다음을 포함한다. 가역적 저항-스위칭 소자의 임피던스 특성을 표시하는 정보가 결정된다. 적어도 부분적으로 상기 임피던스 특성을 기반으로 가역적 저항-스위칭 소자에 대한 프로그램 전압이 결정된다. 상기 프로그램 전압을 사용하여 가역적 저항-스위칭 소자가 프로그램된다.
한 실시예는 가역적 저항-스위칭 소자와 상기 가역적 저항-스위칭 소자와 통신하는 하나 이상의 관리 회로들을 포함하는 장치이다. 하나 이상의 관리 회로들은 가역적 저항-스위칭 소자의 임피던스 특성을 표시하는 정보를 결정한다. 하나 이상의 관리 회로들은 적어도 부분적으로 상기 임피던스 특성을 기반으로 가역적 저항-스위칭 소자에 대한 프로그램 전압을 결정한다. 하나 이상의 관리 회로들은 상기 프로그램 전압을 사용하여 가역적 저항-스위칭 소자를 프로그램한다.
한 실시예는 가역적 저항-스위칭 소자 그룹들을 포함하는 비휘발성 저장부의 운용 방법이다. 그룹에서 선택된 가역적 저항-스위칭 소자를 프로그램할 때 상기 그룹에 의해 사용되는 전류 및/또는 전력은 그 그룹의 선택된 가역적 저항-스위칭 소자의 위치의 함수이다. 상기 방법은 다음을 포함한다. 비휘발성 저장부에 저장될 데이터 유닛이 수신된다. 상기 데이터 유닛을 서로 다른 그룹들에 있는 가역적 저항-스위칭 소자들로 병렬적으로 프로그램할 때 최악의 전류 및/또는 전력 소비를 최소화하기 위해 가역적 저항-스위칭 소자들의 위치를 기반으로 상기 데이터 유닛이 서로 다른 그룹들에 있는 가역적 저항-스위칭 소자들로 매핑된다. 상기 매핑을 기반으로 서로 다른 그룹들에 있는 가역적 저항-스위칭 소자들이 병렬적으로 프로그램된다.
한 실시예는 다수의 블록들을 가지며 각 블록은 가역적 저항-스위칭 소자들을 가지는 비휘발성 저장 디바이스이다. 각 블록은 워드 라인들, 워드 라인 드라이버들, 비트 라인들, 및 비트 라인 드라이버들을 포함한다. 각 가역적 저항-스위칭 소자는 워드 라인들 중 하나와 비트 라인들 중 하나에 연결된다. 또한, 각 가역적 저항-스위칭 소자는 비트 라인 드라이버들 중 하나와 워드 라인 드라이버들 중 하나와 관련된다. 비휘발성 저장 디바이스는 가역적 저항-스위칭 소자들과 통신하는 하나 이상의 관리 회로들을 가진다. 하나 이상의 관리 회로들은 블록들 중 제1 블록에 있는 제1 가역적 저항-스위칭 소자와 블록들 중 제2 블록에 있는 제2 가역적 저항-스위칭 소자를 동시에 프로그램한다. 제1 가역적 저항-스위칭 소자가 그와 관련된 비트 라인 드라이버 또는 워드 라인 드라이버 중 하나 또는 모두로부터 있는 정도가 제2 가역적 저항-스위칭 소자가 그와 관련된 비트 라인 드라이버 또는 워드 라인 드라이버 중 하나 또는 모두로부터 있는 정도보다 더 멀다.
도 1은 가역적 저항-스위칭 소자를 갖는 메모리 셀의 한 실시예의 간략화된 투시도(perspective view)이다.
도 2는 복수의 도 1의 메모리 셀들로 형성된 제1 메모리 레벨의 일부분의 간략화된 투시도이다.
도 3은 3차원 메모리 어레이의 일부분의 간략화된 투시도이다.
도 4는 3차원 메모리 어레이의 일부분의 간략화된 투시도이다.
도 5a는 메모리 시스템의 한 실시예의 블록도이다.
도 5b는 베이(bay)들의 한 실시예의 개략도를 도시한 것이다.
도 6은 메모리 셀의 상태를 읽을 수 있는 회로를 도시한 것이다.
도 7은 메모리 셀들의 예시적인 셋 및 리셋 저항 분포들을 도시한 것이다.
도 8은 메모리 셀을 프로그램할 때 사용되는 전기 회로의 일부분의 개략적인 표현이다.
도 9는 메모리 셀을 프로그램하는 프로세스의 한 실시예를 예시한 순서도이다.
도 10은 가역적 저항-스위칭 소자의 임피던스(impedance) 특성을 결정하는 프로세스의 한 실시예를 예시한 순서도이다.
도 11은 임피던스 특성으로부터 결정된 프로그램 조건들을 사용하여 메모리 셀을 프로그램하는 프로세스의 한 실시예를 예시한 순서도이다.
도 12a는 비트 라인 드라이버와 워드 라인 드라이버 모두에 가까이 있는 비휘발성 저장 소자를 프로그램할 때 워드 라인들과 비트 라인들에 인가되는 신호들의 한 실시예의 회로도를 도시한 것이다.
도 12b는 비트 라인 드라이버와 워드 라인 드라이버 모두로부터 멀리 있는 비휘발성 저장 소자를 프로그램할 때 워드 라인들과 비트 라인들에 인가되는 신호들의 한 실시예의 회로도를 도시한 것이다.
도 13은 최악의 전력 또는 전류 소비를 최소화하도록 메모리 셀들을 프로그램하는 프로세스의 한 실시예를 예시한 순서도이다.
도 14는 페이지 매핑 방식을 기반으로 메모리 셀들을 프로그램하기 위한 프로세스의 한 실시예를 도시한 것이다.
가역적 저항-스위칭 소자를 갖는 메모리 셀들을 포함하는 메모리 시스템이 제공된다. 가역적 저항-스위칭 소자들이 가지는 서로 다른 저항들을 고려하여 프로그램 조건들을 다르게 하는 다양한 시스템 및 방법들이 개시된다. 예를 들면, 그 메모리 셀이 리셋(또는 셋)되기 전에 시도하여야 하는 프로그램 횟수를 줄이기 위해 프로그램되고 있는 메모리 셀의 가역적 저항-스위칭 소자의 저항이 적절한 프로그램 전압을 결정하는 데 사용될 수 있다. 최악의 전류 및/또는 전력 소비를 감소시키면서 높은 프로그램 대역폭을 달성하기 위한 다양한 시스템 및 방법들이 본 명세서에서 개시된다. 예를 들면, 한 그룹의 메모리 셀들(예컨대, 블록) 내에서 선택된 메모리 셀을 프로그램할 때 그 그룹의 전체 메모리 셀들에 의해 소비되는 전력은 그 그룹 내의 선택된 메모리 셀의 위치의 함수일 수 있다. 한 실시예에서, 페이지 매핑 방식(page mapping scheme)이 제공되며, 모든 그룹들에 대하여 최악의 전류 및/또는 전력 소비를 감소시키는 방식으로 복수의 메모리 셀들을 병렬로 프로그램하는 데 사용된다. 가역적 저항-스위칭 소자를 갖는 예시적인 메모리 셀과 이러한 메모리 셀들을 프로그램하기 위한 시스템이 아래에서 설명된다. 하지만, 유의할 점은 본 명세서에서 개시된 시스템 및 방법들은 아래에서 설명된 예시적인 메모리 셀 및 시스템으로만 제한되는 것은 아니라는 것이다.
메모리 셀 및 시스템
도 1은 제1 전도체(206)와 제2 전도체(208) 사이에 스티어링 소자(steering element)(204)와 직렬로 연결되는 가역적 저항-스위칭 소자(202)를 포함하는 메모리 셀(200)의 한 실시예의 간략화된 투시도이다. 가역적 저항-스위칭 소자(202)는 둘 이상의 상태들 사이에서 가역적으로 스위칭할 수 있는 저항률(resistivity)을 가지는 가역적 저항-스위칭 물질(230)을 포함한다. 예를 들면, 가역적 저항-스위칭 물질은 제조시에는 초기의 고-저항률 상태에 있을 수 있으며, 이는 제1 물리적 신호를 인가하면 저-저항률 상태로 스위칭할 수 있다. 예를 들면, 디바이스는 제1의 양의 에너지, 전하, 열, 전압, 전류 또는 다른 현상의 인가에 응답하여 상태들을 스위칭할 수 있다. 제2의 양의 에너지, 전하, 열, 전압, 전류 또는 다른 현상을 인가하면 가역적 저항-스위칭 물질을 고-저항률 상태로 되돌릴 수 있다. 대체가능한 것으로, 가역적 저항-스위칭 소자는 제조시에는 초기의 저-저항 상태에 있을 수 있으며, 이는 적절한 에너지, 전하, 열, 전압, 전류 또는 다른 현상을 인가하면 고-저항 상태로 가역적으로 스위칭한다. 메모리 셀에서 사용될 때, 하나의 저항 상태는 이진수 "0"을 나타낼 수 있는 반면 다른 저항 상태는 이진수 "1"을 나타낼 수 있다. 하지만, 둘 이상의 데이터/저항 상태들이 사용될 수 있다. 예를 들면, 수많은 가역적 저항-스위칭 물질들과 가역적 저항-스위칭 물질들을 채용한 메모리 셀들의 동작이 미국 특허출원 공개 제2006/0250836호에 서술되어 있으며, 상기 특허 문헌은 앞에서 본 명세서에 포함된 바 있다.
한 실시예에서, 고-저항률 상태에서 저-저항률 상태로 저항을 스위칭시키는 프로세스는 가역적 저항-스위칭 소자(202)를 셋(SET)한다고 지칭된다. 저-저항률 상태에서 고-저항률 상태로 저항을 스위칭시키는 프로세스는 가역적 저항-스위칭 소자(202)를 리셋(RESET)한다고 지칭된다. 고-저항률 상태는 이진 데이터 "0"과 관련될 수 있고 저-저항률 상태는 이진 데이터 "1"과 관련된다. 다른 실시예들에서, 셋하는 것과 리셋하는 것 및/또는 데이터 인코딩이 서로 뒤바뀔 수 있다.
일부 실시예들에서는, 가역적 저항-스위칭 물질(230)은 금속 산화물로 형성될 수 있다. 다양한 서로 다른 금속 산화물들이 사용될 수 있다. 한 예에서, 니켈 산화물(nickel oxide)이 사용될 수 있다. 가역적 저항-스위칭 물질을 사용하여 메모리 셀을 제조하는 것에 대한 자세한 정보는 2007년 6월 29일에 출원된 명칭을 "Memory Cell That Employs A Selectively Deposited Reversible Resistance Switching Element and Methods of Forming The Same"로 하는 미국 특허출원 공개 제2009/0001343호에서 찾을 수 있으며, 상기 특허 문헌은 본 명세서에서 그 전체가 참조로서 포함된다.
가역적 저항-스위칭 소자(202)는 전극들(232, 234)을 포함한다. 전극(232)은 금속 산화물 가역적 저항-스위칭 물질(230)과 전도체(208) 사이에 위치된다. 한 실시예에서, 전극(232)은 백금(platinum)으로 만들어진다. 전극(234)은 금속 산화물 가역적 저항-스위칭 물질(230)과 다이오드(204) 사이에 위치된다. 한 실시예에서, 전극(234)은 티타늄 질화물(Titanium Nitride)로 만들어지고, 장벽 층(barrier layer)으로서 역할한다.
스티어링 소자(204)는 다이오드일 수 있으며, 또는 가역적 저항-스위칭 소자(202) 양단의 전압 및/또는 가역적 저항-스위칭 소자(202)를 통한 전류 흐름을 선택적으로 제한함으로써 비-저항성 전도(non-ohmic conduction)를 보여주는 다른 적합한 스티어링 소자일 수 있다. 이런 방식으로, 메모리 셀(200)은 이차원 또는 삼차원 메모리 어레이의 일부로서 사용될 수 있고, 어레이의 다른 메모리 셀들의 상태에 영향을 주지 않고 데이터를 메모리 셀(200)로 쓰기 및/또는 메모리 셀(200)로부터 읽기 할 수 있다. 다이오드의 n-영역이 p-영역 위에 있어서 위를 향하거나 또는 다이오드의 p-영역이 n-영역 위에 있어서 아래를 향하든지 간에, 다이오드(204)는 수직의 다결정질(polycrystalline) p-n 또는 p-i-n 다이오드와 같은 임의의 적합한 다이오드를 포함할 수 있다.
일부 실시예들에서, 다이오드(204)는 폴리실리콘(polysilicon), 다결정질 실리콘-게르마늄 합금(polycrystalline silicon-germanium alloy), 폴리게르마늄(polygermanium) 또는 임의의 다른 적합한 물질과 같은 다결정질 반도체 물질로 형성될 수 있다. 예를 들면, 다이오드(204)는 고농도 도핑된(highly doped) n+ 폴리실리콘 영역(242), n+ 폴리실리콘 영역(242) 위에 저농도 도핑(lightly doped)되거나 또는 진성의(intrinsic) 폴리실리콘 영역(244), 및 진성 영역(244) 위에 고농도 도핑된 p+ 폴리실리콘 영역(246)을 포함할 수 있다. 일부 실시예들에서, 예를 들어 2005년 12월 9일에 출원된 명칭을 "DEPOSITED SEMICONDUCTOR STRUCTURE TO MINIMIZE N-TYPE DOPANT DIFFUSION AND METHOD OF MAKING"으로 하는 미국 특허출원 공개 제2006/0087005호에서 서술되어 있는 바와 같이, n+ 폴리실리콘 영역(242)에서 진성 영역(244)으로 도펀트 이동(dopant migration)을 방지 및/또는 감소시키기 위해 얇은(예컨대, 수백 옹스트롬(angstrom) 이하의) 게르마늄 및/또는 실리콘-게르마늄 합금 층(실리콘-게르마늄 합금 층을 사용할 때에는 대략 10% 이상의 게르마늄을 가짐)(미도시됨)이 n+ 폴리실리콘 영역(242) 상에 형성될 수 있으며, 상기 특허 문헌은 본 명세서에서 그 전체가 참조로서 포함된다. n+ 영역과 p+ 영역의 위치들이 서로 뒤바뀔 수 있다는 것은 이해될 것이다.
다이오드(204)가 증착된 실리콘(예컨대, 비정질(amorphous) 또는 다결정질)으로부터 제조될 때, 증착된 실리콘을 제조시의 저-저항률 상태에 두기 위하여 실리사이드 층(silicide layer)이 다이오드 상에 형성될 수 있다. 증착된 실리콘을 저-저항률 상태로 스위칭시키는 데에는 큰 전압이 필요한 것이 아니기 때문에 이러한 저-저항률 상태는 보다 용이하게 메모리 셀을 프로그램하는 것을 감안한 것이다.
전도체들(206, 208)은 텅스텐(tungsten), 임의의 적절한 금속, 고농도 도핑된 반도체 물질, 전도성 실리사이드(silicide), 전도성 실리사이드-게르마나이드(silicide-germanide), 전도성 게르마나이드 등과 같은 임의의 적합한 전도성 물질을 포함할 수 있다. 도 1의 실시예에서, 전도체들(206, 208)은 레일(rail) 형상이고 서로 다른 방향으로(예컨대, 서로에 대해 실질적으로 수직으로) 연장된다. 다른 전도체 형상들 및/또는 구성들도 사용될 수 있다. 일부 실시예들에서, 디바이스 성능을 개선하고 및/또는 디바이스 제조에 도움을 주도록 장벽 층들, 접착(adhesion) 층들, 반사 방지 코팅들(antireflection coatings) 및/또는 기타 층(미도시됨)이 전도체들(206, 208)과 함께 사용될 수 있다.
도 1에서 가역적 저항-스위칭 소자(202)는 스티어링 소자(204) 위에 위치된 것처럼 도시되어 있지만, 대체가능한 실시예들에서, 가역적 저항-스위칭 소자(202)가 스티어링 소자(204) 아래에 위치될 수 있다는 것은 이해될 것이다.
도 2는 복수의 도 1의 메모리 셀들(200)로 형성된 제1 메모리 레벨(214)의 일부분의 간략화된 투시도이다. 간결함을 위해, 가역적 저항-스위칭 소자(202), 다이오드(204) 및 장벽 층(213)은 별도로 도시되지 않았다. 메모리 어레이(214)는 복수의 메모리 셀들이 연결되는(도시된 것처럼) 복수의 워드 라인들(제1 전도체들(206))과 복수의 비트 라인들(제2 전도체들(208))을 포함하는 "교차점(cross-point)" 어레이이다. 다중 레벨의 메모리와 같은 다른 메모리 어레이 구성들이 이용될 수 있다.
도 3은 제2 메모리 레벨(220) 아래에 위치된 제1 메모리 레벨(218)을 포함하는 모놀리식(monolithic) 삼차원 어레이(216)의 일부분의 간략화된 투시도이다. 도 3의 실시예에서, 각 메모리 레벨(218, 220)은 교차점 어레이로 된 복수의 메모리 셀들(200)을 포함한다. 추가 층들(예컨대, 레벨간 유전체)이 제1 메모리 레벨과 제2 메모리 레벨(218, 220) 사이에 있을 수 있지만, 간결함을 위해 도 3에서 도시되지 않았다는 것은 이해될 것이다. 추가 레벨들의 메모리와 같은 다른 메모리 어레이 구성들도 이용될 수 있다. 도 3의 실시예에서, 예를 들어 p-i-n 다이오드들이 p-도핑된 영역을 다이오드의 하부 또는 상부에 가지도록 채용되는지 여부에 따라 모든 다이오드들은 위 또는 아래와 같은 동일한 방향을 "향할(point)" 수 있으며, 이는 다이오드 제조를 단순화한다.
일부 실시예들에서, 메모리 레벨들은 미국 등록특허 제6,952,030호, "High-Density Three-Dimensional Memory Cell"에서 서술되어 있는 바와 같이 형성될 수 있으며, 상기 특허 문헌은 본 명세서에서 그 전체가 참조로서 포함된다. 예를 들면, 제1 메모리 레벨의 상부 전도체들이 도 4에 도시된 바와 같이 제1 메모리 레벨 위에 위치된 제2 메모리 레벨의 하부 전도체들로서 이용될 수 있다. 이러한 실시예들에서, 2007년 3월 27일에 출원된 명칭을 "Large Array Of Upward Pointing P-I-N Diodes Having Large And Uniform Current"로 하는 미국 특허출원 제11/692,151호에서 서술되어 있는 바와 같이, 인접 메모리 레벨들 상의 다이오드들은 바람직하게는 서로 반대 방향들을 향하며, 상기 특허 문헌은 본 명세서에서 그 전체가 참조로서 포함된다. 예를 들면, 제1 메모리 레벨(218)의 다이오드들은 화살표(A1)에 의해 표시된 바와 같이 위를 향하는 다이오드들(예컨대, p 영역들이 다이오드들의 하부에 있음)일 수 있는 반면, 제2 메모리 레벨(220)의 다이오드들은 화살표(A2)에 의해 표시된 바와 같이 아래를 향하는 다이오드들(예컨대, n 영역들이 다이오드들의 하부에 있음)일 수 있으며, 또는 이와 반대의 경우일 수도 있다.
모놀리식 삼차원 메모리 어레이는 중간에 오는 기판들 없이 웨이퍼(wafer)와 같은 단일 기판 위에 다중 메모리 레벨들이 형성되는 것이다. 하나의 메모리 레벨을 형성하는 층들이 기존의 레벨이나 레벨들의 층들 위에 직접 증착되거나 성장된다. 대조적으로, Leedy의 미국 등록특허 제5,915,167호, "Three Dimensional Structure Memory"에서와 같이, 적층된 메모리들은 별도의 기판들 상에 메모리 레벨들을 형성하고 메모리 레벨들을 서로 위에 접착함으로써 만들어졌다. 기판들은 접착하기 전에 얇게 되거나 제거될 수도 있지만, 초기에 메모리 레벨들이 별도의 기판들 위에서 형성되기 때문에, 이러한 메모리들은 진정한 모놀리식 삼차원 메모리 어레이들이 아니다.
도 1 내지 도 4는 개시된 배치에 따른 원통형의 메모리 셀들과 레일형의 전도체들을 도시하고 있다. 하지만, 본 명세서에서 설명된 기술은 임의의 한 특정 구조의 메모리 셀로만 제한되는 것은 아니다. 다른 구조들도 또한 가역적 저항-스위칭 물질을 포함하는 메모리 셀들을 형성하는 데 사용될 수 있다. 예를 들면, 미국 등록특허 제6,952,043호, 미국 등록특허 제6,951,780호, 미국 등록특허 제6,034,882호, 미국 등록특허 제6,420,215호, 미국 등록특허 제6,525,953호, 및 미국 등록특허 제7,081,377호는 가역적 저항-스위칭 물질을 사용하는 데 적합한 메모리 셀 구조의 예들을 제공한다.
도 5a는 본 명세서에서 서술되는 기술을 구현할 수 있는 메모리 시스템(300)의 한 예를 도시한 블록도이다. 메모리 시스템(300)은 전술된 바와 같이 메모리 셀들의 이차원 또는 삼차원 어레이일 수 있는 메모리 어레이(302)를 포함한다. 한 실시예에서, 메모리 어레이(302)는 모놀리식 삼차원 메모리 어레이이다. 메모리 어레이(302)의 어레이 단자 선들(terminal lines)은 행(row)들로서 편성되는 여러 층(들)의 워드 라인들, 및 열(column)들로서 편성되는 여러 층(들)의 비트 라인들을 포함한다. 하지만, 다른 방향들로도 또한 구현될 수 있다.
메모리 시스템(300)은 행 제어 회로(row control circuitry)(320)를 포함하며, 그 출력들(308)은 메모리 어레이(302)의 각각의 워드 라인들에 연결된다. 행 제어 회로(320)는 시스템 제어 로직 회로(system control logic circuitry)(330)로부터 하나 이상의 다양한 제어 신호들과 M개의 행 어드레스 신호들의 그룹을 수신하고, 전형적으로 읽기(read) 및 프로그램(program)(예컨대, 셋과 리셋) 동작들 모두를 위한 회로들, 예컨대 행 디코더들(row decoders)(322), 어레이 단자 드라이버들(array terminal drivers)(324), 및 블록 셀렉트 회로(block select circuitry)(326)를 포함할 수 있다. 메모리 시스템(300)은 또한 열 제어 회로(column control circuitry)(310)를 포함하며, 그 입력/출력들(306)은 메모리 어레이(302)의 각각의 비트 라인들에 연결된다. 열 제어 회로(306)는 시스템 제어 로직(330)으로부터 하나 이상의 다양한 제어 신호들과 N개의 열 어드레스 신호들의 그룹을 수신하고, 전형적으로 열 디코더들(312), 어레이 단자 수신기들 또는 드라이버들(314), 블록 셀렉트 회로(316) 뿐만 아니라 읽기/쓰기 회로(read/write circuitry), I/O 다중화기(multiplexer)들을 포함할 수 있다. 시스템 제어 로직(330)은 호스트로부터 데이터와 명령들을 수신하고 출력 데이터를 호스트에 제공한다. 다른 실시예들에서, 시스템 제어 로직(330)은 별도의 제어기 회로로부터 데이터와 명령들을 수신하고 출력 데이터를 제어기 회로에 제공하며, 제어기 회로는 호스트와 통신한다. 시스템 제어 로직(330)은 메모리 시스템(300)의 동작을 제어하기 위한 하나 이상의 스테이트 머신들(state machines), 레지스터들(registers) 및 다른 제어 로직을 포함할 수 있다.
메모리 어레이를 포함하는 집적 회로들에서는 보통 어레이가 다수의 서브-어레이(sub-array)들 또는 블록들로 세분된다. 또한 블록들은 예를 들어 16, 32 또는 서로 다른 개수의 블록들을 포함하는 베이(bay)들로 함께 그룹화될 수 있다. 삼차원 메모리의 각 블록은 많은 층들의 메모리 셀들을 가질 수 있다. 예를 들면, 블록은 8개 층들을 포함할 수 있다. 각 층은 수백 또는 수천 개의 비트 라인들 및 워드 라인들을 포함할 수 있다. 예를 들면, 한 층은 약 1000개의 비트 라인들과 약 8000개의 워드 라인들을 가질 수 있다. 일부 구현예들에서, 각 비트 라인과 관련된 비트 라인 드라이버가 있다. 유의할 점은 특정 드라이버가 둘 이상의 비트 라인들 상이에 공유될 수 있다는 것이다. 또한 유의할 점은 특정 비트 라인이 그와 관련된 드라이버를 반드시 단 하나만 가질 필요는 없다는 것이다. 일부 구현예들에서, 일부 드라이버들은 물리적으로 비트 라인들의 한 끝에 위치되고 다른 드라이버들은 비트 라인들의 다른 끝에 위치된다.
빈번하게 사용되는 바와 같이, 서브-어레이는 일반적으로 디코더들, 드라이버들, 감지 증폭기들, 및 입/출력 회로들에 연결되는 연속된 워드 라인들과 비트 라인들을 가지는 연속된 그룹의 메모리 셀들이다. 이렇게 하는 이유는 다양하다. 예를 들면, 워드 라인들과 비트 라인들을 통과할 때 이러한 라인들의 저항 및 커패시턴스(capacitance) 때문에 발생하는 신호 지연들(delays)(즉, RC 지연들)은 큰 어레이에서는 매우 상당할 수 있다. 이 RC 지연들은 각 워드 라인 및/또는 각 비트 라인의 길이를 감소시키도록 큰 어레이를 더 작은 그룹의 서브-어레이들로 세분함으로써 감소될 수 있다. 또 다른 예로서, 한 그룹의 메모리 셀들에 대한 액세스(access)와 관련된 전력은 특정 메모리 사이클(memory cycle) 동안에 동시에 액세스할 수 있는 메모리 셀들의 개수의 상한을 좌우할 수 있다. 결과적으로, 큰 메모리 어레이는 종종 동시에 액세스되는 메모리 셀들의 개수를 감소시키도록 더 작은 서브-어레이들로 세분된다. 그럼에도, 설명의 편의를 위해, 일반적으로 디코더들, 드라이버들, 감지 증폭기들, 및 입/출력 회로들에 연결되는 연속된 워드 라인들과 비트 라인들을 가지는 연속된 그룹의 메모리 셀들을 지칭하는 데에 있어서 어레이는 또한 서브-어레이와 동일한 의미로 사용될 수 있다. 집적 회로는 하나 이상의 메모리 어레이를 포함할 수 있다.
위에서 언급된 바와 같이, 메모리 디바이스의 저장 소자들은 서로 다른 세트들 또는 유닛(unit)들로 편성될 수 있다. 하나의 가능한 접근법에서, 저장 소자들은 4, 8, 16, 32 또는 64 베이들과 같이 다수의 베이들로 편성되며, 각 베이는 예컨대 32 블록들, 64 블록들, 또는 어떤 다른 개수의 블록들을 포함한다. 도 5b는 2개의 베이의 저장 소자들 세트에 대한 편성을 도시한 것이다. 이 예에서, 각 베이는 사용자 데이터를 저장하기 위한 32개의 블록들과 2개의 스페어(spare) 블록들을 가진다.
일부 구현예들에서, 메모리 어레이를 프로그램할 때 하나 이상의 베이가 동시에 프로그램되며, 이는 프로그램 대역폭(programming bandwidth)을 증가시키는 역할을 할 수 있다. 예를 들면, 2개의 서로 다른 베이들에 있는 블록 0의 하나 이상의 메모리 셀들이 병렬적으로 프로그램될 수 있다. 앞서 언급된 바와 같이, 특정 블록에서 너무 많은 메모리 셀들을 동시에 프로그램하는 것은 어려울 수 있다. 그러므로, 서로 다른 베이들의 메모리 셀들을 동시에 프로그램하는 것은 프로그램 대역폭을 증가시킬 수 있다. 하지만, 아래에서 더 논의되는 바와 같이, 최악의 전력(또는 전류) 소비를 고려하여 높은 프로그램 대역폭을 달성하기 위해 각 베이에서 적절한 메모리 셀들을 선택하는 경우에 여전히 난점들이 있다. 간략히 말하면, 비록 단일 베이에서 동시에 프로그램되는 메모리 셀들이 너무 많지는 않다 하더라도, 모든 베이들의 모든 메모리 셀들을 동시에 프로그램하는 동안 소비되는 총 전력(또는 전류)은 최대 전류(또는 전력) 소비 미만으로 유지되어야 한다.
메모리 어레이에 쓰기를 할 때, 한 페이지의 데이터는 서로 다른 부분들로 분할될 수 있으며, 서로 다른 부분들은 서로 다른 베이들로 쓰여질 수 있다. 예를 들면, 각 페이지는 2056 바이트를 포함할 수 있다. 한 예로서, 페이지는 4개의 부분들로 분할될 수 있으며, 각 부분은 서로 다른 베이로 쓰여진다. 일부 구현예들에서, 페이지는 각 베이에서 동일 번호의 블록에 쓰여진다. 예를 들면, 페이지의 일부분은 복수의 서로 다른 베이들 각각에 있는 블록 0에 쓰여질 수 있다. 하지만, 일부 구현예들에서, 페이지는 베이들의 개수로 분할된다. 예를 들면, 만일 32개의 베이들이 있다면, 페이지는 32개의 조각들로 분할된다(동일한 크기일 수 있음). 그런 다음, 각 조각은 서로 다른 베이들의 동일 번호의 블록에 쓰여진다. 유의할 점은 반드시 모든 데이터가 동시에 프로그램될 필요는 없다는 것이다. 예를 들면, 각 베이에서 한 비트만큼만 동시에 프로그램될 수 있다. 일부 구현예들에서, 복수의 비트들이 각 베이로 동시에 쓰여진다. 또한, 유의할 점은 각 베이에서 동일 번호의 블록이 동시에 쓰여진다는 것은 절대적인 필수요건이 아니라는 것이다.
실시예들은 페이지 매핑 방식(page mapping scheme)에 의해 메모리 셀들을 동시에 프로그램할 때 사용되는 최악의 전류 및/또는 전력 소비를 감소시킨다. 유의할 점은 특정한 메모리 셀을 프로그램할 때 한 그룹의 메모리 셀들(예컨대, 블록)에 의해 사용되는 전류 및/또는 전력은 그 그룹 내에서 메모리 셀의 위치의 함수일 수 있다는 것이다. 예를 들면, 비트 라인 드라이버 및/또는 워드 라인 드라이버로부터 멀리 있는 메모리 셀을 프로그램할 때 소비되는 총 전류/전력은 그 드라이버들 중 하나 또는 모두에 가까이 있는 메모리 셀을 프로그램할 때보다 더 높을 수 있다. 이 추가 전력/전류 소비의 원인은 선택되지 않은 메모리 셀들과 관련된 다이오드의 역바이어스(reverse bias) 전류이며, 이는 아래에서 논의될 것이다. 한 실시예는 페이지를 서로 다른 블록들(서로 다른 베이들에 있는 블록들일 수 있음)에 있는 메모리 셀들로 매핑하는 페이지 매핑 방식이다. 예시를 위해, 제1 블록의 제1 메모리 셀을 프로그램할 때 제1 블록에 의해 사용되는 전류/전력은 상대적으로 높을 수 있다. 최악의 전류/전력 소비를 감소시키기 위해, 제2 블록의 제2 메모리 셀을 프로그램할 때 제2 블록에 의해 사용되는 전류/전력이 상대적으로 낮도록 프로그램하기 위한 메모리 셀이 제2 블록에서 선택된다. 다시 말해, 페이지 매핑 방식은 서로 다른 블록들이 각각 상대적으로 높은 양의 전류/전력을 소비하는 경우 그 블록들에 있는 메모리 셀들을 병렬적으로 프로그램하는 것을 피한다. 따라서, 페이지 매핑 방식은 최악의 전류/전력 소비를 감소시킨다. 최악의 전류/전력 소비를 감소시킴으로써 더 많은 수의 비트들이 병렬적으로 프로그램될 수 있다. 따라서, 메모리 디바이스의 최악의 전류 및/또는 전력 소비 내에서 유지된 상태에서 프로그램 대역폭이 증가될 수 있다.
일부 실시예들에서, 프로그램하는 동안 사용되는 비트 라인 전압들과 워드 라인 전압들은 프로그램되고 있는 메모리 셀의 어드레스의 함수이다. 예를 들면, 선택된 비트 라인의 전압과 선택되지 않은 워드 라인들의 전압은 프로그램되고 있는 메모리 셀의 어드레스의 함수일 수 있다. 하지만, 다른 방식이 사용될 수도 있다. 다시 도 5a를 보면, 어드레스 의존적인 전압 및 전류 발생기(465)가 메모리 셀 어드레스를 기반으로 비트 라인 전압들(VBL _ AD) 및 워드 라인 전압들(VWL _ AD)을 발생시킨다. 시스템 제어 로직(330)은 행 어드레스와 열 어드레스 정보를 발생기(465)에 제공한다. 발생기(465)는 비트 라인 전압 및 워드 라인 전압을 각각 행 제어 회로(310) 및 열 제어 회로(320)에 제공한다. 프로그램하는 동안 이들 전압들을 인가하는 이유는 메모리 셀의 어드레스가 그 메모리 셀이 그 비트 라인 드라이버 및 그 워드 라인 드라이버로부터 떨어져 있는 거리와 상관될 수 있다는 사실과 관련이 있다. 어드레스 의존적인 전압들(및 기준 전류)은 메모리 셀과 그 드라이버들 사이의 서로 다른 길이들로 인한 비트 라인들 및 워드 라인들에서의 서로 다른 전압 강하들을 보상해줄 수 있다. 더 상세한 내용은 아래에서 논의된다.
일부 실시예들에서, 서로 다른 프로그램 전압들이 서로 다른 베이들에 있는 선택된 비트 라인들에 동시에 인가될 수 있다. 예를 들면, 메모리 셀들을 프로그램할 때, 최악의 전력 소비를 감소시키기 위하여, 한 베이의 선택된 비트 라인에 다른 베이의 선택된 비트 라인보다 더 낮은 전압이 인가될 수 있다. 뿐만 아니라, 서로 다른 전압들이 서로 다른 베이들에 있는 선택되지 않은 워드 라인들에 동시에 인가될 수 있다. 따라서, 서로 다른 비트 라인 전압들 및 서로 다른 워드 라인 전압들을 제공하기 위해 하나 이상의 어드레스 의존적인 전압 및 전류 발생기(465)가 있을 수 있다.
일부 실시예들에서, 메모리 셀들을 읽을 때 사용되는 기준 전류는 읽고 있는 메모리 셀의 어드레스의 함수이다. 어드레스 의존적인 전압 및 전류 발생기(465)는 어드레스 의존적인 전류 IREF _ AD를 발생시키며, 이는 메모리 셀들을 읽을 때 사용되도록 열 제어 회로(310)에 제공된다.
한 실시예에서, 도 5a에 도시된 모든 컴포넌트들이 단일 집적회로 상에 배치된다. 예를 들면, 시스템 제어 로직(330), 열 제어 회로(310), 및 행 제어 회로(320)가 기판의 표면 상에 형성될 수 있고 메모리 어레이(302)는 그 기판 위에(따라서 시스템 제어 로직(330), 열 제어 회로(310) 및 행 제어 회로(320) 위에) 형성된 모놀리식 삼차원 메모리 어레이이다. 일부 경우들에서는, 제어 회로의 일부분이 메모리 어레이(302)의 일부와 동일한 층에 형성될 수 있다.
전술된 바와 같이, 가역적 저항-스위칭 소자(202)는 둘 이상의 상태들 사이에서 가역적으로 스위칭될 수 있다. 예를 들면, 가역적 비저항-스위칭 물질은 제조시에는 초기의 고-저항률 상태에 있을 수 있으며, 이는 제1의 양의 에너지, 전하, 열, 전압 및/또는 전류를 인가하면 저-저항률 상태로 스위칭될 수 있다. 제2의 양의 에너지, 전하, 열, 전압 및/또는 전류를 인가하면 가역적 저항-스위칭 물질을 고-저항률 상태로 되돌릴 수 있다.
도 6은 메모리 셀의 상태를 읽기 위한 한 실시예를 예시하는 회로를 도시한 것이다. 도 6은 메모리 셀들(450, 452, 454, 456)을 포함하여 메모리 어레이의 일부분을 도시한 것이며, 이들 모두는 도 1 내지 도 4의 실시예들에 근거할 수 있다. 많은 비트 라인들 중 2개와 많은 워드 라인들 중 2개가 도시되어 있다. 비트 라인들 중 하나에 대한 읽기 회로는 트랜지스터(458)를 통해 비트 라인에 연결되는 것으로 도시되어 있으며, 이 트랜지스터는 해당 비트 라인을 선택하거나 선택하지 않기 위해 열 디코더(312)에 의해 공급되는 게이트 전압에 의해 제어된다. 트랜지스터(458)는 비트 라인을 데이터 버스에 연결한다. 쓰기 회로(460)(시스템 제어 로직(330)의 일부임)는 데이터 버스에 연결된다. 트랜지스터(462)는 데이터 버스에 연결되고 클램프 제어 회로(clamp control circuit)(464) (시스템 제어 로직(330)의 일부임)에 의해 제어되는 클램프 디바이스로서 동작한다. 트랜지스터(462)는 또한 비교기(comparator)(466)와 기준 전류 공급(current supply) IREF에 연결된다. 비교기(466)의 출력은 데이터 출력 단자(시스템 제어 로직(330), 제어기 및/또는 호스트로)와 데이터 래치(468)에 연결된다. 쓰기 회로(460)는 또한 데이터 래치(468)에 연결된다.
가역적 저항-스위칭 소자의 상태를 읽기 시도할 때, 모든 워드 라인들은 먼저 Vread(예컨대, 대략 2 V)로 바이어스되고 모든 비트 라인들은 접지된다. 그런 다음 선택된 워드 라인이 접지로 당겨진다(pull). 예시적인 목적에서, 이 논의에서는 메모리 셀(450)이 읽기를 위해 선택된다고 가정할 것이다. 하나 이상의 선택된 비트 라인들이 데이터 버스(트랜지스터(458)를 턴-온(turn on)함으로써)와 클램프 디바이스(~2 볼트 + Vt를 수신하는 트랜지스터(462))를 통해 Vread로 당겨진다. 클램프 디바이스의 게이트는 Vread 위에 있지만 비트 라인을 Vread 부근으로 유지하도록 제어된다. VSENSE 노드로부터 트랜지스터(462)를 통하여 선택된 메모리 셀에 의해 전류가 인출된다. VSENSE 노드는 또한 고-저항률 상태의 전류와 저-저항률 상태의 전류 사이에 있는 기준 전류 IREF를 수신한다. VSENSE 노드는 셀 전류와 기준 전류 IREF 사이의 전류 차이와 일치하도록 움직인다. 비교기(466)는 VSENSE 전압을 읽기 Vref 전압과 비교함으로써 데이터 출력 신호를 발생시킨다. 만일 메모리 셀 전류가 IREF 보다 크다면, 메모리 셀은 저-저항률 상태에 있고 VSENSE에서의 전압은 VREF보다 낮을 것이다. 만일 메모리 셀 전류가 IREF 보다 작다면, 메모리 셀은 고-저항률 상태에 있고 VSENSE에서의 전압은 VREF보다 높을 것이다. 비교기(466)로부터의 데이터 출력 신호는 데이터 래치(468)에 래치된다. 일부 실시예들에서, 기준 전류는 메모리 셀의 어드레스에 근거한다.
유의할 점은 도 6의 회로는 메모리 셀이 어느 상태에 있는지를 판별하기 위한 것으로만 제한되는 것이 아니라는 것이다. IREF를 적절히 선택하여, 메모리 셀의 저항이 어떠한 임의의 저항과도 비교될 수 있다. 본 명세서에서 일부 실시예들은 메모리 셀의 저항이 프로그램 전압을 결정하는 데 사용되는 임피던스(impedance) 특성을 결정하기 위한 저항보다 높은지 아니면 낮은지 여부를 판별하기 위해 도 6의 회로를 사용한다.
앞서 논의된 바와 같이, 메모리 셀들은 저-저항의 "셋(SET)" 상태로 또는 고-저항의 "리셋(RESET)" 상태로 프로그램될 수 있다. 도 7은 메모리 셀들의 가역적 저항-스위칭 소자들의 2개의 예시적인 저항 분포들을 도시한 것이다. 이 예에서 셋 메모리 셀들의 저항 범위는 약 5 kOhm 내지 100 kOhm 이다. 리셋 상태에서 가역적 저항-스위칭 소자의 최저 저항은 100 kOhm보다 몇 배 더 클 수 있다. 한 예로서, 리셋 상태에 대한 최저 저항은 50 MOhm일 수 있다. 유의할 점은 저항의 범위는 메모리 셀들의 물질 및 구성에 따라 상당히 바뀔 수 있다는 것이다. 또한 유의할 점은 도 7에서는 단지 2개의 서로 다른 상태들만이 도시되어 있지만, 가역적 저항-스위칭 소자들을 2개 이상의 상태들로 프로그램하는 것도 가능할 수 있다는 것이다. 즉, 추가의 저항 범위들이 다른 상태들을 표현하는 데 사용될 수 있다.
메모리 셀을 "읽기(read)"할 때, 가역적 저항-스위칭 소자의 정확한 저항을 판별할 필요는 없다. 셋 상태와 리셋 상태 사이에 저항의 큰 격차가 있을 수 있으므로, 도 6의 회로를 사용하여 읽기를 할 때, IREF 값은 가역적 저항-스위칭 소자가 가지는 저항이 100 kOhm과 50 MOhm 사이의 어떤 곳에서 선택된 저항보다 높은지 낮은지 여부를 판별하도록 선택될 수 있다. 유의할 점은 모든 메모리 셀들에 대하여 정확히 동일한 IREF 값을 사용한다고 해서 반드시 가역적 저항-스위칭 소자의 저항이 정확히 동일한 저항보다 높은지/낮은지 여부를 판별하는 것은 아니라는 것이다. 예를 들면, 블록의 한 위치에 있는 메모리 셀에 대하여, ICELL > IREF는 저항이 5 MOhm 미만이라는 것을 의미할 수 있다. 하지만, 블록의 다른 위치에 있는 메모리 셀에 대하여, ICELL > IREF는 저항이 5.1 MOhm 미만이라는 것을 의미할 수 있다. 유의할 점은 일부 실시예들에서 IREF는 가역적 저항-스위칭 소자 저항의 보다 정확한 판별을 고려하도록 메모리 셀 위치(예컨대, 어드레스)의 함수라는 것이다.
셋 메모리 셀을 리셋 상태로 프로그램하는 것은 그 저항을 적어도 목표 저항으로 올리는 것을 수반한다. 예를 들면, 도 7을 보면, 메모리 셀에 대한 목표 리셋 저항은 적어도 50 MOhm일 수 있다. 가역적 저항-스위칭 소자 저항이 적어도 이 목표 저항에 도달할 때까지 하나 이상의 프로그램 신호들이 메모리 셀에 연결된 회로들에 인가된다. 한 구현예에서, 프로그램 전압은 메모리 셀에 연결된 비트 라인에 인가된다. 그런 다음, 가역적 저항-스위칭 소자가 적어도 목표 저항에 있는지 여부를 판별하기 위해 메모리 셀의 전도 전류가 IREF와 비교된다. 프로그램 신호가 메모리 셀을 리셋하지 않았을 수도 있다. 즉, 저항이 목표 저항에 도달하지 않았다. 이에 대한 한가지 가능한 이유는 프로그램 전압이 충분히 높지 않았기 때문이다. 하지만, 유의할 점은 메모리 셀을 리셋하는 것은 제공되는 전압의 함수라기보다는 메모리 셀로 제공되는 전력량의 함수일 수 있다는 것이다. 만일 메모리 셀에 대한 제1 리셋 시도가 실패라면, 적어도 목표 저항에 도달할 때까지 또 다른 시도가 행해진다. 만일 메모리 셀을 리셋하는 데 전압이 사용되고 있다면, 다음 프로그램 전압은 제1 전압보다 클 수 있으며, 메모리 셀이 프로그램될 때까지 이와 같이 진행된다.
적은 프로그램 사이클들로 목표 저항에 도달하는 것은 시간과 전력을 모두 절약할 수 있기 때문에 유리할 수 있다. 하지만, 메모리 셀에 전기적으로 연결된 다른 소자들의 임피던스로 인해, 프로그램 전압의 전부가 선택된 메모리 셀로 인가되는 것은 아니다. 도 8을 보면, 비트 라인 드라이버가 선택된 비트 라인의 한 끝에 전압을 제공하고 워드 라인 드라이버가 선택된 워드 라인의 한 끝을 접지시키고 있다. 선택된 비트 라인은 저항 RBL을 가지며, 이는 메모리 셀과 비트 라인 드라이버 사이의 비트 라인 길이의 함수이다. 선택된 워드 라인은 저항 RWL을 가지며, 이는 메모리 셀과 워드 라인 드라이버 사이의 워드 라인 길이의 함수이다. 비트 라인 커패시턴스 CBL은 비트 라인과 인접한 비트 라인들과 같은 다른 전도성 소자들 사이의 기생(parasitic) 커패시턴스라는 것을 표시하도록 점선으로 도시되어 있다. 워드 라인 커패시턴스 CWL은 워드 라인과 인접 워드 라인들과 같은 다른 전도성 소자들 사이의 기생 커패시턴스라는 것을 표시하도록 점선으로 도시되어 있다. 유의할 점은 회로는 간략화된 것이며 전압 강하를 유발할 수 있는 다른 소자들이 있을 수 있다는 것이다. 예를 들면, 비트 라인 드라이버의 입력과 프로그램 전압을 발생시키는 회로 사이에 다른 회로가 있을 수 있다. 비트 라인 드라이버가 VPROG를 인가하고 워드 라인 드라이버가 워드 라인의 끝을 접지시킨 결과 메모리 셀이 전도 전류 ICELL을 가진다고 가정하면, 식 (1)과 같이 쓸 수 있다(정상 상태의 경우).
VPROG = (RBL * ICELL) + (VDIODE) + (VSE) + (RWL * ICELL) (1)
식 (1)에서, VSE는 가역적 저항-스위칭 소자 양단의 전압이다. 따라서, 프로그램 전압의 전부가 가역적 저항-스위칭 소자 양단에 걸리는 것이 아니다. 만일 가역적 저항-스위칭 소자의 저항이 비트 라인 저항 및/또는 워드 라인 저항과 같은 다른 저항들과 비교하여 작다고 하면, 프로그램 전압의 상당한 부분이 비트 라인 및/또는 워드 라인에 걸쳐 손실된다. 한 예로서, 최악의 경우의 총 저항이 50 kOhm일 수 있다. 최악의 경우의 저항이란 메모리 셀이 그 비트 라인 드라이버로부터 가장 멀리 있고 그 워드 라인 드라이버로부터 가장 멀리 있을 때 그 메모리 셀을 프로그램하는 경우 가역적 저항-스위칭 소자 저항을 제외한 저항을 가리킨다. 최상의 경우의 저항은 실질적으로 더 낮을 수 있는데, 최상의 경우의 저항이란 메모리 셀이 그 비트 라인 드라이버에 가장 가까이 있고 그 워드 라인 드라이버에 가장 가까이 있을 때 그 메모리 셀을 프로그램하는 경우를 가리킨다. 메모리 셀의 어드레스에 따라, 비트 라인 및 워드 라인의 결합 저항은 상당한 범위를 가질 수 있다.
게다가, 가역적 저항-스위칭 소자 그 자체의 저항도 셋 메모리 셀에 따라 상당히 바뀔 수 있다. 다시 셋 메모리 셀들에 대한 예시적인 저항 분포를 보면, 저항은 5 kOhm 내지 100 kOhm일 수 있다. 저항 범위의 하단에 있는 메모리 셀들의 경우, 그 저항은 비트 라인 및 워드 라인의 결합 저항에 비하여 매우 작을 수 있다. 따라서, 프로그램 전압의 많은 부분이 선택된 비트 라인 및/또는 선택된 워드 라인을 통해 손실된다. 앞서 언급된 바와 같이, 메모리 셀을 리셋하는 것은 메모리 셀에 제공되는 전력의 함수일 수 있다. 도 8의 회로를 보면, 서로 다른 저항들을 가지는 가역적 저항-스위칭 소자들에 제공되는 전력에 대하여 다음을 관찰할 수 있다(RCELL은 가역적 저항-스위칭 소자 저항임).
VPROG = (RBL + RW) * ICELL + VDIODE + RCELL * ICELL (2)
식 (2)를 ICELL에 대해 풀면
ICELL = (VPROG - VDIODE)/(RCELL + RBL + RW) (3)
메모리 셀로 제공되는 전력(PCELL)은 ICELL^2 * RCELL로서 표현될 수 있으므로,
PCELL = [(VPROG - VDIODE)/(RCELL + RBL + RW)]^2 * RCELL (4)
만일 가역적 저항-스위칭 소자의 저항이 5 kOhm이고 비트 라인 및 워드 라인의 결합 저항이 50 kOhm이라면, 가역적 저항-스위칭 소자에 제공되는 전력에 관한 식 (5) 및 식 (6)은 다음과 같다.
PCELL = [(VPROG - VDIODE)/(5 kOhm + 50 kOhm)]^2 * 5 kOhm (5)
PCELL = (VPROG - VDIODE )^2 / 605 kOhm (6)
가역적 저항-스위칭 소자 저항이 100 kOhm인 경우에는 식 (7) 및 식 (8)과 같이 쓸 수 있다.
PCELL = [(VPROG - VDIODE)/(100 kOhm + 50 kOhm)]^2 * 100 kOhm (7)
PCELL = (VPROG - VDIODE)^2 / 225 kOhm (8)
그러므로, 가역적 저항-스위칭 소자에 제공되는 전력은 5 kOhm 가역적 저항-스위칭 소자와 비교할 때 100 kOhm 가역적 저항-스위칭 소자의 경우가 상당히 더 많을 수 있다(동일한 프로그램 전압과 비트 라인/워드 라인 저항이 주어진다면). 결과적으로, 동일한 전력을 가역적 저항-스위칭 소자에 제공하기 위해서는 5 kOhm 가역적 저항-스위칭 소자가 100 kOhm 가역적 저항-스위칭 소자보다 상당히 더 높은 프로그램 전압을 필요로 할 수 있다.
본 명세서에서 개시된 실시예들은 프로그램하기에 앞서 가역적 저항-스위칭 소자의 실제 저항을 추정하기 위한 측정을 한다. 그런 다음, 가역적 저항-스위칭 소자에 연결된 다른 소자들(예컨대, 선택된 비트 라인 및 워드 라인)의 주지의 또는 추정된 저항을 기반으로 메모리 셀을 프로그램하기 위한 적절한 전압이 결정된다. 메모리 셀의 다이오드와 비트 라인 및 워드 라인 드라이버들과 같은 다른 소자들도 결정에 있어서 고려될 수 있다. 일부 실시예들에서, 비트 라인 및 워드 라인의 커패시턴스가 고려될 수 있다. 프로그램하기에 앞서 가역적 저항-스위칭 소자를 그 저항에 관계없이 프로그램하도록 대략 동일한 전력이 제공되는 정도로 프로그램 전압이 결정될 수 있다. 유의할 점은 각 가역적 저항-스위칭 소자에 동일한 프로그램 전력이 제공될 필요는 없다는 것이다. 예를 들면, 높은 프로그램 전력은 낮은 저항을 갖는 가역적 저항-스위칭 소자들에 대해 바람직할 수 있다.
도 9는 메모리 셀의 가역적 저항-스위칭 소자의 임피던스 특성을 기반으로 메모리 셀을 프로그램하기 위한 절차(900)의 한 실시예를 도시한 것이다. 한 구현예에서, 가역적 저항-스위칭 소자가 절차(900) 전에는 셋 상태에 있다. 절차(900)에 대해 논의할 때, 가역적 저항-스위칭 소자가 절차(900)에 앞서 셋되어 있다가 절차(900) 동안 리셋되는 예가 사용될 것이다. 하지만, 이것은 예시를 위한 것이라는 점은 이해될 것이다. 단계(902)에서, 가역적 저항-스위칭 소자의 임피던스 특성이 결정된다. 유의할 점은 정확한 임피던스가 결정되어야 할 필요는 없다는 것이다. 한 구현예에서, 임피던스 특성은 가역적 저항-스위칭 소자 저항이 셋 상태에서 상대적으로 높은지 또는 상대적으로 낮은지 여부이다. 한 실시예에서, 임피던스 특성을 결정하기 위해 메모리 셀의 전도 전류가 한계 전류(demarcation current)(IREF)보다 높은지 또는 낮은지 여부에 대한 판별이 이루어진다. 예를 들면, 한계 전류는 가역적 저항-스위칭 소자의 저항이 특정 저항(예컨대, 50 kOhm)보다 높은지 또는 낮은지 여부를 판별하기에 적합할 수 있다.
유의할 점은 메모리 셀과 직렬 연결된 저항(도 8 참조)은 메모리 셀 어드레스의 함수일 수 있기 때문에, 만일 모든 메모리 셀들에 대하여 동일한 IREF가 사용된다면, 메모리 셀들의 주소는 ICELL이 IREF를 초과하는 저항에 영향을 준다. 다시 말해, ICELL이 동일한 IREF를 초과하기 위해 한 가역적 저항-스위칭 소자는 45 kOhm보다 낮아야 할 수 있고 다른 가역적 저항-스위칭 소자는 65 kOhm보다 낮아야 할 수 있다. 일부 실시예들에서, 이 인자를 보상해 주기 위해 임피던스 특성을 결정하기 위한 IREF는 메모리 셀 어드레스의 함수이다. 하지만, IREF가 반드시 메모리 셀 어드레스의 함수일 필요는 없다. 따라서, 각 가역적 저항-스위칭 소자의 저항이 반드시 동일한 테스트 저항과 비교될 필요는 없다. 다른 식으로 말하면, 가역적 저항-스위칭 소자 저항이 셋 저항 분포 내에서 상대적으로 높은지 상대적으로 낮은지 여부를 알면 그것은 임피던스 특성에 대한 충분한 정보일 수 있다. 임피던스 특성을 결정하는 데 대한 상세한 내용은 아래에서 설명된다.
단계(904)에서, 하나 이상의 프로그램 조건들이 임피던스 특성을 기반으로 결정된다. 프로그램 조건들은 프로그램 전압을 포함하며 선택되지 않은 워드 라인 전압과 같은 하나 이상의 다른 전압들을 포함할 수 있다. 예를 들면, 만일 가역적 저항-스위칭 소자의 저항이 셋 상태에서 상대적으로 높다면, 제1 프로그램 전압이 사용된다. 하지만, 만일 저항이 셋 상태에서 상대적으로 낮다면, 제2 프로그램 전압이 사용된다. 전형적으로, 높은 프로그램 전압은 저항이 낮을 때 사용된다.
한 실시예에서, 메모리 셀의 어드레스는 메모리 셀과 비트 라인 드라이버 및 워드 라인 드라이버 사이의 선택된 비트 라인 및 선택된 워드 라인 부분들의 저항을 결정하는 데 사용된다. 이 저항값은 프로그램 전압 결정에 고려된다. 예를 들면, 만일 메모리 셀이 비트 라인 드라이버 및 워드 라인 드라이버 모두에 가까이 있다면, 비트 라인 드라이버 및 워드 라인 드라이버 모두로부터 멀리 있는 메모리 셀과 비교할 때 조금 더 낮은 프로그램 전압이 사용될 수 있다. 다음의 예는 예시를 위해 사용될 것이다. 각각 5 kOhm 저항을 가지는 것으로 결정된 2개의 메모리 셀들을 고려해 보자. 한 메모리 셀에 대한 비트 라인/워드 라인 결합 저항은 25 kOhm일 수 있지만, 다른 메모리 셀에 대한 비트 라인/워드 라인 결합 저항은 50 kOhm일 수 있다. 적절한 프로그램 전압을 결정할 때 전압 분배 효과(voltage divider effect)(도 8 참조)가 고려되어 50 kOhm의 경우에 더 높은 프로그램 전압이 사용된다.
하지만, 유의할 점은 어드레스 의존적인 비트 라인/워드 라인 저항이 프로그램 전압의 계산에 사용되는 것이 필수요건은 아니라는 것이다. 예를 들면, 동일한 비트 라인 및 워드 라인 저항이 모든 메모리 셀들에 대한 계산에 사용될 수 있다. 한 예로서, 프로그램 전압은 낮은 저항(예컨대, 20 kOhm 미만)을 갖는 가역적 저항-스위칭 소자들의 경우 상대적으로 높고, 높은 저항(예컨대, 20 kOhm 초과)을 갖는 가역적 저항-스위칭 소자들의 경우 상대적으로 낮다. 이 예에서, 프로그램 전압이 반드시 메모리 셀의 어드레스를 기반으로 조정될 필요는 없다.
단계(906)에서, 앞서 결정된 하나 이상의 프로그램 조건들을 사용하여 메모리 셀이 프로그램된다. 논의된 바와 같이, 프로그램 조건들은 프로그램 전압을 포함한다. 한 실시예에서, 프로그램 전압이 선택된 비트 라인에 인가된다. 전압이 가역적 저항-스위칭 소자 저항에 맞게 조정되었기 때문에, 메모리 셀의 저항은 원하는 상태(예컨대, 리셋)에 도달할 가능성이 더 높아야 한다. 하지만, 만일 프로그램 전압을 한번 인가하여 원하는 상태를 달성하지 못한다면, 프로그램 전압이 선택된 비트 라인에 재인가될 수 있다. 하지만, 그 다음에는 더 높거나 더 낮은 프로그램 전압이 선택된 비트 라인에 인가될 수 있다. 일부 실시예들에서, 만일 프로그램 전압이 선택된 비트 라인에 인가된 후에 메모리 셀이 원하는 상태에 도달하지 않았다면 새로운 임피던스 특성과 새로운 프로그램 전압을 결정하기 위해 절차(900)가 반복된다.
일부 실시예들에서, 단계(906)에서, 임피던스 특성을 기반으로 결정된 다른 프로그램 조건들이 인가된다. 예를 들면, 프로그램 전압이 선택된 워드 라인에 인가되는 동안 적절한 전압이 선택되지 않은 워드 라인들에 인가된다.
앞에서는 2개의 서로 다른 프로그램 전압들이 사용되는 예가 논의되었다. 메모리 셀들은 그 저항을 기반으로 원하는 개수의 그룹들로 분할될 수 있으며, 각 그룹에 대하여 서로 다른 프로그램 전압이 사용된다. 이미 논의된 바와 같이, 적절한 프로그램 전압을 결정하는 데 있어서 메모리 셀의 어드레스가 한 인자로서 사용될 수 있기 때문에 동일한 저항 그룹의 메모리 셀들에 대하여 반드시 동일한 프로그램 전압이 사용될 필요는 없다.
유의할 점은 전압과 같은 프로그램 신호를 선택된 비트 라인에 인가한다고 해서 반드시 가역적 저항-스위칭 소자 양단의 일정한 전압이 메모리 셀을 리셋하는 주된 원인이라는 것을 의미하지는 않는다는 것이다. 예를 들면, 일정한 전력을 메모리 셀에 제공할 때 스위칭 거동이 더 잘 설명될 수 있을 수도 있다. 가역적 저항-스위칭 소자에 제공되는 전력은 식 V2/R에 근거하여 서술될 수 있으며, V는 가역적 저항-스위칭 소자 양단의 전압이고 R은 가역적 저항-스위칭 소자의 저항이다. 일부 구현예들에서, 프로그램하기 전의 실제 가역적 저항-스위칭 소자 저항과 회로의 다른 소자들의 임피던스가 주어지면 원하는 전력을 가역적 저항-스위칭 소자에 제공할 프로그램 전압이 결정된다.
또한, 스위칭 거동은 가역적 저항-스위칭 소자를 가열함으로써 설명될 수 있다. 일부 구현예들에서, 프로그램하기 전의 실제 가역적 저항-스위칭 소자 저항과 회로의 다른 소자들의 임피던스가 주어지면 가역적 저항-스위칭 소자를 목표 레벨로 가열할 프로그램 전압이 선택된다.
또한, 스위칭 거동은 일정한 에너지를 가역적 저항-스위칭 소자에 제공함으로써 설명될 수 있다. 일부 구현예들에서, 프로그램하기 전의 실제 가역적 저항-스위칭 소자 저항과 회로의 다른 소자들의 임피던스가 주어지면 일정한 양의 에너지를 가역적 저항-스위칭 소자에 제공할 프로그램 전압이 선택된다.
또한, 스위칭 거동은 가역적 저항-스위칭 소자를 통해 일정한 전류를 흐르게 함으로써 제공함으로써 설명될 수 있다. 일부 구현예들에서, 프로그램하기 전의 실제 가역적 저항-스위칭 소자 저항과 회로의 다른 소자들의 임피던스가 주어지면 가역적 저항-스위칭 소자를 통해 일정한 전류를 흐르게 할 프로그램 전압이 선택된다.
가역적 저항-스위칭 소자의 임피던스 특성을 기반으로 적절한 프로그램 전압을 결정하는 것은 앞의 예들로만 제한되는 것은 아니다.
도 10은 가역적 저항-스위칭 소자의 임피던스 특성을 결정하기 위한 절차(1000)의 한 실시예를 도시한 것이다. 절차(1000)는 절차(900)의 단계(902)의 한 구현예이다. 단계(1002)에서, 읽기 기준 전류(read reference current)가 설정된다. 읽기 기준 전류는 가역적 저항-스위칭 소자가 가지는 저항이 어떤 레벨보다 높은지 낮은지 여부를 판별하는 데 사용되는 레벨로 설정된다. 예를 들면, 도 7의 셋 저항 분포를 참조하면, 저항이 20 kOhm보다 높은지 낮은지 여부를 판별하는 것이 바람직할 수 있다.
한 실시예에서, 읽기 기준 전류는 메모리 셀의 어드레스에 근거한다. 예를 들면, 만일 메모리 셀이 비트 라인 드라이버로부터 상대적으로 멀리 있다면, 저항이 목표 저항보다 높은지/낮은지 여부를 판별하는 데 더 높은 IREF가 사용될 수 있다. 메모리 셀의 어드레스를 기반으로 읽기 기준 전류를 설정하는 것에 대한 더 상세한 내용은 명칭을 "Apparatus and Method for Memory Operations using Address-Dependent Conditions"로 하는 미국 등록특허 제7,218,570호에서 서술되어 있으며, 이는 본 명세서에서 모든 목적을 위해 참조로서 포함된다. 유의할 점은 기준 전류가 메모리 셀의 어드레스에 근거하는 것이나 또는 기준 전류가 메모리 셀과 비트 라인 및/또는 워드 라인 드라이버 사이의 거리에 근거하는 것은 필수요건이 아니라는 것이다.
단계(1004)에서, 읽기 전압이 비트 라인 드라이버에 의해 선택된 비트 라인에 인가된다. 예를 들면, 읽기 전압은 2 V일 수 있다. 도 6의 회로와 관련하여 논의된 바와 같이, 선택되지 않은 비트 라인들과 선택된 워드 라인은 접지로 유지될 수 있다. 선택되지 않은 워드 라인들에는 약 2 V가 인가될 수 있다.
단계(1006)에서, 메모리 셀 전류가 기준 전류와 비교된다. 도 6과 관련하여 논의된 바와 같이, 이는 VSENSE를 기준 읽기 전압과 비교하는 것을 포함할 수 있다. 만일 전도 전류가 기준 전류보다 크다면, 메모리 셀은 상대적으로 낮은 저항을 가지는 것으로 여겨진다(단계 1008). 만일 기준 전류가 전도 전류보다 작다면, 메모리 셀은 상대적으로 높은 저항을 가지는 것으로 여겨진다(단계 1010). 다음은 예시적인 목적을 위한 계산 예이다. 도 8의 회로 예를 참조하면, Vread가 비트 라인에 인가되고 워드 라인은 접지된다고 가정하여 식 (9)와 식 (10)과 같이 쓸 수 있다.
VREAD = (RBL * ICELL) + (VDIODE) + (RSE * ICELL) + (RWL * ICELL) (9)
RSE = [VREAD - (VDIODE) - (RBL * ICELL) - (RWL * ICELL)] / ICELL (10)
RBL과 RWL에 대한 값들은 메모리 셀 어드레스를 기반으로 결정될 수 있다. VDIODE에 대한 값은 다이오드 특성들을 기반으로 추정될 수 있다. VREAD는 인가되는 읽기 전압으로부터 알고 있다. 원한다면, 비트 라인 드라이버와 워드 라인 드라이버의 전기적 특성들을 기반으로 추가적인 미세 조정이 이루어질 수 있다. 또한, 비트 라인 드라이버에 연결된 데이터 라인(도 8에서 미도시됨)과 같은 고려해야 할 다른 회로 소자들이 아마도 있을 수 있다. 즉, VREAD는 실제로는 데이터 라인에 인가되고 비트 라인 드라이버의 입력이 아닐 수 있다.
위의 식들로부터, 만일 전도 전류 ICELL이 기준 전류 IREF보다 크다면 다음 부등식이 유도될 수 있다는 것은 자명하다.
RSE < [VREAD - (RBL * IREF) - (VDIODE) - (RWL * IREF)] / IREF (11)
마찬가지로, 만일 전도 전류 ICELL이 기준 전류 IREF보다 작다면 다음 부등식이 유도될 수 있다는 것은 자명하다.
RSE > [VREAD - (RBL * IREF) - (VDIODE) - (RWL * IREF)] / IREF (12)
그러므로, 단계(1006)의 비교에 근거하여, 가역적 저항-스위칭 소자는 RSE보다 높거나 낮은 저항을 가지는 것으로 분류될 수 있다. 유의할 점은 이 예에서 비트 라인 저항과 워드 라인 저항은 메모리 셀 어드레스의 함수라는 것이다. 따라서, 동일한 IREF가 주어질 때, RSE 값은 서로 다른 어드레스를 가지는 메모리 셀들의 경우 서로 다를 수 있다. 예를 들면, 한 어드레스를 갖는 메모리 셀의 경우 RSE는 20 kOhm일 수 있고 다른 어드레스를 갖는 메모리 셀의 경우 25 kOhm일 수 있다. 하지만, 앞서 언급된 바와 같이, 일부 실시예들에서, IREF에 대한 값은 메모리 셀 어드레스를 기반으로 달라질 수 있다. 이 경우에, IREF를 적절히 선택하면, RSE의 어드레스 의존도가 감소되거나 제거될 수 있다. 따라서, 모든 메모리 셀들은 동일한 저항 RSE에 의하여 규정될 수 있다. 구체적인 예로서, 모든 메모리 셀들은 20 kOhm보다 높거나 낮은 저항을 가지는 것으로 규정될 수 있다.
절차(1000)는 이 시점에서 끝날 수 있다. 따라서, 프로그램 전압을 결정하는 단계(도 9의 904)는 지금까지 수집된 임피던스 정보에 근거할 수 있다. 하지만, 원한다면, 임피던스 정보는 하나 이상의 추가 읽기 전압들을 인가함으로써 미세 조정될 수 있다. 만일 그렇게 한다면, 단계(1002)에서 새로운 읽기 기준 전류가 설정된다. 한 예로서, 만일 제1 읽기에서 저항이 상대적으로 낮은(예컨대, 20 kOhm 미만) 것으로 판별되었다면, 그 다음 읽기는 저항이 10 kOhm(또는 어떤 다른 값) 초과/미만인지 여부를 판별하기 위해 수행될 수 있다. 반면에, 만일 제1 읽기에서 저항이 20 kOhm(또는 어떤 다른 값) 초과인 것으로 판별되었다면, 그 다음 읽기는 50 kOhm(또는 어떤 다른 값) 초과/미만인지 여부를 판별할 수 있다. 위에서 논의된 바와 같이, 각 메모리 셀이 반드시 동일한 저항에 대하여 테스트될 필요는 없다. 또한, 위에서 논의된 바와 같이, 서로 다른 기준 전류(예컨대, 어드레스 의존적인)가 서로 다른 메모리 셀들이 동일한 저항을 가지는지 여부를 테스트하는 데 사용될 수 있다. 추가 읽기들을 수행할지 여부의 결정은 계산된 저항값에 근거할 수 있다. 예를 들면, 만일 저항이 일정 값 초과이거나 미만이라는 것이 결정되면, 추가 측정을 수행할 필요는 없을 수도 있다. 절차(1000)는 임피던스가 원하는 정확도로 결정될 때까지 반복된다.
도 11은 결정된 임피던스 특성을 사용하여 메모리 셀을 프로그램하기 위한 절차(1050)의 한 실시예의 순서도를 도시한 것이다. 절차(1050)는 도 9의 단계(906)의 한 실시예이며 단계(904) 뒤에 시작될 수 있다. 예시를 위해, 절차(1050)는 단일 메모리 셀을 리셋하는 것을 나타낼 것이다. 하지만, 절차(1050)는 메모리 셀을 리셋하는 것으로만 제한되는 것은 아니다. 전형적으로, 하나 이상의 메모리 셀이 병렬적으로 프로그램된다. 따라서, 절차(1050)는 서로 다른 메모리 셀들 상에서 병렬적으로 수행될 수 있다. 단계(1052)에서, 임피던스 특성을 기반으로 결정된 프로그램 조건들이 비트 라인들과 워드 라인들에 인가된다.
단계(1054)에서, 메모리 셀의 상태가 결정된다. 도 6의 회로가 메모리 셀의 전도 전류가 기준 전류보다 작은지 여부를 판별하는 데 사용될 수 있다. 한 실시예에서, 기준 전류는 메모리 셀의 어드레스에 따라 달라진다.
만일 메모리 셀이 리셋된 것으로 결정된다면(단계 1056), 절차(1050)는 완료된다. 그렇지 않다면, 단계(1058)에서 프로그램 루프 카운트(program loop count)가 증가되고 저장된다. 만일 프로그램 루프 카운트가 한계치보다 높다면, 프로그램 절차가 중단된다(단계 1060).
유의할 점은 비록 프로그램이 성공적이지 않았더라도 메모리 셀의 저항은 실질적으로 변했을 수 있다는 것이다. 단계(1062)에서, 새로운 임피던스가 결정되어야 하는지 여부에 대한 결정이 이루어진다. 따라서, 메모리 셀에 대한 새로운 임피던스 특성이 결정될 수 있다. 하지만, 절차(1050)의 각(또는 임의의) 반복마다 새로운 임피던스를 결정하는 것이 반드시 필수적이지 않을 수 있다. 새로운 임피던스를 결정할지 여부는 현재 루프 카운트, 현재 임피던스, 현재 프로그램 전압, 임피던스가 마지막으로 결정된 이후로 프로그램 루프의 개수 등과 같은 인자들에 근거할 수 있다. 만일 새로운 임피던스가 결정될 것이라면, 제어는 새로운 임피던스 특성을 결정하기 위한 도 9의 단계(902)로 넘어간다. 그런 다음, 단계(904)에서 하나 이상의 새로운 프로그램 조건들이 결정될 수 있다. 프로그램 조건들은 프로그램 전압을 포함하며, 이는 단계(1052)에서 시작하여 절차(1050)를 반복함으로써 인가된다.
만일 새로운 임피던스 특성이 결정되지 않을 것이라면, 절차(1050)는 프로그램 전압(및/또는 선택되지 않은 워드 라인의 전압들과 같은 다른 프로그램 조건들)이 변해야하는지 여부를 결정하기 위한 단계(1064)에서 계속된다. 유의할 점은 그 다음 반복에서는 더 높거나 더 낮은 또는 동일한 프로그램 전압을 사용하는 것이 바람직할 수 있다는 것이다. 프로그램 전압을 변경할지 여부와 얼마만큼 변경할지의 결정은 각 프로그램 루프마다 바뀔 수 있는 인자들에 근거할 수 있다. 만일 동일한 프로그램 전압이 사용될 것이라면, 절차(1050)는 단계(1052)로 진행된다. 그렇지 않다면, 단계(1066)에서 새로운 프로그램 전압(및 아마도 다른 프로그램 파라미터들)이 결정된다. 그런 다음, 단계(1052)에서 새로운 조건들이 인가된다.
일부 실시예들에서, 메모리 셀의 임피던스는 메모리 셀을 리셋할 때에는 고려되지만 메모리 셀을 셋할 때에는 고려되지 않는다. 그 이유는 모든 리셋 메모리 셀들의 저항이 다른 회로 소자들의 결합 저항보다 훨씬 더 클 수 있기 때문이다. 따라서, 각 메모리 셀이 셋 동작시 경험하는 프로그램 전압 또는 전력에 있어서 큰 차이가 없을 수 있다. 하지만, 이는 모든 메모리 셀 물질들 또는 메모리 어레이 구조들에 대하여 그러한 것은 아닐 수 있다. 그러므로, 원한다면, 메모리 셀을 셋할 때에도 메모리 셀 임피던스를 고려하는 것이 가능하다. 또한, 유의할 점은 만일 메모리 셀이 셋 및 리셋 상태들보다 더 많은 상태들로 프로그램된다면, 임피던스를 기반으로 프로그램 전압을 결정하는 것이 다른 상태들에 대해서도 사용될 수 있다는 것이다.
앞서 언급된 바와 같이, 최악의 전류 및/또는 전압 소비 내에서 유지하면서 프로그램 대역폭 요건들을 만족시키는 것은 어려울 수 있다. 도 12a 및 도 12b는 전류 및 전력 소비 문제들에 대한 이해를 제공하기 위해 논의될 것이다. 도 12a 및 도 12b는 셋 동작과 리셋 동작 동안 비트 라인들과 워드 라인들에 제공되는 신호들을 보여주는 회로도의 한 실시예를 도시한 것이다. 도 12a는 9개의 메모리 셀들(500 내지 508)을 도시하고 있으며, 그 각각은 스티어링 소자(예컨대, 다이오드)와 가역적 저항-스위칭 소자를 포함한다. 각 메모리 셀은 하나의 비트 라인 및 하나의 워드 라인과 관련된다. 이 예에서, 각 메모리 셀은 그 각각의 비트 라인 드라이버 및 워드 라인 드라이버에 상대적으로 가까이 있다.
도 12b는 9개의 메모리 셀들(550 내지 558)을 도시하고 있으며, 그 각각은 스티어링 소자(예컨대, 다이오드)와 가역적 저항-스위칭 소자를 포함한다. 이 경우에, 각 메모리 셀은 그 각각의 비트 라인 드라이버들 및 워드 라인 드라이버들로부터 상대적으로 멀리 있다(물결선으로 표현됨). 이 예에서, 모든 비트 라인 드라이버들은 비트 라인들의 같은 쪽 끝에 있다. 또한, 이 예에서, 모든 워드 라인 드라이버들은 워드 라인들의 같은 쪽 끝에 있다. 하지만, 이는 필수요건은 아니다. 한 구현예에서, 비트 라인 드라이버들은 홀수 비트 라인들에서는 한 쪽 끝에 있고 짝수 비트 라인들에서는 다른 쪽 끝에 있도록 교호로 배치(stagger)된다. 한 구현예에서, 워드 라인 드라이버들은 홀수 워드 라인들에서는 한 쪽 끝에 있고 짝수 워드 라인들에서는 다른 쪽 끝에 있다. 한 실시예에서, 도 12a 및 도 12b의 메모리 셀들은 도 1의 실시예에 근거한다. 비트 라인들과 워드 라인들의 배치는 도 2, 도 3 또는 도 4의 구조들 중 어떤 것의 작은 일부일 수 있거나, 또는 다른 구조가 사용될 수 있다.
도 12a에서, 메모리 셀(504)이 프로그램되고 있다. 이 경우에, 선택된 비트 라인 드라이버에 의해 선택된 비트 라인으로 4.1 볼트가 인가된다. 선택된 워드 라인은 선택된 워드 라인 드라이버에 의해 접지된다. 따라서, 전류는 메모리 셀(504)을 비트 라인 드라이버로 연결하는 선택된 비트 라인의 일부분을 통해 흐르고 또한 메모리 셀(504)을 접지(또는 워드 라인 드라이버에 의해 제공되는 다른 전압)로 연결하는 선택된 워드 라인의 일부분을 통해 흐른다. 그러므로, 선택된 비트 라인과 선택된 워드 라인의 0이 아닌 저항으로 인해, 선택된 비트 라인과 선택된 워드 라인의 일부분들에 걸쳐 IR 전압 강하가 있을 것이다. 결과적으로, 비트 라인 드라이버에 의해 인가되는 모든 전압이 메모리 셀(504) 내의 가역적 저항-스위칭 소자(저항으로 묘사됨) 양단에 인가되지는 않을 것이다. 본 명세서에서, "IR 전압 강하(IR voltage drop)"라는 용어는 메모리 셀을 프로그램할 때 전류가 흐르는 비트 라인 드라이버와 워드 라인 드라이버 사이의 선택된 비트 라인과 선택된 워드 라인의 일부분들에 걸친 전압 강하를 가리키는 약칭으로 사용될 것이다. 메모리 셀(504)은 비트 라인 드라이버 및 워드 라인 드라이버 모두에 가까이 있기 때문에 "근-근(近-近, near-near)" 메모리 셀로서 지칭될 수 있다.
도 12b에서, 메모리 셀(554)이 프로그램되고 있다. 비트 라인의 물결선에 의해 묘사된 바와 같이, 메모리 셀(554)은 선택된 비트 라인의 끝에 있는 비트 라인 드라이버로부터 상대적으로 멀리 있다. 뿐만 아니라, 메모리 셀(554)은 선택된 워드 라인의 끝에 있는 워드 라인 드라이버로부터 상대적으로 멀리 있다. 따라서, 메모리 셀(554)을 프로그램할 때 전류는 선택된 비트 라인에서 더욱 긴 부분을 통해 흐른다. 또한, 메모리 셀(554)을 프로그램할 때 전류는 선택된 워드 라인에서 더욱 긴 부분을 통해 흐른다. 만일 메모리 셀 전류가 양 메모리 셀들(504, 554)에 대하여 동일하다면, 메모리 셀(554)에 대하여 더 큰 IR 전압 강하가 있을 것이다. 물론, 메모리 셀 전류가 메모리 셀(554)의 경우에 더 작다고 하더라도, 여전히 더 큰 IR 강하가 있을 수 있다. 메모리 셀(554)은 비트 라인 드라이버 및 워드 라인 드라이버 모두로부터 멀리 있기 때문에 "원-원(遠-遠, far-far)" 메모리 셀로서 지칭될 수 있다.
일부 구현예들에서, 서로 다른 메모리 셀들을 프로그램할 때 발생하는 서로 다른 IR 전압 강하들을 고려하기 위해, 프로그램하는 동안 워드 라인들과 비트 라인들에 인가되는 전압들은 프로그램되고 있는 메모리 셀의 비트 라인 드라이버 및/또는 워드 라인 드라이버에 대한 상대적인 물리적 위치에 근거한다. 도 12a 및 도 12b에 도시된 방식에서, 어느 메모리 셀이 프로그램되고 있는지에 따라 바뀌는 것은 선택된 비트 라인 전압과 선택되지 않은 워드 라인 전압이다. 도 12의 예에서, 메모리 셀(504)은 양 드라이버들에 상대적으로 가까이 있으며, 비트 라인 드라이버에 의해 4.1 V가 선택된 비트 라인에 인가되고 워드 라인 드라이버에 의해 0 V가 선택된 워드 라인에 인가된다. 유의할 점은 3.4 V가 선택되지 않은 워드 라인들에 인가된다는 것이다. 이는 메모리 셀들(501, 507)의 다이오드들이 순방향 바이어스도 역방향 바이어스도 되지 않도록 만든다. 유의할 점은 도 12a가 단지 2개의 선택되지 않은 워드 라인들만을 도시하고 있지만, 선택된 비트 라인과 관련된 선택되지 않은 워드 라인들은 수천 개가 있을 수 있다는 것이다. 따라서, 선택되지 않은 워드 라인과 선택되지 않은 비트 라인 사이에 연결된 선택되지 않은 메모리 셀들에서 역방향 바이어스 전류는 아마도 매우 크게 될 수 있다. 하지만, 선택되지 않은 워드 라인들로의 전압을 적절히 선택하여 역방향 바이어스 전류(뿐만 아니라 순방향 바이어스 전류)를 최소로 유지할 수 있다.
도 12b를 보면, 메모리 셀(554)을 프로그램하기 위해 5.0 V가 선택된 비트 라인에 인가되고, 선택된 워드 라인은 접지된다. 따라서, 이 경우에 조금 더 높은 전압이 선택된 비트 라인에 인가되며, 메모리 셀은 비트 라인 드라이버(뿐만 아니라 워드 라인 드라이버)로부터 상대적으로 멀리 있다. 이 경우에, 4.3 V가 선택되지 않은 워드 라인들에 인가되며, 이는 또한 도 10a의 경우보다 더 높다. 선택되지 않은 워드 라인에 이처럼 더 높은 전압을 인가하는 이유는 선택된 비트 라인을 따라 있는 선택되지 않은 메모리 셀들이 프로그램되는 것을 방지하기 위한 것이다. 도 12a 및 도 12b 모두에서, 0.7 V가 선택되지 않은 비트 라인들에 인가되며, 이는 메모리 셀들(503, 506, 553, 556)의 다이오드가 상당한 전류(순방향 또는 역방향)를 가지도록 하기에 충분치 않다.
일부 구현예들에서, 선택된 워드 라인을 따라 있는 하나 이상의 메모리 셀들이 동시에 프로그램된다. 예를 들면, 메모리 셀(503)은 4.1 V를 그 비트 라인에 인가함으로써 메모리 셀(504)과 동시에 프로그램될 수 있다. 유의할 점은 선택된 워드 라인을 따라 프로그램되는 각각의 추가 메모리 셀의 경우에 워드 라인 전류가 증가할 것이라는 것이다. 따라서, 그 워드 라인과 관련된 IR 강하는 증가한다. 만일 선택된 워드 라인을 따라 너무 많은 메모리 셀들을 프로그램하려고 시도된다면, 그 메모리 셀들 중 한 메모리 셀의 양단에는 그것을 프로그램하기에 충분한 전압이 걸리지 않을 수 있다. 그러므로, 선택된 워드 라인을 따라 너무 많은 메모리 셀들을 프로그램하지 않는 것이 바람직할 수 있다. 프로그램 대역폭을 증가시키기 위해, 서로 다른 베이들에 있는 메모리 셀들이 병렬적으로 프로그램될 수 있다. 하지만, 여전히 서로 다른 베이들에 있는 메모리 셀들이 얼마나 많이 병렬적으로 프로그램될 수 있는지를 제한할 수 있는 전류 및 전력 소비 문제들이 존재한다. 한 실시예는 최악의 전류/전력 소비 내에서 유지하면서 프로그램 대역폭을 증가시키는 데 사용되는 페이지 매핑 방식이다. 페이지 매핑 실시예는 아래에서 더욱 완전히 논의될 것이다.
도 12a 및 도 12b의 논의를 계속하면, 유의할 점은 선택된 비트 라인에 인가되는 전압은 메모리 셀로부터 비트 라인 드라이버까지의 거리 뿐만 아니라 메모리 셀로부터 워드 라인 드라이버까지의 거리에 근거할 수 있다는 것이다. 예를 들면, 메모리 셀(504)은 근-근 소자이다(비트 라인 드라이버에 가까이 있고 워드 라인 드라이버에 가까이 있다). 하지만, 선택된 워드 라인의 다른 끝에 있는 메모리 셀은 근-원 소자일 것이다(비트 라인 드라이버에 가까이 있지만, 워드 라인 드라이버로부터 멀리 있다). 따라서, 근-원 메모리 셀을 프로그램할 때 워드 라인에 걸쳐 더 큰 IR 강하가 있을 수 있다. 결과적으로, 선택된 비트 라인에 인가되는 전압은 근-원 소자의 경우에 4.1 V보다 조금 더 클 수 있다. 유의할 점은 만일 더 높은 전압이 선택된 비트 라인에 인가된다면 선택된 비트 라인을 따라 있는 선택되지 않은 메모리 셀들에서 전류를 전도시키는 것을 방지하기 위해 선택되지 않은 워드 라인들에도 또한 더 높은 전압이 인가될 수 있다는 것이다. 예를 들면, 만일 4.3 V가 선택된 비트 라인에 인가된다면, 3.6 V가 선택되지 않은 워드 라인들에 인가될 수 있다.
유의할 점은 선택된 비트 라인 전압이 선택된 메모리 셀로부터 그 비트 라인 드라이버까지의 거리 및 선택된 메모리 셀로부터 그 워드 라인 드라이버까지의 거리의 함수일 필요는 없다는 것이다. 일부 구현예들에서, 적어도 부분적으로는 한 블록에서 비트 라인들보다 워드 라인들이 훨씬 더 많기 때문에 비트 라인들이 워드 라인들보다 실질적으로 더 길다. 예를 들면, 모든 비트 라인에 대하여 약 8개의 워드 라인들이 있을 수 있다. 이러한 구현예들에서, 전형적인 메모리 셀의 경우, 선택된 워드 라인의 저항이 선택된 비트 라인의 저항보다 훨씬 작을 수 있다. 그러므로, 선택된 워드 라인 저항은 무시될 수 있다. 다른 구현예들에서, 선택된 워드 라인의 저항은 선택된 비트 라인 저항보다 더 상당할 수 있다. 따라서, 프로그램 전압은 선택된 메모리 셀로부터 그 워드 라인 드라이버까지의 거리의 함수일 수 있지만 선택된 메모리 셀로부터 그 비트 라인 드라이버까지의 거리의 함수는 아닐 수 있다.
도 12a와 도 12b는 메모리 셀들과 드라이버들 사이의 거리에 대한 가장 극단적인 경우들을 도시한 것이다. 일부 메모리 셀들은 비트 라인 드라이버에 가까이 있지만, 워드 라인 드라이버로부터 멀리 있을 것이다. 다른 것들은 비트 라인 드라이버로부터 멀리 있지만 워드 라인 드라이버에 가까이 있을 것이다. 물론, 일부는 비트 라인 및 워드 라인 드라이버들 중 하나 또는 양자로부터 중간 거리에 있을 수 있다. 적절한 전압들은 메모리 셀과 드라이버들 사이의 거리를 기반으로 결정될 수 있다. 예를 들면, 일부 메모리 셀들의 경우 4.1 V 내지 5.0 V의 선택된 비트 라인 전압이 적절할 것이다. 유의할 점은 메모리 셀로부터 그 드라이버들까지의 거리는 메모리 셀의 어드레스와 상관될 수 있다는 것이다. 그 어드레스를 기반으로 메모리 셀들에 서로 다른 프로그램 조건들을 인가하는 것에 관한 더 상세한 내용은 미국 등록특허 제7,218,570호에서 논의되어 있으며, 이는 앞에서 모든 목적을 위해 그 전체가 참조로서 포함된 바 있다.
전술된 내용에 비추어, 한 블록의 특정 워드 라인 상에서 하나 이상의 메모리 셀이 프로그램될 때, 그 워드 라인에 대하여 비트 라인 드라이버들로부터의 거리가 대략 동일한 것들만 프로그램하는 것이 편리할 수 있다. 예를 들면, 만일 메모리 셀(504)("근-근")을 워드 라인의 다른 끝에 있는 메모리 셀("근-원")과 함께 프로그램하려고 시도된다면, 선택되지 않은 워드 라인들에 적절한 전압들을 제공하는 것은 어려울 수 있다. 예를 들면, 한 블록의 동일한 워드 라인 상에서 복수의 메모리 셀들을 프로그램할 때, 복수의 근-근 메모리 셀들이 동시에 프로그램될 수 있거나, 또는 대체가능한 것으로 복수의 원-원 메모리 셀들이 동시에 프로그램된다. 하지만, 동일한 블록에서 원-원 메모리 셀을 근-근 메모리 셀과 동시에 프로그램하지 않는 것이 바람직할 수 있다. 일부 실시예들에서, 한 블록에 있는 하나 이상의 근-근 메모리 셀들이 다른 블록에 있는 하나 이상의 원-원 메모리 셀들과 동시에 프로그램되도록 페이지 매핑 방식이 사용된다. 이 페이지 매핑 방식은 서로 다른 블록의 메모리 셀들을 병렬적으로 프로그램할 때 최악의 전력 소비를 감소시킬 수 있다. 일부 실시예들에서, 서로 다른 블록들은 서로 다른 베이들에 있다.
다음으로, 프로그램할 때 전류(및 전력) 소비에 관한 문제들이 논의될 것이다. 유의할 점은 메모리 디바이스에 의해(또는 적어도 프로그램할 때 수반되는 메모리 디바이스의 일부분들에 의해) 얼마나 많은 전류가 한번에 인출될 수 있는지에 대한 제한들로 인해 최악의 전류 소비를 목표 레벨 미만으로 유지하는 것이 바람직할 수 있다는 것이다. 또한, 전력 소비에 대한 최악의 경우의 제한들이 있을 수 있다. 도 12a의 소자(500)와 같은 선택되지 않은 메모리 셀들의 경우, 선택되지 않은 워드 라인과 선택되지 않은 비트 라인 사이의 전압 차로 인해 일부 역방향 바이어스 전류가 있을 수 있다. 하지만, 이 역방향 바이어스 전류는 메모리 셀(500)이 셋되거나 리셋되도록 하지 않아야 한다. 어쨌든, 다이오드들의 역방향 바이어스로 인해 일부 전류 및 전력 소비가 있을 수 있다. 예를 들면, 도 12a에서, 선택되지 않은 워드 라인들에 인가되는 3.4 V와 선택되지 않은 비트 라인에 인가되는 0.7 V 사이의 차이로 인해 메모리 셀들(500, 502, 506, 508)의 다이오드들에서 역방향 바이어스 전류가 있을 수 있다. 유의할 점은 선택되지 않은 워드 라인들을 따라 오른쪽으로 이동하면서 일부 전압 강하가 있을 수 있다는 것이다. 따라서, 더 오른쪽에 있는 비트 라인들 상의 선택되지 않은 메모리 셀들의 경우(도 12a에 미도시됨) 역방향 바이어스 전류가 더 작을 수 있다.
도 12b의 원-원 메모리 셀(554)을 프로그램하는 예에서, 상당히 더 높은 전압들이 선택되지 않은 워드 라인들에 인가된다. 따라서, 전반적으로 선택되지 않은 메모리 셀들에서 더 많은 역방향 바이어스 전류가 있을 것이다. 또한, 프로그램 전류가 통해 이동하는 비트 라인 및 워드 라인의 부분들이 더 길기 때문에, 동일한 프로그램 전류에 대하여 근-근 셀보다 원-원 셀을 프로그램할 때 선택된 비트 라인/워드 라인을 따라 소비되는 전력이 더 많을 것이다.
전술된 고려사항들에 비추어, 서로 다른 블록들에 있는 메모리 셀들을 동시에 프로그램할 때 최악의 전류 및/또는 전력 소비는 한 블록에 있는 근-근 메모리 셀을 다른 블록에 있는 원-원 메모리 셀과 동시에 프로그램함으로써 감소될 수 있다. 앞서 논의된 바와 같이, 서로 다른 블록들은 서로 다른 베이들에 있을 수 있다. 논의를 위해, 블록들이 서로 다른 베이들에 있는 경우의 페이지 매핑 방식의 예가 논의될 것이다. 하지만, 서로 다른 블록들이 반드시 서로 다른 베이들에 있어야 될 필요는 없다.
메모리 어레이를 프로그램할 때 발생할 수 있는 최악의 전류 및/또는 전력 소비를 최소화하는 방식으로 특정 페이지가 워드 라인들로 매핑되는 페이지 매핑 방식이 본 명세서에서 개시된다. 앞서 논의된 바와 같이, 각 블록은 다수의 워드 라인들을 가지며, 이들은 위치를 기반으로 번호들이 할당될 수 있다. 일부 실시예들에서, 페이지가 서로 다른 베이들에 있는 서로 다른 번호의 워드 라인들로 쓰여지도록 페이지가 매핑된다. 예를 들면, 만일 페이지가 4개의 조각들로 분할된다면, 그 조각들은 표 1에 나타난 바와 같이 4개의 서로 다른 베이들로 쓰여질 수 있다.
베이 0 1 2 3
블록 0 0 0 0
워드 라인(WL) 0 0 1 1
비트 라인(BL) 0 0 1 1
위치 근-근 근-근 원-원 원-원
전력 낮음 낮음 높음 높음
전류 낮음 낮음 높음 높음
이 예에서, 홀수 비트 라인들은 비트 라인들의 한 끝에 드라이버들을 가지고 짝수 비트 라인들은 비트 라인들의 다른 끝에 드라이버들을 가진다. 마찬가지로, 홀수 워드 라인들은 워드 라인들의 한 끝에 드라이버들을 가지고 짝수 워드 라인들은 다른 끝에 드라이버들을 가진다. WL0와 BL0의 조합은 "근-근" 조합이다(선택된 비트 라인에서 비트 라인 드라이버에 가까이 있고 선택된 워드 라인에서 워드 라인 드라이버에 가까이 있다). WL1과 BL1의 조합은 "원-원" 조합이다(선택된 비트 라인에서 비트 라인 드라이버로부터 멀리 있고 선택된 워드 라인에서 워드 라인 드라이버로부터 멀리 있다). 유의할 점은 원-원 메모리 셀을 프로그램하는 것은 근-근 메모리 셀을 프로그램하는 것보다 더 많은 전력(전체 블록에 대하여)을 소비할 수 있다는 것이다. 원-원 메모리 셀을 프로그램하는 것은 또한 근-근 메모리 셀을 프로그램하는 것보다 더 많은 전류(전체 블록에 대하여)를 소비할 수 있다. 일부 실시예들에서, 원-원 셀을 프로그램하는 것은 전류/전력 요건들 측면에서 최악의 경우이고, 근-근 셀을 프로그램하는 것은 최상의 경우이다. 따라서, 블록들 중 2개에서의 전력 소비는 최악의 경우이고 블록들 중 2개에서의 전력 소비는 최상의 경우이다. 이 페이지 매핑 방식은 전체 최악의 전류/전력 소비를 감소시킨다. 예를 들면, 만일 4개 블록들 모두에서 원-원 메모리 셀이 동시에 프로그램된다면, 이들 메모리 셀들을 프로그램할 때의 전력 소비는 그 특정한 프로그램 노력의 경우에 훨씬 더 높을 것이다.
위의 예에서, 단일 메모리 셀이 각 블록에서 프로그램된다. 하지만, 각 블록에서 다수의 메모리 셀들이 병렬적으로 쓰여질 수 있다. 특정 예로서, WL0 상의 몇 개의 근-근 메모리 셀들이 베이 0와 베이 1에서 병렬적으로 프로그램될 수 있고, 동시에 WL1 상의 몇 개의 원-원 메모리 셀들이 베이 2와 베이 3에서 병렬적으로 프로그램될 수 있다. 예를 들면, BL0, BL2, BL4 및 BL6 상의 메모리 셀들이 베이 0와 베이 1의 블록 0에 있는 WL0 상에서 쓰여질 수 있는 반면, BL1, BL3, BL5 및 BL7 상의 메모리 셀들은 베이 2와 베이 3의 블록 0에 있는 WL1 상에서 쓰여질 수 있다.
유의할 점은 페이지 매핑 방식은 최악의 전류/전력 소비를 감소시키는 방법으로 근-근 및 원-원이 아닌 메모리 셀들에 대해서도 확장될 수 있다는 것이다. 정확한 매핑 방식은 전체 비트 라인 길이(또는 저항)와 전체 워드 라인 길이(또는 저항)와 같은 인자들에 따라 달라질 수 있다. 또한, 위의 예는 비트 라인 드라이버 및 워드 라인 드라이버 모두와 선택된 메모리 셀 사이의 거리를 고려하는 것을 다루고 있지만, 반드시 양 드라이버들까지의 거리를 고려해야 할 필요는 없다. 일부 실시예들에서, 비트 라인 드라이버까지의 거리는 고려되지만 워드 라인 드라이버까지의 거리는 고려되지 않는다. 이 실시예는 비트 라인들이 워드 라인들보다 실질적으로 더 긴(또는 더 높은 저항을 가지는) 경우들에 있어서 유용할 수 있다. 일부 실시예들에서, 워드 라인 드라이버까지의 거리는 고려되지만 비트 라인 드라이버까지의 거리는 고려되지 않는다.
도 13은 서로 다른 블록들의 메모리 셀들을 동시에 프로그램하기 위한 절차(1300)의 한 실시예의 순서도이다. 절차(1300)는 최악의 전력 및/또는 전류 소비를 감소시키는 매핑 방식을 사용한다. 단계(1302)에서, 프로그램할 데이터 유닛(unit)이 수신된다. 한 실시예에서, 데이터 유닛은 페이지이다. 한 페이지 데이터는 임의의 크기일 수 있다. 절차(1300)를 논의할 때, 매핑 방식은 데이터 유닛이 페이지인 경우에 대해 "페이지 매핑(page mapping)" 방식으로 지칭되며 그 예가 제공된다. 하지만, 매핑 방식은 페이지 데이터들로만 제한되는 것은 아니라는 것은 이해될 것이다.
단계(1304)에서, 최악의 전력 소비를 감소시키는 방법으로 데이터 유닛이 서로 다른 블록들에 있는 비휘발성 저장 소자들로 매핑되며, 서로 다른 블록들의 저장 소자들은 병렬적으로 프로그램된다고 가정한다. 다음은 최악의 전류/전력 소비를 감소시키는 데 사용될 수 있는 페이지 매핑 방식의 다양한 예들이다. 하지만, 최악의 전류/전력 소비를 감소시키는 매핑은 이런 예들로만 제한되지 않는다는 것은 이해될 것이다. 이 예들에서, 블록들은 서로 다른 베이들에 있지만, 이는 필수요건은 아니다.

전력/전류
베이 0-1 베이 2-3
베이 0 1 2 3
블록 0 0 0 0
비트 라인(BL) 0 0 0 0
워드 라인(WL) 0 0 1023 1023 낮음 높음
워드 라인(WL) 1 1 1022 1022 낮음 높음
워드 라인(WL) 2 2 1021 1021 낮음 높음
워드 라인(WL) 1023 1023 0 0 높음 낮음
표 2의 예에서, 블록마다 1024개의 워드 라인들이 있다. 이 예는 베이 0과 베이 1의 블록 0의 BL0를 프로그램하면서 동시에 베이 2와 베이 3의 블록 0의 BL0를 프로그램하는 것에 관한 것이다. 이 예에서, 모든 비트 라인 드라이버들은 WL0에 가까이 위치된다(즉, 비트 라인들의 서로 반대 끝들에서 교호로 배치되지 않는다). 또한, 오직 메모리 셀로부터 선택된 비트 라인 드라이버까지의 거리만이 페이지 매핑 방식에 고려된다.
매핑 방식은 병렬적으로 프로그램될 메모리 셀들을 파악한다. 이 예에서, 워드 라인들을 식별하는 표의 행들은 병렬적으로 프로그램될 메모리 셀들을 식별하는 역할을 한다. 예를 들면, 베이 0과 베이 1의 WL0 상에서 프로그램할 때, 베이 2와 베이 3에서는 WL1023이 프로그램된다(BL0에 대하여). 표 2에서 볼 수 있는 바와 같이, 베이 0와 베이 1의 비트 라인 드라이버에 상대적으로 가까이 있는 메모리 셀들을 프로그램할 때, 베이 2와 베이 3에서 프로그램되고 있는 메모리 셀들은 비트 라인 드라이버로부터 상대적으로 멀리 있다. 이 경우에, 베이 0과 베이 1에 대한 전류/전력 소비는 상대적으로 낮은 반면, 베이 2와 베이 3에 대한 전류/전력 소비는 상대적으로 높다. 이와 반대로, 베이 0과 베이 1에서 비트 라인 드라이버로부터 상대적으로 멀리 있는 메모리 셀들을 프로그램할 때, 베이 2와 베이 3의 메모리 셀들은 비트 라인 드라이버에 상대적으로 가까이 있다. 이 경우에, 베이 0과 베이 1에 대한 전류/전력 소비는 상대적으로 높은 반면, 베이 2와 베이 3에 대한 전류/전력 소비는 상대적으로 낮다. 따라서, 페이지 매핑 방식은 모든 블록들이 높은 전류/전력을 사용하도록 서로 다른 블록들의 메모리 셀들을 프로그램하는 것을 피한다. 또한, 유의할 점은 중간 전력 소비와 관련된 워드 라인들은 중간 전력 소비와 관련된 다른 워드 라인들과 짝지어질 수 있다는 것이다. 그러므로, 최악의 전류/전력 소비가 감소된다.
페이지 매핑 방식은 또한 선택된 메모리 셀과 워드 라인 드라이버 사이의 거리에 근거할 수 있다. 이 경우에, 베이 0과 베이 1에서 그리고 베이 2와 베이 3에서 서로 다른 비트 라인들이 프로그램될 수 있다. 다음 표는 오직 선택된 메모리 셀들과 워드 라인 드라이버들 사이의 거리만을 고려하는 것을 반영한 것이다.

전력/전류
베이 0-1 베이 2-3
베이 0 1 2 3
블록 0 0 0 0
워드 라인(WL) 0 0 0 0
비트 라인(BL) 0 0 8191 8191 낮음 높음
비트 라인(BL) 1 1 8190 8190 낮음 높음
비트 라인(BL) 2 2 8189 8189 낮음 높음
비트 라인(BL) 8191 8191 0 0 높음 낮음
표 3의 예에서, 앞의 예에서와 같이 동일한 블록들과 베이들이 프로그램된다. 이 예에서 블록마다 8192개의 비트 라인들이 있다. 이 예에서, 모든 워드 라인 드라이버들은 BL0에 가장 가까이 있으며 오직 선택된 워드 라인 드라이버로부터의 거리만이 페이지 매핑 방식에 고려된다. 표 3에서 볼 수 있는 바와 같이, 베이 0과 베이 1에서 워드 라인 드라이버에 상대적으로 가까이 있는 메모리 셀들을 프로그램할 때, 베이 2와 베이 3에서 프로그램되고 있는 메모리 셀들은 비트 라인 드라이버로부터 상대적으로 멀리 있다. 이 경우에, 베이 0과 베이 1에 대한 전류/전력 소비는 상대적으로 낮은 반면, 베이 2와 베이 3에 대한 전류/전력 소비는 상대적으로 높다. 이와 반대로, 베이 0과 베이 1에서 워드 라인 드라이버로부터 상대적으로 멀리 있는 메모리 셀들을 프로그램할 때, 베이 2와 베이 3에서 프로그램되고 있는 메모리 셀들은 워드 라인 드라이버에 상대적으로 가까이 있다. 이 경우에, 베이 0과 베이 1에 대한 전류/전력 소비는 상대적으로 높은 반면, 베이 2와 베이 3에 대한 전류/전력 소비는 상대적으로 낮다. 따라서, 페이지 매핑 방식은 모든 블록들이 높은 전류/전력을 사용하도록 서로 다른 블록들의 메모리 셀들을 프로그램하는 것을 피한다. 그러므로, 최악의 전류/전력 소비가 감소된다.
앞서 논의된 바와 같이, 비트 라인 드라이버들과 워드 라인 드라이버들 모두는 그 절반이 비트 라인들 또는 워드 라인들의 각 끝에 있도록 교호로 배치될 수 있다. 한 예로서, 홀수/짝수로 교호 배치하는 것이 사용될 수 있다. 페이지 매핑 방식은 이러한 구성을 포함하도록 변경될 수 있다.
또한, 페이지 매핑 방식은 선택된 워드 라인 드라이버 및 선택된 비트 라인 드라이버 모두와 선택된 메모리 셀로 사이의 거리를 고려함으로써 더욱 복잡하게 될 수 있다. 이 방식의 한 예는 한 메모리 셀은 그 비트 라인 및 워드 라인 드라이버로부터 가장 멀리 있고 다른 메모리 셀은 그 비트 라인 및 워드 라인 드라이버로부터 가장 가까이 있는 것이며, 이는 이미 논의된 바 있다. 다른 메모리 셀들에 대한 정확한 페이지 매핑 방식의 상세한 내용은 각각의 위치에서 메모리 셀을 프로그램할 때의 전류/전력 소비를 분석하여 최악의 전력 및/또는 전류 소비를 감소시키는 해법을 찾음으로써 결정될 수 있다.
한 실시예에서, 단계(1304)는 다음의 조건이 만족되도록 2개의 서로 다른 블록들에서 제1 메모리 셀과 제2 메모리 셀을 선택하는 것을 포함한다. 그 조건은 제2 메모리 셀이 그 비트 라인 드라이버로부터 있는 정도보다 제1 메모리 셀이 그 비트 라인 드라이버로부터 더 멀리 있거나 또는 제2 메모리 셀이 그 워드 라인 드라이버로부터 있는 정도보다 제1 메모리 셀이 그 워드 라인 드라이버로부터 더 멀리 있다. 한 실시예에서, 양 조건들이 모두 만족된다.
단계(1306)에서, 적어도 2개의 서로 다른 블록들 각각에서 적어도 하나의 메모리 셀이 상기 매핑 방식을 기반으로 프로그램된다. 한 실시예에서, 2개의 서로 다른 블록들은 2개의 서로 다른 베이들에 있다. 앞서 논의된 바와 같이, 메모리 셀을 프로그램하는 절차는 한 번 이상의 반복을 수반할 수 있다. 병렬적으로 프로그램한다는 것은 적어도 한 번의 반복에 대하여(예컨대, 제1 반복) 서로 다른 메모리 셀들을 프로그램하려고 시도하기 위해 프로그램 조건들이 서로 다른 블록들의 비트 라인들과 워드 라인들에 인가되는 것을 의미한다. 유의할 점은 프로그램은 셋 동작 또는 리셋 동작일 수 있다는 것이다.
도 14는 페이지 매핑 방식을 기반으로 메모리 셀들을 프로그램하기 위한 절차(1400)의 한 실시예를 도시한 것이다. 절차(1400)는 절차(1300)의 단계(1306)의 한 구현예이다. 예시를 위해, 절차(1400)는 블록 B에서 원-원 소자를 프로그램하는 동안 블록 A에서 근-근 소자가 프로그램되는 예를 사용하여 논의될 것이다. 유의할 점은 2개 이상의 블록들이 프로그램되고 있을 수 있다는 것이다. 예를 들면, 블록 A에 대한 조건들을 사용하여 프로그램되는 2개 이상의 블록들이 있을 수 있다. 마찬가지로, 블록 B에 대한 조건들을 사용하여 프로그램되는 2개 이상의 블록들이 있을 수 있다. 블록들은 서로 다른 베이들에 있지만, 이는 필수적인 것은 아니다.
단계(1402)에서, 블록들 각각에 대하여 어드레스 의존적인 프로그램 조건들이 결정된다. 일부 실시예들에서, 서로 다른 어드레스 의존적인 조건들이 블록 A와 블록 B에 사용된다. 예를 들면, 블록 A에서 선택된 메모리 셀은 근-근 소자이며 제1 세트의 조건들이 블록 A에 사용되고, 블록 B에서 선택된 메모리 셀은 원-원 소자이며 제2 세트의 조건들이 블록 B에 사용된다. 도 12a와 도 12b를 예로서 참조하면, 표 4의 프로그램 조건들이 사용될 수 있다.
블록 선택되지 않은
비트 라인(BL)
선택된
비트 라인(BL)
선택되지 않은
워드 라인(WL)
선택된
워드 라인(WL)
A(근-근) 0.7 V 4.1 V 3.4 V 0
B(원-원) 0.7 V 5.0 V 4.3 V 0
단계(1404)에서, 어드레스 의존적인 프로그램 조건들이 서로 다른 블록들의 비트 라인들과 워드 라인들에 인가된다.
단계(1406)에서, 메모리 셀이 프로그램되었는지 여부(예컨대, 셋 또는 리셋)를 판별하기 위해 선택된 메모리 셀들 각각이 테스트된다. 메모리 셀이 프로그램된 것인지 여부를 판별하는 데 도 6의 회로가 사용될 수 있다. 한 실시예에서, IREF는 메모리 셀 어드레스에 근거한다.
만일 모든 메모리 셀들이 원하는 상태로 프로그램되었다면(단계 1408), 절차(1400)는 종료된다. 그렇지 않으면, 절차는 단계(1410)에서 계속되며 프로그램 루프 카운트가 증가된다. 만일 루프 카운트가 너무 높으면, 프로그램은 중단되고(단계 1412) 절차(1400)는 종료된다. 특정 블록의 메모리 셀에 대한 프로그램이 실패하면, 그 블록은 배드(bad) 블록으로 표시될 수 있다.
만일 프로그램 루프 카운트가 너무 높지 않다면, 절차(1400)는 단계(1414)에서 계속되며 임의사항으로서(optional) 프로그램에 실패한 메모리 셀들에 대하여 프로그램 조건들이 변경될 수 있다. 예를 들면, 만일 메모리 셀이 프로그램 실패라면, 프로그램 전압을 증가시키는 것이 바람직할 수 있다. 하지만, 프로그램 전압은 동일하게 유지될 수 있거나, 또는 심지어 감소될 수도 있다. 임의사항으로서 단계(1414)에서 프로그램 조건을 변경한 후에, 절차(1400)는 단계(1404)로 진행되며, 여전히 프로그램할 메모리 셀을 가지고 있는 블록들에 프로그램 조건들이 인가된다. 모든 메모리 셀들이 프로그램되었을 때 또는 너무 많은 반복의 결과 프로그램이 실패했을 때 절차는 종료된다.
유의할 점은 페이지 매핑 방식을 사용하여 프로그램할 때 적절한 프로그램 전압들을 결정하기 위해 임피던스 조건들이 결정될 수 있다는 것이다. 하지만, 임피던스 조건들을 결정하는 것이 필수적인 것은 아니다.
위에서 서술된 많은 회로도들에 있어서, 도시된 회로들은 NMOS와 PMOS 디바이스 타입들을 교환하고 양의 전압을 음의 전압으로 교환하는 경우 쌍대(dual) 회로들로 대체될 수 있다.
본 발명의 전술된 상세한 설명은 예시와 설명을 위해 제공되었다. 상기 상세한 설명은 본 발명을 빠짐없이 완전히 제시한 것이라거나 본 발명을 개시된 특정 형태로 제한하고자 의도된 것이 아니다. 상기 교시 내용에 비추어 많은 수정과 변형이 가능하다. 상기 서술된 실시예들은 본 발명의 원리 및 그 실제적인 응용을 가장 잘 설명함으로써 당해 기술분야의 통상의 기술자들이 다양한 실시예들에서 그리고 예기된 특정 용도에 적합하게 다양한 수정들을 가하여 본 발명을 가장 잘 활용할 수 있도록 선택되었다. 본 발명의 범위는 첨부된 특허청구범위에 의해 정의되도록 의도하는 바이다.

Claims (16)

  1. 가역적 저항-스위칭 소자(202)와; 그리고
    상기 가역적 저항-스위칭 소자와 통신하는 하나 이상의 관리 회로들(310, 320, 330, 465)을 포함하며, 상기 하나 이상의 관리 회로들은 상기 가역적 저항-스위칭 소자의 임피던스 특성을 표시하는 정보를 결정하고, 상기 하나 이상의 관리 회로들은 적어도 부분적으로 상기 임피던스 특성을 기반으로 상기 가역적 저항-스위칭 소자에 대한 프로그램 전압을 결정하고, 상기 하나 이상의 관리 회로들은 상기 프로그램 전압을 사용하여 상기 가역적 저항-스위칭 소자를 프로그램하는
    장치.
  2. 제1항에 있어서,
    상기 가역적 저항-스위칭 소자에 연결되는 선택된 비트 라인과; 그리고
    상기 가역적 저항-스위칭 소자에 연결되는 선택된 워드 라인을 더 포함하며,
    상기 하나 이상의 관리 회로들은 상기 선택된 비트 라인 또는 상기 선택된 워드 라인 중 하나 또는 모두의 임피던스 특성을 기반으로 상기 임피던스 특성을 표시하는 정보를 결정하는
    장치.
  3. 제1항 또는 제2항에 있어서,
    상기 선택된 비트 라인에 연결되는 비트 라인 드라이버와; 그리고
    상기 선택된 워드 라인에 연결되는 워드 라인 드라이버를 더 포함하며,
    상기 하나 이상의 관리 회로들은 상기 비트 라인 드라이버 또는 상기 워드 라인 드라이버 중 하나 또는 모두와 상기 가역적 저항-스위칭 소자 사이의 거리를 기반으로 상기 임피던스 특성을 표시하는 정보를 결정하는
    장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 하나 이상의 관리 회로들은 상기 임피던스 특성을 표시하는 정보를 결정하기 전에 상기 가역적 저항-스위칭 소자를 저-저항 상태로 프로그램하고, 상기 하나 이상의 관리 회로들이 상기 프로그램 전압을 사용하여 상기 가역적 저항-스위칭 소자를 프로그램하는 것은 상기 가역적 저항-스위칭 소자를 고-저항 상태로 프로그램하는 것을 포함하는
    장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 정보는 제1 정보이고, 상기 임피던스 특성은 제1 임피던스 특성이고, 상기 프로그램 전압은 제1 프로그램 전압이며, 상기 하나 이상의 관리 회로들이 상기 제1 프로그램 전압을 사용하여 상기 가역적 저항-스위칭 소자를 프로그램하는 것은 상기 하나 이상의 관리 회로들이 상기 제1 프로그램 전압을 상기 가역적 저항-스위칭 소자에 연결된 선택된 비트 라인에 인가하는 것을 포함하고, 상기 하나 이상의 관리 회로들은 상기 가역적 저항-스위칭 소자가 상기 제1 프로그램 전압을 인가한 것에 응답하여 고-저항 상태에 있는지 여부를 판별하고, 상기 하나 이상의 관리 회로들은 만일 상기 가역적 저항-스위칭 소자가 상기 제1 프로그램 전압을 인가한 것에 응답하여 고-저항 상태에 있지 않다면 상기 가역적 저항-스위칭 소자의 제2 임피던스 특성을 표시하는 제2 정보를 결정하고, 상기 하나 이상의 관리 회로들은 적어도 부분적으로 상기 제2 임피던스 특성을 기반으로 상기 가역적 저항-스위칭 소자에 대한 제2 프로그램 전압을 결정하고, 상기 하나 이상의 관리 회로들은 상기 제2 프로그램 전압을 상기 선택된 비트 라인에 인가하는
    장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 가역적 저항-스위칭 소자는 제1 가역적 저항-스위칭 소자이고, 상기 정보는 제1 정보이고, 상기 임피던스 특성은 제1 임피던스 특성이고, 상기 프로그램 전압은 제1 프로그램 전압이며, 상기 장치는 제2 가역적 저항-스위칭 소자를 더 포함하고, 상기 하나 이상의 관리 회로들은 상기 제2 가역적 저항-스위칭 소자와 통신하고, 상기 하나 이상의 관리 회로들은 상기 제2 가역적 저항-스위칭 소자의 제2 임피던스 특성을 표시하는 제2 정보를 결정하고, 상기 제2 임피던스 특성은 상기 제1 임피던스 특성과 서로 다른 것이고, 상기 하나 이상의 관리 회로들은 상기 제2 임피던스 특성을 기반으로 상기 제2 가역적 저항-스위칭 소자에 대한 제2 프로그램 전압을 결정하고, 상기 제2 프로그램 전압은 상기 제1 프로그램 전압과 서로 다른 것이고, 상기 하나 이상의 관리 회로들은 상기 제2 프로그램 전압을 사용하여 상기 제2 가역적 저항-스위칭 소자를 프로그램하는
    장치.
  7. 제6항에 있어서,
    상기 하나 이상의 관리 회로들이 상기 제1 프로그램 전압을 결정하는 것은 상기 하나 이상의 관리 회로들이 상기 제1 가역적 저항-스위칭 소자 양단에 목표 전압이 걸리게 할 프로그램 전압을 결정하는 것을 포함하고, 상기 하나 이상의 관리 회로들이 상기 제2 프로그램 전압을 결정하는 것은 상기 하나 이상의 관리 회로들이 상기 제2 가역적 저항-스위칭 소자 양단에 상기 목표 전압이 걸리게 할 프로그램 전압을 결정하는 것을 포함하는
    장치.
  8. 제6항에 있어서,
    상기 하나 이상의 관리 회로들이 상기 제1 프로그램 전압을 결정하는 것은 상기 하나 이상의 관리 회로들이 상기 제1 가역적 저항-스위칭 소자에 목표 전력이 제공되도록 할 프로그램 전압을 결정하는 것을 포함하고, 상기 하나 이상의 관리 회로들이 상기 제2 프로그램 전압을 결정하는 것은 상기 하나 이상의 관리 회로들이 상기 제2 가역적 저항-스위칭 소자에 상기 목표 전력이 제공되도록 할 프로그램 전압을 결정하는 것을 포함하는
    장치.
  9. 제6항에 있어서,
    상기 하나 이상의 관리 회로들이 상기 제1 프로그램 전압을 결정하는 것은 상기 하나 이상의 관리 회로들이 상기 제1 가역적 저항-스위칭 소자를 목표 온도에 이르게 할 프로그램 전압을 결정하는 것을 포함하고, 상기 하나 이상의 관리 회로들이 상기 제2 프로그램 전압을 결정하는 것은 상기 하나 이상의 관리 회로들이 상기 제2 가역적 저항-스위칭 소자를 상기 목표 온도에 이르게 할 프로그램 전압을 결정하는 것을 포함하는
    장치.
  10. 복수의 가역적 저항-스위칭 소자 그룹들을 포함하는 비휘발성 저장부의 운용 방법에 있어서, 선택된 가역적 저항-스위칭 소자를 프로그램할 때 그룹에 의해 사용되는 전류 또는 전력 중 적어도 하나는 상기 그룹에서 상기 선택된 가역적 저항-스위칭 소자의 위치의 함수이며, 상기 방법은
    상기 비휘발성 저장부에 저장될 데이터 유닛을 수신하는 단계(1302)와;
    상기 데이터 유닛을 상기 그룹들 중 서로 다른 그룹들에 있는 가역적 저항-스위칭 소자들로 병렬적으로 프로그램할 때 최악의 전류 소비 또는 최악의 전력 소비 중 적어도 하나를 최소화하기 위해 상기 그룹들에서 가역적 저항-스위칭 소자들의 위치를 기반으로 상기 그룹들 중 서로 다른 그룹들에 있는 가역적 저항-스위칭 소자들로 상기 데이터 유닛을 매핑(mapping)하는 단계(1304)와; 그리고
    상기 매핑을 기반으로 상기 그룹들 중 서로 다른 그룹들에 있는 가역적 저항-스위칭 소자들을 병렬적으로 프로그램하는 단계(1306)를 포함하는
    방법.
  11. 제10항에 있어서,
    상기 복수의 가역적 저항-스위칭 소자 그룹들 각각은 복수의 비트 라인 드라이버들과 관련되고, 상기 최악의 전류 또는 전력 소비 중 어느 하나를 최소화하기 위해 상기 데이터 유닛을 상기 가역적 저항-스위칭 소자들로 매핑하는 단계는 상기 블록들 중 제1 블록에 있는 제1 가역적 저항-스위칭 소자와 상기 블록들 중 제2 블록에 있는 제2 가역적 저항-스위칭 소자를 선택하는 것을 포함하고, 상기 제1 가역적 저항-스위칭 소자는 그 비트 라인 드라이버로부터 상대적으로 멀리 있고, 상기 제2 가역적 저항-스위칭 소자는 그 비트 라인 드라이버로부터 상대적으로 가까이 있는
    방법.
  12. 제10항 또는 제11항에 있어서,
    상기 복수의 가역적 저항-스위칭 소자 그룹들 각각은 또한 복수의 워드 라인 드라이버들과 관련되고, 상기 최악의 전류 또는 전력 소비 중 어느 하나를 최소화하기 위해 상기 데이터 유닛을 상기 가역적 저항-스위칭 소자들로 매핑하는 단계는 상기 제1 가역적 저항-스위칭 소자가 그 워드 라인 드라이버로부터 상대적으로 멀리 있고 상기 제2 가역적 저항-스위칭 소자가 그 워드 라인 드라이버로부터 상대적으로 가까이 있다는 것을 기반으로 상기 제1 블록에서 상기 제1 가역적 저항-스위칭 소자와 상기 제2 블록에서 상기 제2 가역적 저항-스위칭 소자를 선택하는 것을 포함하는
    방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 복수의 가역적 저항-스위칭 소자 그룹들 각각은 복수의 워드 라인들 및 복수의 비트 라인들과 관련되고, 각 가역적 저항-스위칭 소자는 상기 워드 라인들 중 하나와 상기 비트 라인들 중 하나에 연결되고, 각 가역적 저항-스위칭 소자의 어드레스는 그 각각의 비트 라인과 그 각각의 워드 라인을 따라 있는 그 위치에 근거하고, 특정 가역적 저항-스위칭 소자를 프로그램하는 데 필요한 상기 전류 또는 상기 전력 중 적어도 하나는 그 어드레스에 근거하는
    방법.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서,
    상기 데이터 유닛을 매핑하는 단계는 제1 블록에서 제1 가역적 저항-스위칭 소자들과 제2 블록에서 제2 가역적 저항-스위칭 소자들을 선택하는 것을 포함하며, 상기 제1 가역적 저항-스위칭 소자들을 프로그램하는 것은 상기 제1 블록에 의해 상대적으로 높은 양의 전력을 소비하고, 상기 제2 가역적 저항-스위칭 소자들을 프로그램하는 것은 상기 제2 블록에 의해 상대적으로 낮은 양의 전력을 소비하는
    방법.
  15. 제10항 내지 제13항 중 어느 한 항에 있어서,
    상기 데이터 유닛을 매핑하는 단계는 제1 블록에서 제1 가역적 저항-스위칭 소자들을 선택하는 것과 제2 블록에서 제2 가역적 저항-스위칭 소자들을 선택하는 것을 포함하며, 상기 제1 가역적 저항-스위칭 소자들을 프로그램하는 것은 상기 제1 블록에 의해 상대적으로 높은 양의 전류를 소비하고, 상기 제2 가역적 저항-스위칭 소자들을 프로그램하는 것은 상기 제2 블록에 의해 상대적으로 낮은 양의 전류를 소비하는
    방법.
  16. 가역적 저항-스위칭 소자의 임피던스 특성을 표시하는 정보를 결정하기 위한 수단(310, 320, 330, 465)과;
    적어도 부분적으로 상기 임피던스 특성을 기반으로 상기 가역적 저항-스위칭 소자에 대한 프로그램 전압을 결정하기 위한 수단(310, 320, 330, 465)과; 그리고
    상기 프로그램 전압을 사용하여 상기 가역적 저항-스위칭 소자를 프로그램하기 위한 수단(310, 320, 330, 465)을 포함하는
    비휘발성 저장부의 운용 방법.
KR1020117028600A 2009-06-19 2010-06-08 가역적 저항-스위칭 소자들의 프로그램 KR20120039528A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/488,159 US8154904B2 (en) 2009-06-19 2009-06-19 Programming reversible resistance switching elements
US12/488,159 2009-06-19

Publications (1)

Publication Number Publication Date
KR20120039528A true KR20120039528A (ko) 2012-04-25

Family

ID=42537518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028600A KR20120039528A (ko) 2009-06-19 2010-06-08 가역적 저항-스위칭 소자들의 프로그램

Country Status (7)

Country Link
US (2) US8154904B2 (ko)
EP (1) EP2443630A2 (ko)
JP (1) JP2012531004A (ko)
KR (1) KR20120039528A (ko)
CN (1) CN102804277B (ko)
TW (1) TW201101303A (ko)
WO (1) WO2010147809A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160110981A (ko) * 2014-03-21 2016-09-23 인텔 코포레이션 크로스-포인트 메모리 바이어스 스킴

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5214560B2 (ja) * 2009-08-19 2013-06-19 株式会社東芝 不揮発性半導体記憶装置
US8946046B1 (en) 2012-05-02 2015-02-03 Crossbar, Inc. Guided path for forming a conductive filament in RRAM
US9570678B1 (en) 2010-06-08 2017-02-14 Crossbar, Inc. Resistive RAM with preferental filament formation region and methods
US9601692B1 (en) 2010-07-13 2017-03-21 Crossbar, Inc. Hetero-switching layer in a RRAM device and method
US8934293B1 (en) * 2010-06-29 2015-01-13 Contour Semiconductor, Inc. Means and method for operating a resistive array
US8884261B2 (en) 2010-08-23 2014-11-11 Crossbar, Inc. Device switching using layered device structure
US8569172B1 (en) 2012-08-14 2013-10-29 Crossbar, Inc. Noble metal/non-noble metal electrode for RRAM applications
US9224496B2 (en) 2010-08-11 2015-12-29 Shine C. Chung Circuit and system of aggregated area anti-fuse in CMOS processes
US9824768B2 (en) 2015-03-22 2017-11-21 Attopsemi Technology Co., Ltd Integrated OTP memory for providing MTP memory
US8488359B2 (en) 2010-08-20 2013-07-16 Shine C. Chung Circuit and system of using junction diode as program selector for one-time programmable devices
US10249379B2 (en) 2010-08-20 2019-04-02 Attopsemi Technology Co., Ltd One-time programmable devices having program selector for electrical fuses with extended area
US9251893B2 (en) 2010-08-20 2016-02-02 Shine C. Chung Multiple-bit programmable resistive memory using diode as program selector
US8830720B2 (en) 2010-08-20 2014-09-09 Shine C. Chung Circuit and system of using junction diode as program selector and MOS as read selector for one-time programmable devices
US10229746B2 (en) 2010-08-20 2019-03-12 Attopsemi Technology Co., Ltd OTP memory with high data security
US9042153B2 (en) 2010-08-20 2015-05-26 Shine C. Chung Programmable resistive memory unit with multiple cells to improve yield and reliability
US10916317B2 (en) 2010-08-20 2021-02-09 Attopsemi Technology Co., Ltd Programmable resistance memory on thin film transistor technology
US10923204B2 (en) 2010-08-20 2021-02-16 Attopsemi Technology Co., Ltd Fully testible OTP memory
US8804398B2 (en) 2010-08-20 2014-08-12 Shine C. Chung Reversible resistive memory using diodes formed in CMOS processes as program selectors
US9496033B2 (en) 2010-08-20 2016-11-15 Attopsemi Technology Co., Ltd Method and system of programmable resistive devices with read capability using a low supply voltage
US9070437B2 (en) 2010-08-20 2015-06-30 Shine C. Chung Circuit and system of using junction diode as program selector for one-time programmable devices with heat sink
US9460807B2 (en) 2010-08-20 2016-10-04 Shine C. Chung One-time programmable memory devices using FinFET technology
US9818478B2 (en) 2012-12-07 2017-11-14 Attopsemi Technology Co., Ltd Programmable resistive device and memory using diode as selector
US9431127B2 (en) 2010-08-20 2016-08-30 Shine C. Chung Circuit and system of using junction diode as program selector for metal fuses for one-time programmable devices
US9236141B2 (en) 2010-08-20 2016-01-12 Shine C. Chung Circuit and system of using junction diode of MOS as program selector for programmable resistive devices
US8570800B2 (en) 2010-08-20 2013-10-29 Shine C. Chung Memory using a plurality of diodes as program selectors with at least one being a polysilicon diode
US9711237B2 (en) * 2010-08-20 2017-07-18 Attopsemi Technology Co., Ltd. Method and structure for reliable electrical fuse programming
US9019742B2 (en) 2010-08-20 2015-04-28 Shine C. Chung Multiple-state one-time programmable (OTP) memory to function as multi-time programmable (MTP) memory
US9025357B2 (en) 2010-08-20 2015-05-05 Shine C. Chung Programmable resistive memory unit with data and reference cells
US8988965B2 (en) 2010-11-03 2015-03-24 Shine C. Chung Low-pin-count non-volatile memory interface
US8913449B2 (en) 2012-03-11 2014-12-16 Shine C. Chung System and method of in-system repairs or configurations for memories
US9019791B2 (en) 2010-11-03 2015-04-28 Shine C. Chung Low-pin-count non-volatile memory interface for 3D IC
US8923085B2 (en) 2010-11-03 2014-12-30 Shine C. Chung Low-pin-count non-volatile memory embedded in a integrated circuit without any additional pins for access
US8502185B2 (en) 2011-05-31 2013-08-06 Crossbar, Inc. Switching device having a non-linear element
USRE46335E1 (en) 2010-11-04 2017-03-07 Crossbar, Inc. Switching device having a non-linear element
US8462580B2 (en) 2010-11-17 2013-06-11 Sandisk 3D Llc Memory system with reversible resistivity-switching using pulses of alternatrie polarity
US8355271B2 (en) * 2010-11-17 2013-01-15 Sandisk 3D Llc Memory system with reversible resistivity-switching using pulses of alternate polarity
CN102544011A (zh) 2010-12-08 2012-07-04 庄建祥 反熔丝存储器及电子系统
US8848423B2 (en) 2011-02-14 2014-09-30 Shine C. Chung Circuit and system of using FinFET for building programmable resistive devices
US10192615B2 (en) 2011-02-14 2019-01-29 Attopsemi Technology Co., Ltd One-time programmable devices having a semiconductor fin structure with a divided active region
US10586832B2 (en) 2011-02-14 2020-03-10 Attopsemi Technology Co., Ltd One-time programmable devices using gate-all-around structures
US8607019B2 (en) 2011-02-15 2013-12-10 Shine C. Chung Circuit and method of a memory compiler based on subtractive approach
US8462577B2 (en) * 2011-03-18 2013-06-11 Intel Corporation Single transistor driver for address lines in a phase change memory and switch (PCMS) array
US8665630B2 (en) * 2011-05-27 2014-03-04 Micron Technology, Inc. Memory cell operation including capacitance
US9620206B2 (en) 2011-05-31 2017-04-11 Crossbar, Inc. Memory array architecture with two-terminal memory cells
US8619459B1 (en) 2011-06-23 2013-12-31 Crossbar, Inc. High operating speed resistive random access memory
US9166163B2 (en) 2011-06-30 2015-10-20 Crossbar, Inc. Sub-oxide interface layer for two-terminal memory
US8946669B1 (en) 2012-04-05 2015-02-03 Crossbar, Inc. Resistive memory device and fabrication methods
US9564587B1 (en) 2011-06-30 2017-02-07 Crossbar, Inc. Three-dimensional two-terminal memory with enhanced electric field and segmented interconnects
US9627443B2 (en) * 2011-06-30 2017-04-18 Crossbar, Inc. Three-dimensional oblique two-terminal memory with enhanced electric field
US9058857B2 (en) * 2011-10-10 2015-06-16 Micron Technology, Inc. Cross-point memory compensation
US9324849B2 (en) 2011-11-15 2016-04-26 Shine C. Chung Structures and techniques for using semiconductor body to construct SCR, DIAC, or TRIAC
US8912576B2 (en) 2011-11-15 2014-12-16 Shine C. Chung Structures and techniques for using semiconductor body to construct bipolar junction transistors
US9136261B2 (en) 2011-11-15 2015-09-15 Shine C. Chung Structures and techniques for using mesh-structure diodes for electro-static discharge (ESD) protection
US9007804B2 (en) 2012-02-06 2015-04-14 Shine C. Chung Circuit and system of protective mechanisms for programmable resistive memories
US8917533B2 (en) 2012-02-06 2014-12-23 Shine C. Chung Circuit and system for testing a one-time programmable (OTP) memory
US8861249B2 (en) 2012-02-06 2014-10-14 Shine C. Chung Circuit and system of a low density one-time programmable memory
US9685608B2 (en) 2012-04-13 2017-06-20 Crossbar, Inc. Reduced diffusion in metal electrode for two-terminal memory
US8658476B1 (en) 2012-04-20 2014-02-25 Crossbar, Inc. Low temperature P+ polycrystalline silicon material for non-volatile memory device
US9583701B1 (en) 2012-08-14 2017-02-28 Crossbar, Inc. Methods for fabricating resistive memory device switching material using ion implantation
US10096653B2 (en) 2012-08-14 2018-10-09 Crossbar, Inc. Monolithically integrated resistive memory using integrated-circuit foundry compatible processes
US9076526B2 (en) 2012-09-10 2015-07-07 Shine C. Chung OTP memories functioning as an MTP memory
US9183897B2 (en) 2012-09-30 2015-11-10 Shine C. Chung Circuits and methods of a self-timed high speed SRAM
US9576616B2 (en) 2012-10-10 2017-02-21 Crossbar, Inc. Non-volatile memory with overwrite capability and low write amplification
US9324447B2 (en) 2012-11-20 2016-04-26 Shine C. Chung Circuit and system for concurrently programming multiple bits of OTP memory devices
US9058880B2 (en) * 2013-02-04 2015-06-16 National Tsing Hua University Unequal bit reliability information storage method for communication and storage systems
US8934284B2 (en) * 2013-02-26 2015-01-13 Seagate Technology Llc Methods and apparatuses using a transfer function to predict resistance shifts and/or noise of resistance-based memory
US9196362B2 (en) 2013-04-05 2015-11-24 Sandisk 3D Llc Multiple layer forming scheme for vertical cross point reram
US9224469B2 (en) * 2013-10-30 2015-12-29 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
US9123414B2 (en) 2013-11-22 2015-09-01 Micron Technology, Inc. Memory systems and memory programming methods
US9336875B2 (en) 2013-12-16 2016-05-10 Micron Technology, Inc. Memory systems and memory programming methods
US9269432B2 (en) * 2014-01-09 2016-02-23 Micron Technology, Inc. Memory systems and memory programming methods
US10290801B2 (en) 2014-02-07 2019-05-14 Crossbar, Inc. Scalable silicon based resistive memory device
US9412473B2 (en) 2014-06-16 2016-08-09 Shine C. Chung System and method of a novel redundancy scheme for OTP
KR102230195B1 (ko) 2014-07-28 2021-03-19 삼성전자주식회사 메모리 장치 및 상기 메모리 장치의 동작 방법
WO2016018386A1 (en) * 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Encoding data within a crossbar memory array
US9715925B2 (en) * 2014-09-30 2017-07-25 Sandisk Technologies Llc Methods and apparatus for vertical cross point re-RAM array bias calibration
CN105988078B (zh) * 2015-02-28 2020-03-24 智恒(厦门)微电子有限公司 一种实现单线可编程电路的方法和系统
US9589634B1 (en) 2016-03-31 2017-03-07 Intel Corporation Techniques to mitigate bias drift for a memory device
US10726914B2 (en) 2017-04-14 2020-07-28 Attopsemi Technology Co. Ltd Programmable resistive memories with low power read operation and novel sensing scheme
US11062786B2 (en) 2017-04-14 2021-07-13 Attopsemi Technology Co., Ltd One-time programmable memories with low power read operation and novel sensing scheme
US11615859B2 (en) 2017-04-14 2023-03-28 Attopsemi Technology Co., Ltd One-time programmable memories with ultra-low power read operation and novel sensing scheme
US10535413B2 (en) 2017-04-14 2020-01-14 Attopsemi Technology Co., Ltd Low power read operation for programmable resistive memories
US10770160B2 (en) 2017-11-30 2020-09-08 Attopsemi Technology Co., Ltd Programmable resistive memory formed by bit slices from a standard cell library
US10529435B2 (en) * 2018-01-05 2020-01-07 Sandisk Technologies Llc Fast detection of defective memory block to prevent neighbor plane disturb
KR102619667B1 (ko) * 2018-09-21 2023-12-29 삼성전자주식회사 저항성 메모리 장치
US10910064B2 (en) * 2018-11-06 2021-02-02 Sandisk Technologies Llc Location dependent impedance mitigation in non-volatile memory
US11609478B2 (en) * 2020-06-11 2023-03-21 Hirose Electric Co., Ltd. Systems and methods for alignment of photonic integrated circuits and printed optical boards
WO2023103358A1 (zh) * 2021-12-08 2023-06-15 上海集成电路装备材料产业创新中心有限公司 编程装置、方法及新型存储器

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915167A (en) 1997-04-04 1999-06-22 Elm Technology Corporation Three dimensional structure memory
US5917773A (en) * 1998-01-14 1999-06-29 Advanced Array Corporation Apparatus and method for writing to multiple addresses
US6034882A (en) 1998-11-16 2000-03-07 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
US6567287B2 (en) * 2001-03-21 2003-05-20 Matrix Semiconductor, Inc. Memory device with row and column decoder circuits arranged in a checkerboard pattern under a plurality of memory arrays
US6420215B1 (en) 2000-04-28 2002-07-16 Matrix Semiconductor, Inc. Three-dimensional memory array and method of fabrication
US6661730B1 (en) * 2000-12-22 2003-12-09 Matrix Semiconductor, Inc. Partial selection of passive element memory cell sub-arrays for write operation
US6618295B2 (en) * 2001-03-21 2003-09-09 Matrix Semiconductor, Inc. Method and apparatus for biasing selected and unselected array lines when writing a memory array
US6525953B1 (en) 2001-08-13 2003-02-25 Matrix Semiconductor, Inc. Vertically-stacked, field-programmable, nonvolatile memory and method of fabrication
US6724665B2 (en) * 2001-08-31 2004-04-20 Matrix Semiconductor, Inc. Memory device and method for selectable sub-array activation
US6952043B2 (en) 2002-06-27 2005-10-04 Matrix Semiconductor, Inc. Electrically isolated pillars in active devices
US7081377B2 (en) 2002-06-27 2006-07-25 Sandisk 3D Llc Three-dimensional memory
WO2004061851A2 (en) 2002-12-19 2004-07-22 Matrix Semiconductor, Inc An improved method for making high-density nonvolatile memory
US6930909B2 (en) * 2003-06-25 2005-08-16 Micron Technology, Inc. Memory device and methods of controlling resistance variation and resistance profile drift
US6951780B1 (en) 2003-12-18 2005-10-04 Matrix Semiconductor, Inc. Selective oxidation of silicon in diode, TFT, and monolithic three dimensional memory arrays
US7405465B2 (en) 2004-09-29 2008-07-29 Sandisk 3D Llc Deposited semiconductor structure to minimize n-type dopant diffusion and method of making
TWI254443B (en) * 2004-10-08 2006-05-01 Ind Tech Res Inst Multilevel phase-change memory, manufacture method and status transferring method thereof
JP2008033379A (ja) 2004-11-10 2008-02-14 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
JP4524455B2 (ja) * 2004-11-26 2010-08-18 ルネサスエレクトロニクス株式会社 半導体装置
US7218570B2 (en) * 2004-12-17 2007-05-15 Sandisk 3D Llc Apparatus and method for memory operations using address-dependent conditions
US20060250836A1 (en) 2005-05-09 2006-11-09 Matrix Semiconductor, Inc. Rewriteable memory cell comprising a diode and a resistance-switching material
KR100674992B1 (ko) * 2005-09-08 2007-01-29 삼성전자주식회사 구동전압 레벨을 변경할 수 있는 상 변화 메모리 장치
JP4398945B2 (ja) * 2006-02-23 2010-01-13 シャープ株式会社 不揮発性半導体記憶装置及びデータ書き換え方法
KR100827706B1 (ko) * 2006-10-31 2008-05-07 삼성전자주식회사 반도체 메모리 장치 및 이의 더미라인 바이어싱 방법
KR100801082B1 (ko) * 2006-11-29 2008-02-05 삼성전자주식회사 멀티 레벨 가변 저항 메모리 장치의 구동 방법 및 멀티레벨 가변 저항 메모리 장치
US8233308B2 (en) 2007-06-29 2012-07-31 Sandisk 3D Llc Memory cell that employs a selectively deposited reversible resistance-switching element and methods of forming the same
JP5060191B2 (ja) 2007-07-18 2012-10-31 株式会社東芝 抵抗変化メモリ装置のデータ書き込み方法
KR101437397B1 (ko) * 2007-10-31 2014-09-05 삼성전자주식회사 비휘발성 메모리 장치의 데이터 관리 방법 및 맵핑 테이블업데이트 방법
US8250293B2 (en) * 2009-01-19 2012-08-21 Qimonda Ag Data exchange in resistance changing memory for improved endurance

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160110981A (ko) * 2014-03-21 2016-09-23 인텔 코포레이션 크로스-포인트 메모리 바이어스 스킴

Also Published As

Publication number Publication date
JP2012531004A (ja) 2012-12-06
CN102804277A (zh) 2012-11-28
US20120147657A1 (en) 2012-06-14
CN102804277B (zh) 2015-09-16
US8154904B2 (en) 2012-04-10
WO2010147809A3 (en) 2011-04-14
US8498146B2 (en) 2013-07-30
WO2010147809A2 (en) 2010-12-23
EP2443630A2 (en) 2012-04-25
US20100321977A1 (en) 2010-12-23
TW201101303A (en) 2011-01-01

Similar Documents

Publication Publication Date Title
US8498146B2 (en) Programming reversible resistance switching elements
US7869258B2 (en) Reverse set with current limit for non-volatile storage
US8111539B2 (en) Smart detection circuit for writing to non-volatile storage
US8059447B2 (en) Capacitive discharge method for writing to non-volatile memory
US8270210B2 (en) Pulse reset for non-volatile storage
US8848430B2 (en) Step soft program for reversible resistivity-switching elements
US20140233299A1 (en) Set/Reset Algorithm Which Detects And Repairs Weak Cells In Resistive-Switching Memory Device
WO2011103379A2 (en) Step soft program for reversible resistivity-switching elements

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