KR20100058825A - 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법 - Google Patents

저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법 Download PDF

Info

Publication number
KR20100058825A
KR20100058825A KR1020080117377A KR20080117377A KR20100058825A KR 20100058825 A KR20100058825 A KR 20100058825A KR 1020080117377 A KR1020080117377 A KR 1020080117377A KR 20080117377 A KR20080117377 A KR 20080117377A KR 20100058825 A KR20100058825 A KR 20100058825A
Authority
KR
South Korea
Prior art keywords
write
write address
buffer
data
stored
Prior art date
Application number
KR1020080117377A
Other languages
English (en)
Inventor
박준민
이광진
조백형
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080117377A priority Critical patent/KR20100058825A/ko
Priority to US12/292,896 priority patent/US20100131708A1/en
Publication of KR20100058825A publication Critical patent/KR20100058825A/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
    • G11C13/02Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using elements whose operation depends upon chemical change
    • 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
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/046Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • 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

Abstract

저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법이 제공된다. 상기 반도체 장치는 다수의 비휘발성 메모리 셀을 포함하는 메모리 셀 어레이, 메모리 셀 어레이에 라이트되는 다수의 데이터를 저장하는 라이트 버퍼, 다수의 라이트 어드레스를 저장하는 라이트 어드레스 버퍼로서, 각 라이트 어드레스는 라이트 버퍼에 저장된 각 데이터에 대응하는 라이트 어드레스 버퍼, 메모리 셀 어레이 또는 라이트 버퍼에서 리드된 데이터를 선택적으로 출력하는 데이터 출력 버퍼, 입력 리드 어드레스와 라이트 어드레스 버퍼에 저장된 유효(valid) 라이트 어드레스의 동일 여부에 따라 데이터 출력 버퍼를 제어하는 바이패스 인에이블 회로, 및 입력 라이트 어드레스가 라이트 어드레스 버퍼에 저장된 유효 라이트 어드레스와 동일할 경우 라이트 어드레스 버퍼에 저장된 라이트 어드레스를 무효화시키는 무효화부를 포함한다.
메모리 장치, 라이트 어드레스 버퍼

Description

저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법{Semiconductor device using variable resistive element, card or system using the same and operating method the semiconductor device}
본 발명은 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법에 관한 것이다.
저항체(resistance material)를 이용한 비휘발성 메모리 장치에는 상변화 메모리 장치(PRAM: Phase change Random Access Memory), 저항 메모리 장치(RRAM: Resistive RAM), 자기 메모리 장치(MRAM: Magnetic RAM) 등 있다. 동적 메모리 장치(DRAM: Dynamic RAM)나 플래시 메모리 장치는 전하(charge)를 이용하여 데이터를 저장하는 반면, 저항체를 이용한 비휘발성 메모리 장치는 캘코제나이드 합금(chalcogenide alloy)과 같은 상변화 물질의 상태 변화(PRAM), 가변 저항체의 저항 변화(RRAM), 강자성체의 자화상태에 따른 MTJ(Magnetic Tunnel Junction) 박막의 저항 변화(MRAM) 등을 이용하여 데이터를 저장한다.
여기서, 상변화 메모리 셀을 예를 들어 설명하면, 상변화 물질은 가열 후 냉각되면서 결정 상태 또는 비정질 상태로 변화되는데, 결정 상태의 상변화 물질은 저항이 낮고 비정질 상태의 상변화 물질은 저항이 높기 때문에, 결정 상태는 셋(set) 데이터 또는 0데이터로 정의하고 비정질 상태는 리셋(reset) 데이터 또는 1데이터로 정의할 수 있다.
본 발명이 해결하고자 하는 과제는, 오동작을 방지할 수 있는 저항체를 이용한 반도체 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 오동작을 방지할 수 있는 저항체를 이용한 반도체 장치를 포함하는 카드를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는, 오동작을 방지할 수 있는 저항체를 이용한 반도체 장치를 포함하는 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는, 오동작을 방지할 수 있는 저항체를 이용한 반도체 장치의 구동 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위한 본 발명의 실시예들에 따른 반도체 장치는 다수의 비휘발성 메모리 셀을 포함하는 메모리 셀 어레이, 메모리 셀 어레이에 라이트되는 다수의 데이터를 저장하는 라이트 버퍼, 다수의 라이트 어드레스를 저장하는 라이트 어드레스 버퍼로서, 각 라이트 어드레스는 라이트 버퍼에 저장된 각 데이터에 대응하는 라이트 어드레스 버퍼, 메모리 셀 어레이 또는 라이트 버퍼에서 리드된 데이터를 선택적으로 출력하는 데이터 출력 버퍼, 입력 리드 어드레스와 라이트 어드레스 버퍼에 저장된 유효(valid) 라이트 어드레스의 동일 여부에 따라 데이터 출력 버퍼를 제어하는 바이패스 인에이블 회로, 및 입력 라이트 어드레스가 라이트 어드레스 버퍼에 저장된 유효 라이트 어드레스와 동일할 경우 라이트 어드레스 버퍼에 저장된 라이트 어드레스를 무효화시키는 무효화부를 포함한다.
상기 다른 과제를 달성하기 위한 본 발명의 실시예들에 따른 카드는 전술한 반도체 장치를 이용하는 메모리 및 메모리를 제어하는 메모리 제어부를 포함한다.
상기 또 다른 과제를 달성하기 위한 본 발명의 실시예들에 따른 시스템은 버스, 전술한 반도체 장치로서, 버스에 연결된 반도체 장치, 버스에 연결된 입출력 장치 및 버스에 연결되며, 버스를 통하여 입출력 장치 및 반도체 장치와 통신하는 프로세스를 포함한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링 된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
다양한 형태의 비휘발성 메모리 장치가 제공되며, 새로운 형태의 비휘발성 메모리 장치로 저항체를 이용한 비휘발성 메모리 장치가 있을 수 있다. 이러한 저항체를 이용한 비휘발성 메모리 장치는 예컨대, 상변화 메모리 장치(PRAM; Phase change material Random Access Memory), 저항 메모리 장치(RRAM or ReRAM; Resistive RAM), 자기 메모리 장치(MRAM; Mmagnetic RAM), IBM 사의 레이스트랙 메모리 장치(Racetrack Memory), 삼성 사의 마그네틱 패킷 메모리 장치(Magnetic Packet Memory) 등을 포함할 수 있다.
상변화 메모리 장치는 상변화 메모리 셀에 열을 가하여 상변화 메모리 셀의 저항 상태를 변화시키는 것을 이용할 수 있다. 통상적으로, 상변화 메모리 셀에 전류를 제공하여 상변화 메모리 셀에 열을 가할 수 있으며, 전류의 양 또는 전류가 가해지는 시간에 의해 상변화 저항 셀은 낮은 저항 상태 또는 높은 저항 상태롤 세팅될 수 있다. 낮은 저항 상태는 셋(set) 상태로서 예컨대, 로직 레벨 0 상태일 수 있으며, 높은 저항 상태는 리셋(reset) 상태로서 예컨대, 로직 레벨 1 상태일 수 있다. 상변화 저항 셀에서 사용되는 상변화 물질은 일반적으로 GST(GeSbTe) 또는 캘코제나이드 합금(chalcogenide alloy)일 수 있다. 열을 가하여 상태 변화가 된 이후에, 상변화 물질이 셋 또는 리셋 상태로 안정화되기 이전에 소정의 시간이 경과하여야한다. 따라서, 상변화 저항 셀이 셋 또는 리셋 상태로 세팅되기 전에 상변화 저항 셀로부터 데이터를 리드할 경우 리드 오류가 발생할 수 있다.
저항 메모리 장치는 이종금속 산화물과 같은 다양한 저항성 물질로 형성된 박막의 저항을 변화시키는 것을 이용할 수 있다. 여기서, 저항성 물질은 NiO; 또는 망가나이트(Pr0.7Ca0.3MnO3, Pr0.5Ca0.5MnO3, 기타 PCMO, LCMO 등), 타이터네이트(STO:Cr), 지르코네이트(SZO:Cr, Ca2Nb2O7:Cr, Ta2O5:Cr) 등의 조합물(composition)을 포함하는 페로브스카이트(perovskite)를 포함할 수 있다. 이러한 저항 메모리 장치는 예컨대, 미국 등록 특허 7,282,759호, 미국 등록 특허 7,282,759호 및 미국 등록 특허 6,545,906호에 개시된 저항 메모리 장치를 예로 들수 있으며, 상기 등록 특허의 내용은 본 명세서에 충분히 개시된 것처럼 원용되어 통합된다. 저항 메모리 장치는 상변화 메모리 장치와 유사하게 전류 등을 이용하여 저항 메모리 셀에 열을 가하여 저항 메모리 셀의 저항 상태를 변화시킬 수 있으므로, 상기와 같이 저항 메모리 셀이 셋 또는 리셋 상태로 세팅되기 전에 저항 메모리 셀로부터 데이터를 리드할 경우 리드 오류가 발생할 수 있다.
자기 메모리 장치는 자기장을 이용하여 도전성 물질의 저항을 변화시키는 자기 저항 효과(magneto-resistance effect)를 이용할 수 있다. 구체적으로, MTJ(Magnetic Tunnel Junction)로 형성된 다수의 저항 메모리 셀을 포함하는 자기 메모리 장치는 강자성체의 자화 상태에 따라 MTJ를 통과하여 흐르는 터널링 전류(또는 터널링 저항)의 변화를 이용할 수 있다. MTJ가 중간에 개재된 강자성체는 자유층(free layer) 및 고정층(pinned layer)를 포함하며, 자유층과 고정층에서 자화 방향이 서로 평행할 경우 터널링 저항은 최소이며, 자유층과 고정층에서의 자화 방향이 서로 반평행할 경우 터널링 저항은 최대일 수 있다. 고정층에 피닝층(pinning layer)으로 지칭되는 반강자성층(anti-ferromagnetic layer)이 부가될 경우 고정층의 자화 방향은 고정되어, 터널링 저항은 자유층의 자화 방향에 따라 변할 수 있다. 여기서 자유층의 자화 방향은 비트 라인 및 워드 라인을 따라 흐르는 전류에 의해 형성되는 자기장을 이용하여 스위치할 수 있다. 그런데, 상기와 같은 방법은 저항 메모리 장치가 고집적화될수록 자유층의 보자력(coercivity)이 증가하여 원하지 않는 자유층이 스위치될 수 있어, 최근에는 스핀 전환 토크(STT; Spin Transfer Torque) 방식을 이용하는 자기 메모리 장치 또는 토글 스위칭(toggle switching) 라이팅 방식을 이용하는 자기 메모리 장치에 대한 연구가 진행되고 있다.
스핀 전환 토그 방식을 이용한 자기 메모리 장치는 자기 메모리 장치에서 스핀이 분극화되는 방향으로 전류를 제공함으로써 전자의 스핀 전달(spin transfer of electron)을 이용하여 자유층을 원하는 방향으로 스위치할 수 있다. 이는 셀 사이즈가 감소함에 따라 요구되는 전류의 양이 상대적으로 감소하므로, 저항 메모리 장치를 고집적화시킬 수 있다. 토글 스위칭 라이팅 방식을 이용하는 자기 메모리 장치는 미국 등록 특허 6,545,906호 "Method of writing to scalable magnetoresistance random access memory element"에 개시되어 있다. 미국 등록 특허 6,545,906호에 의하면, 워드 라인 및 비트 라인은 교차점에서 45°방향만큼 비스듬하게 배치되며, MTJ는 순차적으로 적층된 제2 마그네틱 영역, 터널링 배리어 및 제1 마그네틱 영역을 포함할 수 있다. 여기서, 제1 및 제2 마그네틱 영역은 상부 강자성층, 하부 강자성층 및 이들 사이에 삽입된 반자성 커플링 스페이서층을 포함하는 SAF(Synthetic Anti-Ferromagnetic) 구조체를 포함할 수 있다.
도 1은 본 발명의 몇몇 실시예에 따른 반도체 장치를 설명하는 도면이다. 도 1을 참고하면, 본 발명의 몇몇 실시예에 따른 반도체 장치는 비휘발성 메모리 셀 어레이(102)를 포함한다. 여기서, 비휘발성 메모리 셀 어레이(102)는 저항체를 이용한 메모리 셀 어레이일 수 있으며, 이하에서는 설명의 편의를 위하여 메모리 셀 어레이(102)로 상변화 메모리 셀 어레이를 이용하여 설명할 것이다. 하지만, 이에 한정하는 것은 아니며 메모리 셀 어레이로 상기에서 설명한 저항 메모리 셀 어레이, 자기 메모리 셀 어레이, 레이스트랙 메모리 셀 어레이, 마그네틱 패킷 메모리 셀 어레이 등을 이용할 수 있음을 이해할 수 있을 것이다.
도 2는 본 발명의 몇몇 실시예에 따른 메모리 셀 어레이의 레이 아웃을 설명하는 도면이다. 도 2를 참고하면, 메모리 셀 어레이(102)는 다수의 메모리 뱅크(10_1~10_8)를 포함하며, 각 메모리 뱅크(10_1~10_8)는 다수의 메모리 블록(BLK0~BLK7)을 포함할 수 있다.
도 3a는 도 2의 메모리 블록을 설명하는 도면이다. 도면에서는 BLK0를 도시하였으나, 이에 한정하는 것은 아니며 다른 메모리 블록(BLK1~BLK7)도 동일한 방식으로 구성될 수 있음을 이해할 수 있을 것이다. 도 3을 참고하면, 비휘발성 메모리 셀(Cp)은 워드 라인(예, WL1, WL2) 및 비트 라인(예, BL0~BL3)에 교차되어 배치될 수 있다. 각 비휘발성 메모리 셀(Cp)은 비트 라인(예, BL0~BL3)과 워드 라인(예, WL1, WL2) 사이에 직렬로 커플링된 상변화 물질을 구비하는 가변 저항 소자(Rp) 및 억세스 소자(D)를 포함할 수 있다. 도면에서는 억세스 소자(D)로서 다이오드를 도시하였으나, 이에 한정하는 것은 아니며 본 발명의 다른 실시예에서는 트랜지스터 등일 수도 있다. 또한, 각 가변 저항 소자(Rp)는 두 개의 전극 사이에 삽입된 상변화 물질일 수 있다. 이러한 상변화 물질은 GeSbTe(GST), GaSb, InSb, InSe, Sb2Te3, GeTe, GeSbTe, GaSeTe, InSbTe, SnSb2Te4, InSbGe, AgInSbTe, (GeSn)SbTe, GeSb(SeTe), Te81Ge15Sb2S2 등을 포함할 수 있다.
여기서, 각 메모리 셀(Cp)은 앞에서 설명한 바와 같이 셋 상태 또는 리셋 상태로 세팅되어 1 비트(bit)의 데이터를 저장할 수 있다. 하지만, 이에 한정하는 것은 아니며 각 메모리 셀(Cp)은 가변 저항 소자(Rp)가 멀티 레벨로 세팅되어 1 비트 이상의 데이터가 저장되는 멀티-레벨 메모리 셀(multy-level memory cell; MLC) 일 수도 있다.
한편, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치에서 메모리 셀 어레이(102)는 스택형 메모리 셀 어레이를 포함할 수 있다. 이하에서, 도 3b 내지 도 3f를 참고하여, 예시적인 스택형 메모리 셀 어레이에 대하여 구체적으로 설명한다.
도 3b는 스택형 메모리 셀 어레이를 설명하는 블록도이며, 도 3c는 도 3b의 각 레이어를 자세히 설명하기 위한 도면이다. 도 3d 내지 도 3f는 도 3b의 각 레이어를 자세히 설명하기 위한 단면도이다.
도 3b를 참고하면, 스택형 메모리 셀 어레이(102)는 다수의 메모리 셀 레이어(102_1~102_8)가 수직으로 적층된 형태를 갖는다. 도면에서는 8개의 메모리 셀 레이어(102_1~102_8)가 적층된 것을 예로 들고 있으나, 이에 한정되는 것은 아니다. 여기서, 각 메모리 셀 레이어(102_1~102_8)는 다수의 메모리 셀을 포함할 수 있다.
이러한 메모리 셀 레이어(102_1~102_8)는 도 3c와 같이 크로스 포인트 구조(cross point structure)를 가질 수 있다. 여기서, 크로스 포인트 구조는 하나의 라인과 다른 라인이 서로 교차되는 영역에, 하나의 메모리 셀이 형성되어 있는 구조일 수 있다. 도 3c에서는 설명의 편의상, 메모리 셀 레이어(102_1)를 예로 든다. 비트 라인(BL0_1~BL3_1)이 제1 방향으로 연장되어 형성되고, 워드 라인(WL0_1~WL2_1)이 상기 비트 라인(BL0_1~BL3_1)과 서로 교차되도록 제2 방향으로 연장되어 형성되고, 각 비트 라인(BL0_1~BL3_1)과 각 워드 라인(WL0_1~WL2_1)이 교차되는 영역에 비휘발성 메모리 셀(Cp)이 형성될 수 있다.
좀 더 크로스 포인트 구조를 자세히 살펴보면, 메모리 셀 레이어(102_1~102_8)는 예컨대, 도 3d 내지 도 3f와 같은 형태의 단면을 가질 수 있다.
도 3d 내지 도 3f는 다수의 워드 라인(WL1_0~WL1_3)과 다수의 비트 라인(BL0_1~BL3_1, BL0_1~BL3_1, BL0_2~BL3_2)은 각각 서로 교차되도록 연장되어 형성되어 있고, 서로 교차되는 영역에 비휘발성 메모리 셀(Cp)이 형성되어 있는 점은 동일하다. 그런데, 도 3d는 비휘발성 메모리 셀(Cp)이 수직 방향으로 동일한 축 상에 배치되어 스택되어 형성되는 반면에, 도 3e는 비휘발성 메모리 셀(Cp)이 수직 방향으로 스택되어 형성되기는 하나 동일한 축 상에 배치되지 않을 수 있다. 또한, 도 3d는 수직 방향으로 인접한 비휘발성 메모리 셀(Cp)은 워드 라인(WL1_0~WL1_3) 또는 비트 라인(BL0_1~BL3_1, BL0_1~BL3_1, BL0_2~BL3_2)을 서로 공유하고 있는 반면에, 도 3f는 수직 방향으로 인접한 비휘발성 메모리 셀(Cp)은 워드 라인 또는 비 트 라인을 서로 공유하지 않고, 전기적으로 분리되어 있을 수 있다.
한편, 상기와 같은 스택형 메모리 셀 어레이는 반도체 기판 상에 형성된 각 유전층마다 상기 각 레이어를 형성하거나, 적어도 두개의 유전층마다 상기 각 레이어를 형성하여 완성할 수 있다. 또는, 상기 스택형 메모리 셀 어레이는 적어도 하나의 레이어가 형성된 반도체 기판(wafer)을 다수개 스택하여 웨이퍼 스택형으로 형성할 수도 있다.
컬럼 선택부(YSEL0~YSEL3)는 각 비트 라인(예, BL0~BL3)을 글로벌 비트 라인(GBL0)에 선택적으로 커플링시킨다. 도면에는 도시하지 않았으나, 이러한 구조는 다수의 글로벌 비트 라인(GBL1~GBLn)에 반복될 수 있다. 또한, 도면에는 두개의 워드 라인(WL0, WL1)만 도시하였으나, 이에 한정하는 것은 아니며 각 메모리 블록(BLK0~BLK7)은 비휘발성 메모리 셀(Cp)의 수가 증가함에 따라 두개 이상의 워드 라인을 포함할 수 있다. 또한, 도면에서는 각 글로벌 비트 라인(GBL0~GBLn)에 4개의 비트 라인(BL0~BL3)이 커플링되어 있는 것으로 도시하였으나, 이에 한정하는 것은 아니며 각 글로벌 비트 라인(GBL0~GBLn)에는 설계자의 요구에 따라 다양한 수의 비트 라인이 커플링되어 있을 수 있다.
다시 도 1을 참고하면, 어드레스 버퍼(120)는 제어부(150)에 제공되는 커맨드(command)(CMD)에 따라 외부 어드레스(EADDR)를 수신하고 버퍼링한다. 제어부(150)는 커맨드(CMD)를 라이트 커맨드(write command) 또는 리드 커맨드(read command) 등으로 디코딩하고, 리드 커맨드 또는 라이트 커맨드를 어드레스 버퍼(120)에 제공할 수 있다. 라이트 커맨드의 경우, 어드레스 버퍼(120)는 외부 어 드레스(EADDR)를 라이트 어드레스(WADDR)로서 저장하고 출력할 수 있다. 리드 커맨드의 경우, 어드레스 버퍼(120)는 외부 어드레스(EADDR)를 리드 어드레스(RADDR)로 저장하고 출력할 수 있다.
프리 디코더(pre-decoder)(108)는 수신된 리드 어드레스 또는 라이트 어드레스를 로우 어드레스들 또는 컬럼 어드레스들로 프리 디코딩(pre-decoding)한다. 로우 디코더(104)는 로우 어드레스로 다시 디코딩하며, 메모리 셀 어레이(102) 내의 워드 라인을 선택적으로 구동할 수 있다. 컬럼 디코더(106)는 컬럼 어드레스로 다시 디코딩하며, 컬럼 선택부(YSEL0~YSEL3)를 선택적으로 제어하여 비트 라인(예, BL0~BL3)을 글로벌 비트 라인(예, GBL0)에 연결시킬 수 있다.
라이트 동작 동안, 어드레스 버퍼(120)로부터 출력되는 라이트 어드레스들은 라이트 어드레스 버퍼(124)에 저장되며, 외부에서 제공되는 데이터(EDATA)는 데이터 입력 버퍼(134)에 의해 버퍼되어, 라이트 버퍼(132)에 라이트 데이터(WDATA)로서 저장된다.
도 4a는 라이트 어드레스 버퍼(124)를 설명하는 예시적인 도면이다. 도 4a를 참고하면, 라이트 어드레스 버퍼(124)는 각 라이트 어드레스가 저장되는 엔트리(entry) 및 각 엔트리에 대응되는 유효 플래그(Vflag; Validity flag)를 포함한다. 라이트 어드레스 버퍼(124)가 엔트리에 라이트 어드레스를 저장할 경우, 라이트 어드레스 버퍼(124)는 상기 엔트리에 대응되는 유효 플래그를 예컨대, "1"로 셋(set)할 수 있다. 이는 엔트리가 유효함(valid)을 의미할 수 있다.
도 5는 라이트 버퍼를 설명하는 예시적인 도면이다. 도 5를 참고하면, 각 라 이트 데이터(1st WDATA~mth WDATA)는 라이트 버퍼(132)의 엔트리에 저장되며, 각 엔트리는 반도체 장치의 디자인에 따라 라이트 데이터(1st WDATA~mth WDATA)로서, 하나의 데이터 워드(data word), 두개의 데이터 워드 등을 저장할 수 있다. 라이트 버퍼(132)는 라이트 어드레스 버퍼(124)와 동일한 수의 엔트리를 포함할 수 있으며, 라이트 데이터(1st WDATA~mth WDATA)와 이에 대응하는 라이트 어드레스(1st WADDR~mth WADDR)는 라이트 버퍼(132)와 라이트 어드레스 버퍼(124)의 대응하는 엔트리에 각각 저장될 수 있다. 라이트 어드레스 버퍼(124) 및 라이트 버퍼(132)에 포함된 다수의 엔트리들은 1번째 엔트리에서 내지 m번째 엔트리 순으로 연속적으로 채워진 후, 다시 1번째 엔트리에서 내지 m번째 엔트리 순으로 오버라이트(overwrite)될 수 있다. 라이트 어드레스 버퍼(124)에 포함된 엔트리의 유효 플래그는 라이트 버퍼(132)의 대응하는 엔트리에 저장된 라이트 데이터(1st WDATA~mth WDATA)의 유효 여부 역시 나타낼 수 있다.
유효성 타이머(validity timer)(126)는 유효 기간(validity time period)으로 지칭되는 소정의 시간(set period of time)을 측정한다. 상기의 시간을 측정하거나 카운트 다운하는 것은 제어부(150)로부터 라이트 커맨드를 제공받을 때마다 재시작(또는 리셋)될 수 있다. 이에 의해, 연속적으로 수신된 라이트 커맨드는 유효 기간의 연속적인 리셋을 야기하여, 유효 기간은 마지막으로 수신된 라이트 커맨드로부터 소정의 시간이 지난 후에 만료될 수 있다. 유효성 타이머(126)는 유효성 타이밍 신호(validity timing signal)(VT)를 통하여 라이트 어드레스 버퍼(124)에 유효 기간 또는 적어도 유효 기간의 만료를 알려줄 수 있다. 유효 기간의 만료에 응답하여, 라이트 어드레스 버퍼(124)는 예컨대, 각 엔트리의 유효 플래그를 "0"으로 세팅하여, 각 엔트리가 유효하지 않다는 것을 나타낼 수 있다. 본 발명의 일 실시예에서, 유효 기간은 메모리 셀 어레이(102)에 라이트되는 데이터가 안정화("settle" 또는 "stabilize")되는 시간과 동일하거나 더 길 수 있다. 예를 들어, 유효 기간은 공정 변수들로 인한 바람직한 마진(margin)에 의해 기대되는 안정화 시간보다 더 길 수 있다. 유효 기간은 커맨드 또는 모드 레지스터 세트(mode register set)를 이용하여 프로그램될 수 있으며, 예컨대, 제어부(150)가 제공받은 바람직한 유효 기간을 유효성 타이머(126)에 프로그램할 수 있다. 또한, 유효 기간은 퓨즈 등과 같이 다양한 방식으로 프로그램될 수도 있으며, 제어부(150)를 통하여 유효성 타이머(126)가 프로그램되는 대신 유효성 타이머(126)가 직접 모드 레지스터 세트를 제공받아 유효 기간을 프로그램할 수도 있다.
유효성 타이머(126) 뿐만 아니라, 무효화부(invalidation unit)(160) 역시 라이트 어드레스 버퍼(124)에 저장된 라이트 어드레스를 무효화시킬 수 있다. 도 4b는 일 실시예에 따른 무효화부를 설명하는 도면이다. 도 4b를 참고하면, 무효화부(160a)는 라이트 어드레스 버퍼(124)의 각 엔트리에 대응하는 다수의 비교기(162)를 포함한다. 각 비교기(162)는 현재 수신된 또는 입력 라이트 어드레스(input write address)를 라이트 어드레스 버퍼(124)의 대응하는 엔트리에 저장된 라이트 어드레스와 비교할 수 있다. 동일(matching)한 것이 존재할 경우 비교기(162)는 예컨대, 하이 레벨의 유효성 신호(VS1~VSm)를 제공할 수 있으며, 동일한 것이 존재하지 않을 경우 비교기(162)는 예컨대, 로우 레벨의 유효성 신 호(VS1~VSm)를 제공할 수 있다. 여기서, 무효화부(160a)는 각 유효성 신호(VS1~VSm)를 라이트 어드레스 버퍼(124)의 대응하는 엔트리에 제공할 수 있다. 라이트 어드레스 버퍼(124)는 로우 레벨의 유효성 신호(VS1~VSm)에 응답하여 대응하는 엔트리의 유효성 플래그를 변화시키지 않는 반면, 하이 레벨의 유효성 신호(VS1~VSm)에 응답하여 대응하는 엔트리의 유효성 플래그에 예컨대, 로우 레벨을 저장하여 유효화된 엔트리를 무효화시킬 수 있다.
이에 의해, 이전에 수신된 라이트 어드레스는 새로이 수신된 동일한 라이트 어드레스에 의해 무효화되며, 라이트 버퍼(132)에 저장되어 있는 이전에 수신된 라이트 데이터는 새로이 수신된 동일한 라이트 어드레스에 대응하는 라이트 데이터에 의해 무효화될 수 있다. 또한, 도 4b의 실시예에 따른 무효화부(160a)는 각 비교기(160)에서 현재 수신된 또는 입력 라이트 어드레스와 라이트 어드레스 버퍼(124)의 대응하는 엔트리에 저장된 라이트 어드레스를 동시에(또는 병렬적으로) 비교하여 대응하는 유효성 신호(VS1~VSm)를 동시에 출력하므로, 동작 시간이 상대적으로 짧을 수 있다.
도 4c는 도 4b에 도시된 무효화부의 동작을 설명하는 순서도이다. 도 4c를 참고하면, 무효화부(160a)는 라이트 어드레스 버퍼(124)에 저장된 라이트 어드레스(WADDR)와 입력 라이트 어드레스를 병렬적으로 비교하여(S10), 동일 여부를 판단한다(S12). S12 단계에서 동일한 라이트 어드레스가 존재할 경우, 무효화부(160a)는 동일한 라이트 어드레스가 저장된 엔트리를 무효화시키는 유효성 신호(VS1~VSm)를 출력할 수 있다. 구체적으로, 동일한 라이트 어드레스를 포함하는 엔트리에 대 응하는 유효성 신호(예, VS1)는 라이트 어드레스 버퍼(124)가 상기 엔트리에 대응하는 유효성 플래그를 "0"으로 세팅하도록 할 수 있으며, 동일하지 않은 라이트 어드레스를 포함하는 엔트리에 대응하여 생성된 유효성 신호(예, VS2~VSm)는 상기 엔트리의 유효성 상태를 변화시키지 않을 수 있다. S12 단계에서, 동일한 라이트 어드레스가 존재하지 않을 경우, 무효화부(160)는 라이트 어드레스 버퍼(124)가 엔트리의 유효성 플래그를 변화시키지 않는 유효성 신호(VS1~VSm)를 출력할 수 있다.
여기서, 비교 동작은 입력 라이트 어드레스가 라이트 어드레스 버퍼(124)에 라이트되기 일어날 수 있다. 이에 의해, 입력 라이트 어드레스를 저장하는 것에 관한 비교 타이밍이 제어될 수 있다. 이는 하드와이어드 회로(hardwired circuitry)에 의해 구현되거나, 제어부(150)가 무효화부(160) 및 라이트 어드레스 버퍼(124)의 동작 타이밍을 조절할 수 있다. 이와 같은 회로 및 동작에 대해서는 널리 공지되어 있으므로, 설명의 편의를 위하여 이에 대한 상세한 설명은 생략한다.
도 4d는 본 발명의 다른 실시예에 따른 무효화부를 설명하는 도면이다. 도 4d를 참고하면, 본 발명의 다른 실시예에 따른 무효화부(160b)는 하나의 비교기(162)를 포함한다. 비교기(162)는 수신된 라이트 어드레스와 라이트 어드레스 버퍼(124)의 각 엔트리에 저장된 라이트 어드레스를 순차적으로 비교하여, 각 엔트리에 대응하는 유효성 신호(VSi)를 출력한다. 라이트 어드레스 버퍼(124)는 로우 레벨의 유효성 신호(VSi)에 응답하여 유효성 플래그를 변화시키지 않을 수 있다. 그러나, 하이 레벨의 유효성 신호(VSi)에 응답하여 라이트 어드레스 버퍼(124)는 대응하는 엔트리에 로우 레벨의 유효성 플래그를 저장할 수 잇다.
이에 의해, 도 4d의 실시예는 도 4b의 실시예와 동일한 동작을 할 수 있다. 그러나, 병렬적으로 동작하는 도 4b의 실시예와 달리 도 4d의 실시예는 직렬적으로 동작하므로, 전체적인 동작 시간이 길어질 수 있다. 하지만, 다수의 비교기를 사용하는 도 4b의 실시예와 달리 도 4의 실시예는 하나의 비교기만을 사용하므로, 사이즈(size)면에서 유리할 수 있다.
도 4e는 도 4d의 무효화부의 동작을 설명하는 순서도이다. 도 4e를 참고하면, 라이트 어드레스를 수신할 경우 엔트리 카운트(entry count) i를 1로 세팅한다(S20). 무효화부(160b)는 라이트 어드레스 버퍼(124)의 i 번째 엔트리에 저장된 라이트 어드레스와 입력 라이트 어드레스를 비교하고(S22) 동일 여부를 판단한다(S24). S24 단계에서 동일한 어드레스가 발견될 경우, 무효화부(160b)는 라이트 어드레스 버퍼(124)의 i 번째 엔트리를 무효화시키는 유효성 신호(VSi)를 출력할 수 있다. 구체적으로, 라이트 어드레스 버퍼(124)는 i 번째 엔트리에 대응하는 유효성 플래그를 0으로 세팅할 수 있다. S24 단계에서 동일한 어드레스가 발견되지 않을 경우, 무효화부(160b)는 라이트 어드레스 버퍼(124)의 i 번째 유효성 플래그를 변화시키지 않는 유효성 신호(VSi)를 출력할 수 있다.
S26 단계 및 S28 단계 이후에, 엔트리 카운트(i)와 라이트 어드레스 버퍼(124)의 마지막 엔트리(last entry)(m)의 동일 여부를 판단한다(S30). 엔트리 카운트(i)와 라이트 어드레스 버퍼(124)의 마지막 엔트리(m)가 동일할 경우, 동작은 종료될 수 있다. 그러나, 엔트리 카운트(i)와 라이트 어드레스 버퍼(124)의 마지막 엔트리(m)가 동일하지 않을 경우, 엔트리 카운트(i)는 하나씩 증가하며, 동작은 S22 단계로 돌아갈 수 있다.
여기서, 비교 동작은 입력 라이트 어드레스가 라이트 어드레스 버퍼(124)에 라이트되기 일어날 수 있다. 이에 의해, 입력 라이트 어드레스를 저장하는 것에 관한 비교 타이밍이 제어될 수 있다. 또한, 본 발명의 다른 실시예에서, 엔트리 카운트는 세팅되고 증가되어 마지막 엔트리 카운트 값(m)과 비교되며, 라이트 어드레스는 엔트리 카운트에 기초하여 무효화부(160b)에 제공될 수 있다. 이러한 동작은 하드와이어드 회로에 의해 구현되거나, 제어부(150)가 무효화부(160b) 및 라이트 어드레스 버퍼(124)의 동작을 제어 및/또는 제어하는 동작을 수행할 수 있다. 이와 같은 회로 및 동작에 대해서는 널리 공지되어 있으므로, 설명의 편의를 위하여 이에 대한 상세한 설명은 생략한다.
도 4b의 실시예는 라이트 어드레스 버퍼(124)의 각 엔트리에 대응하는 다수의 비교기를 포함하며, 도 4d의 실시예는 하나의 비교기를 포함한다, 그러나, 무효화부(160)는 이에 한정되는 것은 아니다. 예를 들어, 무효화부(160)는 두개 이상이나 라이트 어드레스 버퍼의 엔트리 수보다는 작은 수의 비교기를 포함할 수 있다. 본 발명의 또 다른 실시예에서, 비교기의 수는 라이트 어드레스 버퍼(124)에 포함된 엔트리들의 수가 비교기들의 수의 배수가 되도록 선택될 수 있다. 즉, 본 발명의 또 다른 실시예에서, 라이트 어드레스 버퍼(124)가 m(m은 자연수) 개의 엔트리를 포함할 경우, 무효화부는 j(1<j<m; m은 자연수) 개의 비교기를 포함할 수 있으며, 여기서 m은 j의 배수일 수 있다. 이에 의해, 본 발명의 또 다른 실시예에 따른 무효화부(160)에서 병렬적 동작 및 직렬적 동작이 조합된 동작이 수행될 수 있다.
도 4f는 본 발명의 또 다른 실시예에 따른 무효화부를 설명하는 예시적인 도면이다. 도 4f를 참고하면, 본 발명의 또 다른 실시예에서 라이트 어드레스 버퍼(124)의 엔트리 수는 3의 배수이며, 무효화부(160)는 3개의 비교기(162)를 포함할 수 있다. i가 1, 4, 7, ~ (m-2)인 경우, 제1 비교기(COMP1)는 입력 라이트 어드레스 및 라이트 어드레스 버퍼(124)의 i 번째 엔트리에 저장된 라이트 어드레스를 제공받으며, 제2 비교기(COMP2)는 입력 라이트 어드레스 및 라이트 어드레스 버퍼(124)의 i+1 번째 엔트리에 저장된 라이트 어드레스를 제공받고, 제3 비교기(COMP3)는 입력 라이트 어드레스 및 라이트 어드레스 버퍼(124)의 i+2 번째 엔트리에 저장된 라이트 어드레스를 제공받을 수 있다. 이에 의해, 제1 내지 제3 비교기(COMP1~ COMP3)는 각각 라이트 어드레스 버퍼(124)의 i 번째 내지 i+1 번째 엔트리에, i 번째 내지 i+1 번째 유효성 신호를 병렬적으로 제공할 수 있다. 여기서, 무효화부(160c)는 라이트 어드레스 버퍼(124)에 저장된 3개의 라이트 어드레스를 현재 입력된 라이트 어드레스와 동시에 비교하고, 라이트 어드레스 버퍼(124)에 저장된 다음 3개의 라이트 어드레스를 현재 입력된 라이트 어드레스와 비교하는 동작을 반복할 수 있다. 라이트 어드레스 버퍼(124)는 로우 레벨의 유효성 신호(VSi~VSi+2)에 응답하여 대응하는 엔트리의 유효성 플래그를 변화시키지 않을 수 있다. 그러나, 하이 레벨의 유효성 신호(VSi~VSi+2)에 대응하여 라이트 어드레스 버퍼(124)는 대응하는 엔트리에 로우 레벨의 유효성 플래그를 저장할 수 있다.
이에 의해 도 4f의 실시예에 따른 무효화부(160c)는 병렬적 동작과 직렬적 동작이 조합된 동작을 하므로, 도 4d의 실시예에 따른 무효화부(160b)보다는 상대 적으로 동작 시간이 짧으면서도, 도 4b의 실시예에 따른 무효화부(160a)보다는 사이즈면에서 상대적으로 유리할 수 있다.
한편, 도면에서는 제1 비교기 내지 제3 비교기(COMP1~COMP3)가 각각 i 번째 내지 i+2 번째 엔트리에 저장된 라이트 어드레스를 제공받는 것으로 도시하였으나, 이에 한정하는 것은 아니다. 예를 들어, 제1 비교기 내지 제3 비교기(COMP1~COMP3)는 각각 라이트 어드레스 버퍼(124)의 연속되는 엔트리에 저장된 라이트 어드레스를 제공받을 수도 있다. 구체적으로, i가 1, 2, ~ (m/3)인 경우, 제1 제1 비교기(COMP1)는 입력 라이트 어드레스 및 라이트 어드레스 버퍼(124)의 i 번째 엔트리에 저장된 라이트 어드레스를 제공받으며, 제2 비교기(COMP2)는 입력 라이트 어드레스 및 라이트 어드레스 버퍼(124)의 i+m/3 번째 엔트리에 저장된 라이트 어드레스를 제공받고, 제3 비교기(COMP3)는 입력 라이트 어드레스 및 라이트 어드레스 버퍼(124)의 i+2m/3 번째 엔트리에 저장된 라이트 어드레스를 제공받을 수 있다
도 4g는 도 4f의 실시예와 같이 직렬 및 병렬 동작을 하는 무효화부의 동작을 설명하는 순서도이다. 도 4g를 참고하면, 라이트 어드레스를 수신할 경우, 엔트리 카운트를 1로 세팅한다(S40). 무효화부(160c)는 라이트 어드레스 버퍼(124)의 i 번째 내지 (i+x) 번째 엔트리에 저장된 라이트 어드레스와 입력 라이트 어드레스를 병렬적으로 비교하여(S42) 동일 여부를 판단한다(S44). 여기서, (x+1)은 무효화부(160)에 포함된 비교기의 개수일 수 있다. 즉, S42 단계에서 x+1 개의 비교기가 병렬적으로 동작할 수 있다. S44 단계에서 동일한 라이트 어드레스가 발견될 경우, 무효화부(160)는 동일한 라이트 어드레스가 저장된 엔트리를 무효화하는 유효성 신 호를 출력할 수 있다(S46). 구체적으로, 동일한 라이트 어드레스가 저장된 엔트리에 제공되는 예컨대, 로우 레벨의 유효성 신호는 라이트 어드레스 버퍼(124)가 엔트리의 유효성 플래그를 0으로 세팅하게 할 수 있다. 반면, 동일한 라이트 어드레스를 포함하지 않는 엔트리에 제공되는 유효성 신호는 상기 엔트리의 유효성 상태를 변화시키지 않을 수 있다. S44 단계에서 동일한 라이트 어드레스가 발견되지 않을 경우, 무효화부(160)는 라이트 어드레스 버퍼(124)의 각 엔트리에 대응하는 유효성 플래그를 변화시키지 않는 유효성 신호를 출력할 수 있다(S48).
S46 및 S48 단계 이후에, 엔트리 카운트(i)와 x의 합(i+x)이 라이트 어드레스 버퍼(124)의 마지막 엔트리(m)와 같거나 더 큰지 여부를 판단한다(S50). 동일하지 않은 경우, 엔트리 카운트(i)는 하나씩 증가하고, S42 단계의 동작으로 돌아갈 수 있다.
여기서, 비교 동작은 입력 라이트 어드레스가 라이트 어드레스 버퍼(124)에 라이트되기 일어날 수 있다. 이에 의해, 입력 라이트 어드레스를 저장하는 것에 관한 비교 타이밍이 조절될 수 있다. 또한, 본 발명의 또 다른 실시예에서, 엔트리 카운트는 세팅되고 증가되어 마지막 엔트리 카운트 값(m)과 비교되며, 라이트 어드레스는 엔트리 카운트에 기초하여 무효화부(160c)에 제공될 수 있다. 이러한 동작은 하드와이어드 회로에 의해 구현되거나, 제어부(150)가 무효화부(160c) 및 라이트 어드레스 버퍼(124)의 동작을 제어 및/또는 제어하는 동작을 수행할 수 있다. 이와 같은 회로 및 동작에 대해서는 널리 공지되어 있으므로, 설명의 편의를 위하여 이에 대한 상세한 설명은 생략한다.
도 1을 참고하면, 메모리 셀 어레이(102)에 라이트되는 데이터는 라이트 버퍼(132) 뿐만 아니라 라이트 회로(112)에도 제공된다. 라이트 회로(112)는 적절한 전류 및/또는 전압을 제공하여 비휘발성 메모리 셀(Cp)을 라이트 데이터(WDATA)의 로직 상태에 따라 셋 또는 리셋시킴으로써, 메모리 셀 어레이(102) 내에 라이트 데이터(WDATA)를 라이트할 수 있다. 앞에서 설명한 바와 같이, 라이트되는 메모리 셀(Cp)은 로우 및 컬럼 디코더(104, 106)에 의해 선택될 수 있다. 라이트 회로(112) 및 라이트 동작에 대해서는 이하에서 리드 동작을 설명한 다음에 구체적으로 설명한다.
리드 동작시, 어드레스 버퍼(120)에 의해 프리 디코더(108)에 제공되는 리드 어드레스(RADDR)는 바이패스 인에이블 회로(by-pass enable circuit)(128)에 제공될 수 있다. 바이패스 인에이블 회로(128)는 리드 어드레스(RADDR)와 라이트 어드레스 버퍼(124)에 저장된 유효 라이트 어드레스(WADDR)를 비교한다. 비교 결과 동일한 어드레스가 존재할 경우 바이패스 인에이블 회로(128)는 인에이블된 바이패스 인에이블 신호(BYP_EN)를 제공하며, 그렇지 않을 경우 디스에이블된 바이패스 인에이블 신호(BYP_EN)를 제공할 수 있다. 바이패스 인에이블 회로(128)는 또한 라이트 버퍼(132)에 동일한 어드레스를 가지는 엔트리를 지시하는 엔트리 인디케이터(entry indicator)(ENTRY_IND)를 제공할 수 있다.
이러한, 바이패스 인에이블 회로(128)는 무효화부(160)와 유사하게, 리드 어드레스(RADDR)와 라이트 어드레스 버퍼(124)에 저장된 유효 라이트 어드레스(WADDR)를 비교하는 적어도 하나의 비교기를 포함할 수 있다.
구체적으로, 일 실시예에 따른 바이패스 인에이블 회로(128)는 도 4b와 유사하게, 라이트 어드레스 버퍼(124)의 각 엔트리에 대응하는 다수의 비교기를 포함할 수 있다. 이 경우, 바이패스 인에이블 회로(128)는 각 비교기에서 리드 어드레스(RADDR)와 라이트 어드레스 버퍼(124)의 대응하는 엔트리에 저장된 라이트 어드레스를 동시에(또는 병렬적으로) 비교하여 바이패스 인에이블 신호(BYP_EN) 또는 엔트리 인디케이터(ENTRY_IND)를 출력하므로, 동작 시간이 상대적으로 짧을 수 있다.
또한, 다른 실시예에 따른 바이패스 인에이블 회로(128)는 도 4d와 유사하게, 하나의 비교기를 포함할 수 있다. 이 경우, 바이패스 인에이블 회로(128)는 하나의 비교기에서 리드 어드레스(RADDR)와 라이트 어드레스 버퍼(124)에 저장된 라이트 어드레스를 순차적으로(또는 직렬적으로) 비교하여 바이패스 인에이블 신호(BYP_EN) 또는 엔트리 인디케이터(ENTRY_IND)를 출력하므로, 사이즈면에서 유리할 수 있다.
그리고, 또 다른 실시예에 따른 바이패스 인에이블 회로(128)는 도 4f와 유사하게, 두개 이상이나 라이트 어드레스 버퍼의 엔트리 수보다는 작은 수의 비교기를 포함할 수 있다. 이 경우, 바이패스 인에이블 회로(128)는 병렬적 동작과 직렬적 동작이 조합된 동작을 이용하여 리드 어드레스(RADDR)와 라이트 어드레스 버퍼(124)에 저장된 라이트 어드레스를 비교하여, 바이패스 인에이블 신호(BYP_EN) 또는 엔트리 인디케이터(ENTRY_IND)를 출력할 수 있다. 이에 의해, 또 다른 실시예에 따른 바이패스 인에이블 회로(128)는 일 실시예에 따른 바이패스 인에이블 회 로(128)보다는 상대적으로 동작 시간이 짧으면서도, 다른 실시예에 따른 바이패스 인에이블 회로(128)보다는 사이즈면에서 상대적으로 유리할 수 있다.
한편, 본 발명의 일 실시예에 따른 반도체 장치에서 무효화부(160) 및 바이패스 인에이블 회로(124)는 무효화부(160)에 포함된 비교기의 수 및 바이패스 인에이블 회로(128)에 포함된 비교기의 수에 따라 하기 표 1과 같이 다양한 조합을 가질 수 있다.
[표 1] 무효화부 및 바이패스 인에이블 회로의 조합
무효화부에 포함된 비교기의 수 바이패스 인에이블 회로에 포함된 비교기의 수
case 1 1 1
case 2 1 2~m-1
case 3 1 m
case 4 2~m-1 1
case 5 2~m-1 2~m-1
case 6 2~m-1 m
case 7 m 1
case 8 m 2~m-1
case 9 m m
여기서, m은 라이트 어드레스 버퍼(124)에 포함된 엔트리들의 수 있으며, 각 엔트리에는 각 라이트 어드레스(WADDR)가 저장될 수 있다.
즉, 앞에서 설명한 바와 같이 무효화부(160) 및 바이패스 인에이블 회로(128)에 각각 포함된 비교기의 수에 따라 무효화부(160) 및 바이패스 인에이블 회로(128) 각각의 동작 시간 및 사이즈가 달라질 수 있으므로, 반도체 장치의 용도에 따라 무효화부(160) 및 바이패스 인에이블 회로(128)는 다양하게 디자인될 수 있다. 구체적으로, 반도체 장치의 용도에 따라 리드 동작에서와 라이트 동작에서 요구되는 동작 스피드가 다를 수 있을 뿐만 아니라, 반도체 장치의 집적화 정도에 따라 요구되는 사이즈가 달라질 수 있으므로, 상기 표 1의 case 1 내지 case 9를 선택적으로 이용하여 반도체 장치를 형성할 수 있다.
또한 리드 동작시, 리드 회로(110)는 어드레스가 지정된 비휘발성 메모리 셀로부터 데이터를 리드하여, 리드된 데이터를 데이터 출력 버퍼(130)로 출력한다. 데이터 출력 버퍼(130)는 바이패스 인에이블 신호(BYP_EN)를 제공받아, 리드 회로(110)로부터 제공된 리드 데이터 또는 라이트 버퍼(132)에 저장된 데이터를 선택적으로 출력할 수 있다. 구체적으로, 라이트 버퍼(132)는 엔트리 인디케이터(ENTRY_IND)에 의해 지시되는 엔트리 내의 라이트 데이터(WDATA)를 데이터 출력 버퍼(130)에 제공할 수 있다. 바이패스 인에이블 신호(BYP_EN)가 인에이블되는 경우, 라이트 버퍼(132)에서 제공된 라이트 데이터(WDATA)가 데이터 출력 버퍼(130)를 통하여 출력될 수 있다. 그러나, 바이패스 인에이블 신호(BYP_EN)가 인에이블되지 않는 경우, 데이터 출력 버퍼(130)는 메모리 셀 어레이(102)에서 리드된 데이터를 출력할 수 있다.
무효화부(160)는 하나 이상의 엔트리가 동일한 유효 라이트 어드레스를 포함하는 것을 방지하므로, 데이터 출력 버퍼(130)는 라이트 버퍼(132)의 하나의 엔트리로부터 하나의 라이트 데이터(WDATA)를 제공받을 수 있다. 이에 의해, 라이트 버퍼(132)의 하나 이상의 엔트리에 저장된 라이트 어드레스가 리드 어드레스와 동일한 경우 발생할 수 있는 리드 에러를 방지할 수 있다.
이하, 도 6a 내지 도 7을 참고하여 리드 동작을 구체적으로 설명한다.
도 6a는 일 실시예에 따른 리드 동작을 설명하는 도면이다. 도 6a를 참고하면, 외부 커맨드(CMD) 및 외부 어드레스(EADDR)를 수신하여 리드 동작이 수행된 다(S610). 구체적으로, 제어부(150)는 외부 커맨트를 리드 커맨드로 디코딩하여 비휘발성 메모리 셀 어레이(102)로부터 데이터를 리드하도록 리드 회로(110)에 지시하고, 어드레스 버퍼(120)는 외부 어드레스(EADDR)를 버퍼하여 외부 어드레스(EADDR)를 리드 어드레스(RADDR)로서 출력할 수 있다. 프리 디코더(108), 로우 디코더(104) 및 컬럼 디코더(106)는 리드 어드레스(RADDR)를 디코딩하고 적절한 워드 라인 및 컬럼 선택부(YSEL0~YSEL3)를 구동시켜, 리드 회로(110)가 요청된 데이터를 리드하고, 요청된 데이터를 데이터 출력 버퍼(130)에 제공할 수 있다.
상기의 동작 동안, 바이패스 인에이블 회로(128)는 리드 어드레스(RADDR)와 라이트 어드레스 버퍼(124)에 저장된 유효 라이트 어드레스를 비교한다(S615). 동일한 어드레스가 존재할 경우, 바이패스 인에이블 회로(128)는 인에이블된 바이패스 인에이블 신호(BYP_EN) 및 동일한 어드레스의 엔트리를 지시하는 엔트리 인디케이트 신호(ENTRY_IND)를 출력할 수 있다. 그리고, 데이터 출력 버퍼(130)는 엔트리 인디케이터(ENTRY_IND)에 의해 지시되는 라이트 버퍼(132)의 엔트리에 저장된 라이트 데이터(WDATA)를 출력할 수 있다(S620).
그러나, S615 단계에서 리드 어드레스(RADDR)가 라이트 어드레스 버퍼(124)에 저장된 유효 라이트 어드레스(WADDR)와 동일하지 않을 경우, 데이터 출력 버퍼(130)는 리드 회로(110)에 의해 메모리 셀 어레이(102)로부터 리드된 데이터를 출력할 수 있다(S625).
도 7은 도 6a의 동작을 설명하는 예시적인 타이밍도이다. 도 7을 참고하면, 라이트 인에이블 신호(/WE)는 제1 내지 제3 리드 구간(Read1~Read3)을 포함하는 리 드 동작 이전에 제공된다. 라이트 인에이블 신호(/WE)는 라이트 커맨드가 제공되는 것을 의미하며, 이에 의해 유효성 타이머(126)에 의해 유지되는 유효 기간이 리셋될 수 있다. 유효성 타이밍 신호(VT)는 유효성 타이머(126)에 의해 생성되는 신호일 수 있다.
라이트 동작시, "A2H"의 라이트 어드레스(WADDR)가 제공되어, 상기 라이트 어드레스(WADDR)가 라이트 어드레스 버퍼(124)에 저장되고, 상기 라이트 데이터에 대응하는 유효성 플래그가 셋될 수 있다.
제1 리드 동작(Read1)에서, 리드 커맨드의 수신을 나타내는 리드 인에이블 신호(/RE) 및 "A2H"의 리드 어드레스(RADDR)가 제공된다. "A2H"의 리드 어드레스(RADDR)는 유효성 타이밍 신호(VT)에 의해 보장되는 유효 라이트 어드레스(WADDR)와 동일하므로, 바이패스 인에이블 회로(128)는 도 7에 도시된 바와 같이 예컨대, 하이 레벨의 바이패스 인에이블 신호(BYP_EN)를 출력할 수 있다. 또한, 바이패스 인에이블 회로(128)는 동일한 어드레스의 엔트리를 지시하는 엔트리 인디케이터(미도시)를 출력할 수 있다. 따라서, 제1 리드 동작(Read1)에서, 데이터 출력 버퍼(130)는 엔트리 인디케이터에 의해 지시되는 라이트 버퍼(132)의 엔트리에 저장된 라이트 데이터(WDATA)를 출력할 수 있다.
제2 리드 동작(Read2)에서, 유효 기간이 만료되지 않았더라도, 제2 리드 동작(Read2)의 리드 인에이블 신호(/RE)와 함께 수신된 "A1H"의 리드 어드레스(RADDR)가 라이트 어드레스 버퍼(124)에 저장된 라이트 어드레스(WADDR)와 동일하지 않으므로, 바이패스 인에이블 회로(128)는 바이패스 인에이블 신호(BYP_EN)를 예컨대, 로우 레벨로 리셋시킬 수 있다. 이에 의해, 데이터 출력 버퍼(130)는 메모리 셀 어레이(102)로부터 리드된 데이터를 출력할 수 있다.
제3 리드 동작(Read3)에서, "A2H"의 리드 어드레스(RADDR)는 제1 리드 동작()에서와 동일하므로, 리드 어드레스(RADDR)는 라이트 어드레스 버퍼(124)의 라이트 어드레스(WADDR)와 동일할 수 있다. 그러나, 라이트 어드레스 버퍼(124)의 라이트 어드레스(WADDR)는 더 이상 유효하지 않을 수 있다. 도 7에 도시된 바와 같이 제2 리드 동작(Read2)에서 유효 기간이 만료되었으므로, 라이트 어드레스 버퍼(124)가 이에 응답하여 라이트 어드레스 버퍼(124)에 저장된 라이트 어드레스(WADDR)를 무효화시킬 수 있다. 이에 의해, 바이패스 인에이블 회로(128)는 인에이블된 바이패스 인에이블 신호(BYP_EN)를 제공하지 못하므로, 데이터 출력 버퍼(130)는 메모리 셀 어레이(102)로부터 리드된 데이터를 출력할 수 있다.
도 6a의 S615 단계를 설명하는 도 7은 도 6b에 도시된 바와 같이 두 단계로 동작할 수 있다. 도 6b를 참고하면, 바이패스 인에이블 회로(128)는 수신된 리드 어드레스(RADDR)가 라이트 어드레스 버퍼(124)에 저장된 라이트 어드레스(WADDR)와 동일한지 여부를 판단한다(S617). 동일한 어드레스가 존재하지 않는 경우, S625 단계가 수행될 수 있다. 그러나, 동일한 어드레스가 존재할 경우 바이패스 인에이블 회로(128)는 유효 기간이 만료되었는지 여부를 판단할 수 있다(S619). 유효 기간이 만료되었을 경우 S625 단계가 수행되는 반면, 그렇지 않을 경우 S620 단계가 수행되어 데이터 출력 버퍼(130)가 라이트 버퍼(132)로부터 데이터를 출력할 수 있다.
앞에서 설명한 바와 같이, 메모리 셀 어레이(102)에 라이트된 데이터가 안정 화되는 것에는 다소 시간이 소요될 수 있다. 데이터가 라이트된 이후에 즉시 또는 충분한 시간이 경과되지 않은 시점에서 메모리 셀 어레이(102)에서 데이터를 리드할 경우, 리드 값에 오류가 있을 수 있다. 하지만, 본 발명의 몇몇 실시예에 따른 반도체 장치는 데이터가 라이트된 이후에 즉시 또는 충분한 시간이 경과되지 않은 시점에서 데이터를 리드할 경우, 라이트 버퍼(132)에 저장된 데이터를 출력하므로 이러한 리드 오류를 줄일 수 있다.
여기서, 라이트 버퍼(132) 및 라이트 어드레스 버퍼(124)가 충분히 클 경우, 라이트 버퍼(132) 및 라이트 어드레스 버퍼(124)가 가득 채워지기 전에 라이트된 데이터가 안정화될 수 있을 것이다. 하지만, 라이트 버퍼(132) 및 라이트 어드레스 버퍼(124)의 사이즈가 충분히 크지 않을 경우, 메모리 셀 어레이(102)에 라이트된 데이터가 안정화되기 전에, 다른 라이트 데이터가 라이트 버퍼(132)에 오버라이트될 수 있다.
이와 관련하여, 본 발명의 몇몇 실시예에 따른 반도체 장치는 버퍼의 상태 및 라이트 데이터의 안정화 상태에 따라 라이트 동작을 제어하는 것을 더 제공할 수 있다. 도 1을 참고하면, 라이트 회로(112)는 라이트 어드레스 버퍼(124)로부터 마지막 엔트리 플래그(last entry filled flag)(lef) 및 유효성 타이머(126)로부터 유효성 타이밍 신호(VT)를 제공받는다. 라이트 어드레스 버퍼(124)는 라이트 어드레스 버퍼(124)의 마지막 엔트리가 유효 어드레스로 채워지고 또한 라이트 어드레스 버퍼(124)의 다른 엔트리가 유효 어드레스로 채워질 경우, 마지막 엔트리 플래그(lef)를 셋으로 세팅하거나 이를 지시하는 신호를 제공할 수 있다. 그렇지 않을 경우, 마지막 엔트리 플래그(lef)는 언셋 상태(unset state)일 수 있다.
라이트 회로(112)가 셋 상태의 마지막 엔트리 플래그(lef)를 제공받을 경우, 라이트 회로(112)는 마지막 엔트리에 대응하는 라이트 데이터를 라이트하는 시간을 연장할 수 있다. 라이트 시간의 연장은 유효성 타이머(126)로부터 제공되는 유효성 타이밍 신호(VT)에 의할 수 있다. 구체적으로, 마지막 엔트리 플래그(lef)가 셋 상태일 경우, 라이트 회로(112)는 라이트 사이클 기간(write cycle period)을 유효 기간 만료시까지 연장할 수 있다.
도 8은 일 실시예에 따른 라이트 회로를 설명하는 예시적인 블록도이다. 도 8을 참고하면, 라이트 회로(112a)는 제어부(150)로부터 라이트 인에이블 신호(WE)와 라이트 드라이버 인에이블부(write driver enable generator)(810)로부터 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 제공받는 NAND 게이트(802)를 포함한다. 제어부(150)는 예컨대, 라이트 커맨드의 수신에 응답하여 하이 레벨(또는 논리 레벨 "1")의 라이트 인에이블 신호를 생성할 수 있다. 라이트 드라이버 인에이블부(810)에 대해서는 이하에 자세히 설명한다.
인버터(804)는 NAND 게이트(802)의 출력을 반전시키며, 링오실레이터(806)는 NAND 게이트(802)에 의해 하이 레벨의 라이트 인에이블 신호(WE)가 수신될 경우 트리거(trigger)될 수 있다. 카운터(808)는 링오실레이터(806)의 출력에 따라 카운트(count)를 생성할 수 있다. 라이트 드라이버 인에이블부(810)는 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 생성하며, 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 카운터(808)가 소정의 카운트 값에 도달할 때까지 하이 레벨(예, 로 직 레벨 "1")일 수 있다. 다시 말해, 라이트 드라이버 인에이블부(810)는 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 생성하며 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 인에에이블 기간으로 지칭되는 소정의 시간 동안 하이 레벨(예, 로직 레벨 "1")일 수 있다. 도 8에 도시된 바와 같이, 제어부(150)는 라이트 드라이버 인에이블부(810)에 셋 카운트 값 또는 인에이블 기간을 프로그램할 수 있다. 이러한 기간은 퓨즈 등과 같이 다른 방식을 이용하여 세팅될 수도 있으며, 제어부(150)가 인에이블 기간을 제공받아 프로그래밍하는 대신에 제1 라이트 드라이버 인에이블부(810)가 직접적으로 코드(예, 모드 레지스터 세트(MRS; Mode Register Set)을 제공받아 인에이블 기간을 프로그램할 수도 있다.
NOR 게이트(812)는 제1 라이트 드라이버 인에이블 신호(WT_EN1) 및 연장 신호(EXT)를 NOR 연산한다. 연장 신호(EXT)의 생성에 대해서는 이하에서 자세히 설명할 것이다. 인버터(804)는 NOR 게이트(812)의 출력을 반전시켜 제2 라이트 드라이버 인에이블 신호(WT_EN2)를 생성할 수 있다. 이에 의해, 제1 라이트 드라이버 인에이블 신호(WT_EN1) 또는 연장 신호(EXT)가 하이 레벨인 경우 제2 라이트 드라이버 인에이블 신호(WT_EN2)는 하이 레벨일 수 있다.
이하에서 연장 신호(EXT)를 생성하는 것에 대하여 구체적으로 설명한다. 도 8에 도시된 바와 같이 NAND 게이트(820)는 마지막 엔트리 플래그(lef)와 유효성 타이밍 신호(VT)를 NAND 연산하며, 인버터(822)는 NAND 게이트(820)의 출력을 반전시켜 D-플립플롭(824)에 제공할 수 있다. 이에 의해, 마지막 엔트리 플래그(lef) 및 유효성 타이밍 신호(VT)가 모두 하이 레벨인 경우 D-플립플롭(824)에는 하이 레벨 이 저장되며, 그렇지 않은 경우에는 로우 레벨이 저장될 수 있다.
또한, 인버터(826)는 펄스 생성부(828)에 입력되는 유효성 타이밍 신호(VT)를 반전시키며, 펄스 생성부(828)는 로우 레벨의 입력에 응답하여 하이 레벨의 신호를 생성한다. 구체적으로, 펄스 생성부(828)는 로우 레벨의 유효성 타이밍 신호(VT)에 응답하여 하이 레벨의 신호를 생성하며, 하이 레벨의 유효성 타이밍 신호(VT)에 응답하여 로우 레벨의 신호를 생성할 수 있다. NAND 게이트(830)는 펄스 생성부(828)의 출력 및 초기화 신호(INT)를 NAND 연산하며, 인버터(804)는 NAND 게이트(802)의 출력을 반전시켜 D-플립플롭의 리셋 단자에 제공한다. 펄스 생성부(828)의 출력 또는 초기화 신호(INT)가 로우 레벨인 경우, D-플립플롭(824)은 리셋되어 로우 레벨을 저장할 수 있다. 이에 의해, 로우 레벨의 초기화 신호(INT)가 제공되어 D-플립플롭(824)을 초기화시키고 "0"을 저장할 수 있다. 다시 말해, D-플립플롭(824)은 유효성 타이밍 신호(VT) 및 초기화 신호(INT)가 모두 하이 레벨인 경우에는, 리셋되지 않을 수 있다.
지연부(834)는 D-플립플롭(824)의 출력을 소정의 시간 동안 지연시키며, NAND 게이트(802)는 D-플립플롭(824)의 출력 및 지연부(834)의 출력을 NAND 연산한다. 지연부(834)는 D-플립플롭(824)의 출력을 소정의 시간 동안 지연하여 출력할 수 있다. 인버터(838)는 NAND 게이트(836)의 출력을 반전시켜 연장 신호(EXT)를 출력할 수 있다. 이에 의해, D-플립플롭(824)이 하이 레벨을 출력한 이후, 지연부(834)에 세팅된 기간 동안 연장 신호(EXT)는 하이 레벨이 될 수 있다. 다시 말해, 연장 신호(EXT)는 (1) 마지막 엔트리 플래그(lef)가 하이 레벨인 경우, (2) 유 효성 타이밍 신호(VT)가 하이 레벨인 경우 및 (3) 초기화 신호(INT)가 하이 레벨인 경우(초기화되지 않는 경우)에만 하이 레벨이 될 수 있다. 그리고, 연장 신호(EXT)는 상기 (1) 내지 (3) 조건을 충족한 이후 지연부(834)에 세팅된 기간에서 하이 레벨이 될 수 있다.
이상에서 설명한 바와 같이, 제2 라이트 드라이버 인에이블 신호(WT_EN2)는 제1 라이트 드라이버 인에이블 신호(WT_EN1) 또는 연장 신호(EXT)가 하이 레벨인 경우에 하이 레벨이 될 수 있다. 하이 레벨의 제2 라이트 드라이버 인에이블 신호(WT_EN2)는 라이트 드라이버(816)를 인에이블시켜 적절한 전압 및/또는 전류를 메모리 셀 어레이(102)에 제공하여 데이터 입력 버퍼(134)에서 제공되는 라이트 데이터(WDATA)를 라이트할 수 있다. 라이트 데이터(WDATA)를 라이트하는 라이트 사이클 시간의 길이는 제2 라이트 드라이버 인에이블 신호(WT_EN2)가 하이 레벨인 기간에 따라 정해질 수 있다. 여기서, 로우 레벨의 제2 라이트 드라이버 인에이블 신호(WT_EN2)는 라이트 드라이버(816)를 디스에이블시킬 수 있음을 이해할 수 있을 것이다.
도 9는 예시적인 두개의 라이트 동작에서 생성되는 신호들을 설명하는 타이밍도이다. 도 9를 참고하면, 예컨대, 라이트 버퍼(132)에 m-1 번째 라이트 데이터(WDATA)가 라이트되는 m-1 번째 라이트 동작(WRITE m-1) 동안, 라이트 드라이버 인에이블부(810)는 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 생성한다. 구체적으로, 제어부(150)로부터 m-1 번째 라이트 동작에 대응하는 라이트 인에이블 신호가 라이트 드라이버 인에이블부(810)를 트리거하여 제1 라이트 드라이버 인에이 블 신호(WT_EN1)가 생성될 수 있다. 도 9에 도시된 바와 같이, 라이트 드라이버 인에이블부(810)는 제1 인에이블 기간(tWT)에 대응하는 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 생성할 수 있다. 여기서, 제1 인에이블 기간(tWT)은 라이트 드라이버 인에이블부(810)에 프로그램될 수 있다. 예를 들어, 메모리 장치의 동작 스피드가 중요할 수 있으므로 제1 인에이블 기간(tWT)은 가능한 짧아져서 메모리 셀 어레이(102)에 데이터가 안정하게 라이트되지 못할 수 있다.
도 9에 도시된 바와 같이, m-1 번째 엔트리가 마지막 엔트리가 아닌 경우, 마지막 엔트리 플래그(lef)는 하이 레벨이 아닐 수 있다. 따라서, 연장 신호(EXT)는 로우 레벨일 수 있으며, 이에 의해 연장 신호(EXT)는 제2 라이트 드라이버 인에이블 신호(WT_EN2)의 생성에 영향을 미치지 않을 수 있다. 그 결과, 인버터(804)는 제2 라이트 드라이버 인에이블 신호(WT_EN2)로서 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 실질적으로 출력할 수 있다. 즉, 제2 라이트 드라이버 인에이블 신호(WT_EN2)는 제1 인에이블 기간(tWT) 동안만 하이 레벨일 수 있다. 이에 의해, 라이트 드라이버(816)는 제1 인에이블 기간(tWT) 동안 데이터 입력 버퍼(134)에서 제공된 라이트 데이터(WDATA)를 라이트할 수 있다.
도 9에 도시된 바와 같이, m 번째 라이트 동작(WRITE m)에서 라이트 버퍼(132)의 m 번째 엔트리 또는 마지막 엔트리에 저장되는 데이터를 라이팅할 수 있다. 여기서, 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 m-1 번째 라이트 동작에서와 동일한 방식으로 생성될 수 있다. 그러나, 라이트 어드레스 버퍼(124)의 m 번째 또는 마지막 엔트리가 채워져 있고 라이트 어드레스 버퍼(124)의 엔트리들이 유효하므로, 마지막 엔트리 플래그(lef)는 하이 레벨일 수 있다. 유효성 타이밍 신호(VT) 및 마지막 엔트리 플래그(lef)가 하이 레벨인 경우, 연장 신호(EXT)는 상기와 같은 조건들을 충족한 후 지연부(834)에 따라 소정의 기간 동안 하이 레벨일 수 있다.
연장 신호(EXT)는 유효성 타이밍 신호(VT)가 로우 레벨이 되어 라이트 어드레스 버퍼(124)의 엔트리들이 더 이상 유효하지 않음을 지시할 때까지 하이 레벨을 유지할 수 있다. 도 9에 도시된 바와 같이, 제1 라이트 드라이버 인에이블 신호(WT_EN1)가 로우 레벨로 변하더라도(예, 제1 인에이블 기간(tWT)이 만료되더라도), 제2 라이트 드라이버 인에이블 신호(WT_EN2)는 유효성 타이밍 신호(VT)가 로우 레벨로 변할때(예, 유효 기간이 만료될 때)까지 하이 레벨일 수 있다. 이에 의해, 라이트 드라이버(816)는 마지막 라이트 어드레스 엔트리 또는 마지막 라이트 버퍼 엔트리에 대응하는 라이트 데이터(WDATA)를 유효 기간 만료시까지 연장된 라이트 사이클 시간 동안 라이트할 수 있다. 이러한 시간은 메모리 셀 어레이(102)에 라이트된 데이터가 라이트 동작으로부터 안정화되거나 리커버(recover)되었다고 기대될 수 있으므로, 리커버리 시간(recovery time period)(tRCV)이라고 할 수 있다.
다음으로 도 10 및 도 11을 참고하여, 본 발명의 일 실시예에 따른 라이트 동작에 대하여 설명한다.
도 10은 일 실시예에 따른 라이트 동작을 설명하는 순서도이다. 도 10을 참고하면, 외부 커맨드(CMD), 외부 어드레스(EADDR) 및 외부 데이터(EDATA)를 제공받아 라이트 동작이 수행된다(S810). 구체적으로, 제어부(150)는 외부 커맨드(CMD)를 라이트 커맨드로 디코딩하고, 라이트 인에이블 신호를 라이트 회로(112)에 제공하여 메모리 셀 어레이(102)에 데이터를 라이트할 수 있다. 데이터 입력 버퍼(134)는 외부 데이터(EDATA)를 버퍼하고 라이트 회로(112)에 라이트 데이터(WDATA)로서 데이터를 출력할 수 있다. 어드레스 버퍼(120)는 외부 데이터(EDATA)를 버퍼링하고, 라이트 어드레스(WADDR)로서 어드레스를 출력할 수 있다. 프리 디코더(108), 로우 디코더(104) 및 컬럼 디코더(106)는 라이트 어드레스를 디코딩하고, 적절한 워드 라인 및 컬럼 선택부(YSEL0~YSEL3)를 구동시켜 라이트 회로(112)가 메모리 셀 어레이(102)에 라이트 데이터(WDATA)를 라이트할 수 있다.
이러한 동작 동안, 라이트 버퍼(132)는 데이터 입력 버퍼(134)에서 출력된 라이트 데이터(WDATA)를 저장하고, 라이트 어드레스 버퍼(124)는 어드레스 버퍼(120)에 의해 출력된 라이트 어드레스(WADDR)를 저장하며, 라이트 어드레스 버퍼(124)는 라이트 어드레스(WADDR)에 대응하는 유효성 플래그를 셋하며, 유효성 타이머(126)는 유효 기간을 리셋하거나 초기화할 수 있다(815).
라이트 어드레스 버퍼(124)는 라이트 어드레스 버퍼(124)의 마지막 엔트리에 어드레스가 라이트되는지 여부 및 마지막 엔트리가 유효한지 여부를 판단한다(S820). 만약 그러할 경우, 라이트 어드레스 버퍼(124)는 마지막 엔트리 플래그(lef)를 셋하며, 이에 응답하여 라이트 회로(112)는 라이트 데이터(WDATA)를 라이트하는 시간 또는 라이트 시이클 시간을 연장시킨다(S825). 구체적으로, 라이트 회로(112)는 라이트 사이클 시간을 유효 기간이 만료될때까지 연장시킬 수 있다. 라이트 회로(112)는 메모리 셀 어레이(102)에 라이트 데이터를 라이트한다(S830).
S820 단계에서 마지막 엔트리에 어드레스가 라이트되지 않거나 마지막 엔트리가 유효하지 않은 경우, 라이트 회로(112)는 라이트 사이클 시간의 연장 없이 메모리 셀 어레이(102)에 라이트 데이터(WDATA)를 라이트할 수 있다(S830).
도 11은 다수의 라이트 동작에서 라이트 사이클 시간 및 라이트 버퍼의 상태를 설명하는 예시적인 도면이다. 도 11을 참고하면, 제1 내지 m-1 번째의 각 라이트 동작에서 라이트 어드레스(WADDR)는 라이트 어드레스 버퍼(124)에 저장되며, 라이트 어드레스에 대응하는 유효성 플래그는 셋된다. 또한, 라이트 회로(112)는 각 라이트 어드레스에 대응하는 라이트 데이터(1st WDATA~mth WDATA)를 라이트하며, 라이트 사이클 시간은 tWT의 노말(normal) 라이트 사이클 시간을 가질 수 있다. 그러나, 도 11에 도시된 바와 같이 라이트 버퍼(132)의 마지막 엔트리가 채워지고 마지막 엔트리가 유효할 경우, 라이트 버퍼(132)는 마지막 엔트리 플래그(lef)를 셋할 수 있다. 이에 응답하여, 라이트 회로(112)는 유효 기간의 만료시까지 라이트 기간을 연장할 수 있다. 그 결과, 라이트 사이클의 전체 시간은 적어도 메모리 셀 어레이(102)에 저장된 라이트 데이터가 안정화되는 리버커리 시간(tRCV)과 동일할 수 있다.
이에 의해 라이트 버퍼(132)에서 임의의 데이터가 오버라이트되기 전에, m 번째 라이트 데이터 및 이전 라이트 데이터는 메모리 셀 어레이(102)에서 안정화될 수 있다. 또한, m 번째 라이트 사이클이 끝날 때까지 연속적인 라이트 또는 리드 동작이 일어나지 않으므로, 라이트 동작 이후에 리드 동작의 에러를 방지할 수 있다.
한편, 이상의 설명으로부터 라이트 회로(112), 라이트 어드레스 버퍼(124) 및/또는 유효성 타이머(126)는 하나의 라이트 유닛(write unit)으로 형성될 수 있음을 이해할 수 있을 것이다. 본 발명의 실시예들에서 라이트 유닛은 비휘발성 메모리 셀 어레이(102)에 데이터를 라이트하며, 라이트 버퍼(132)에서 오버라이트되기 전에 메모리 셀 어레이(102)에 저장된 각 데이터는 안정화될 수 있다. 구체적으로, 라이트 유닛에서 라이트 버퍼(132)의 마지막 엔트리에 채워지는 라이트 데이터를 메모리 셀 어레이(102)에 라이트하는 시간은 라이트 버퍼(132)의 다른 엔트리에 채워지는 라이트 데이터를 메모리 셀 어레이(102)에 라이트하는 시간에 비해 선택적으로 증가될 수 있다.
도 12는 본 발명의 다른 실시예에 따른 라이트 회로를 설명하는 도면이다. 도 12를 참고하면, 라이트 회로(112b)는 제어부(150)로부터 라이트 인에이블 신호(WE)와 라이트 드라이버 인에이블부(810)로부터 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 제공받는 NAND 게이트(802)를 포함한다. 제어부(150)는 라이트 커맨트의 수신에 응답하여 하이 레벨의 라이트 인에이블 신호(WE)를 생성할 수 있다. 라이트 드라이버 인에이블부(810)에 대해서는 이하에서 자세히 설명한다.
인버터(804)는 NAND 게이트(802)의 출력을 반전시키며, 링오실레이터(806)는 NAND 게이트(802)에 의해 하이 레벨의 라이트 인에이블 신호(WE)가 수신될 경우 트리거될 수 있다. 카운터(808)는 링오실레이터(806)의 출력에 따라 카운트를 생성할 수 있다. 라이트 드라이버 인에이블부(810)는 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 생성하며, 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 카운 터(808)가 소정의 카운트 값에 도달할 때까지 하이 레벨일 수 있다. 다시 말해, 라이트 드라이버 인에이블부(810)는 제1 라이트 드라이버 인에이블 신호(WT_EN1)를 생성하며 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 인에이블 기간으로 지칭되는 소정의 시간 동안 하이 레벨일 수 있다. 선택부(840)는 제1 코드(FIRST CODE) 또는 제2 코드(SECOND CODE)를 라이트 드라이버 인에이블부(810)에 선택적으로 제공하여 인에이블 기간을 프로그램한다. 선택부(840)가 제1 코드(FIRST CODE)를 라이트 드라이버 인에이블부(810)에 제공할 경우, 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 제1 인에이블 기간(tWT) 동안 하이 레벨일 수 있다. 반면에, 선택부(840)가 제2 코드(SECOND CODE)를 라이트 드라이버 인에이블부(810)에 제공할 경우, 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 제2 인에이블 기간 동안 하이 레벨일 수 있다. 여기서, 제2 인에이블 기간은 메모리 셀 어레이(102)에 라이트된 데이터가 안정화되는 기간과 동일하거나 더 길 수 있다. 예를 들어, 제2 인에이블 기간은 유효 기간과 동일할 수 있다.
도 12에 도시된 바와 같이, AND 게이트(842)는 선택부(840)의 선택을 제어하는 제어 신호를 제공한다. AND 게이트(842)는 유효성 타이밍 신호(VT) 및 마지막 엔트리 플래그(lef)를 AND 연산할 수 있다. 이에 의해, AND 게이트(842)는 유효성 타이밍 신호(VT) 및 마지막 엔트리 플래그(lef)가 모두 하이 레벨인 경우에만 하이 레벨을 출력하며, 이에 응답하여 선택부(840)는 제2 코드(SECOND CODE)를 제공할 수 있다. 반면에, AND 게이트(842)가 로우 레벨을 출력하는 경우, 선택부(840)는 제1 코드(FIRST CODE)를 제공할 수 있다.
본 발명의 다른 실시예에서, 제1 라이트 드라이버 인에이블 신호(WT_EN1)가 라이트 드라이버(816)에 제공되고, 하이 레벨의 제1 라이트 드라이버 인에이블 신호(WT_EN1)에 응답하여 인에이블된 라이트 드라이버(816)가 메모리 셀 어레이(102)에 적절한 전압 및/또는 전류를 제공하여 데이터 입력 버퍼(134)에서 제공된 라이트 데이터(WDATA)를 라이트할 수 있다. 라이트 데이터(WDATA)를 라이트하는 라이트 사이클 시간의 길이는 제1 라이트 드라이버 인에이블 신호(WT_EN1)가 하이 레벨인 시간에 의해 조절될 수 있다. 여기서, 로우 레벨의 제1 라이트 드라이버 인에이블 신호(WT_EN1)는 라이트 드라이버(816)를 디스에이블시킬 수 있다.
도 12에 도시된 라이트 드라이버(816)는 도 8에 도시된 라이트 드라이버(816)와 실질적으로 동일한 동작을 수행할 수 있다. 이에 의해, 도 10의 순서도 및 도 11의 타이밍도 역시 도 12의 실시예에 실질적으로 동일하게 적용될 수 있다. 그리고, 도 12의 실시예는 도 8을 이용하여 설명한 바와 같은 동일한 효과를 가질 수 있다
본 발명의 또 다른 실시예에서는 도 12의 라이트 회로에서 제1 코드(FIRST CODE)가 라이트 사이클 시간이 노말 라이트 시간보다 더 길게 지속되도록 할 수 있다. 반면에, 제2 코드(SECOND CODE)는 라이트 사이클 시간이 메모리 셀 어레이(102)에 라이트된 데이터가 안정화되는 시간 즉, 리커버리 시간(tRCV)보다 짧게 지속되도록 할 수 있다.
도 13a는 본 발명의 또 다른 실시예에서의 다수의 라이트 동작에서 예시적인 라이트 사이클 시간 및 라이트 버퍼 상태를 설명하는 도면이다. 도 13a를 참고하 면, 제1 내지 m-1 번째의 각 라이트 동작에서 라이트 어드레스(WADDR)는 라이트 어드레스 버퍼(124)에 저장되며, 상기 라이트 어드레스(WADDR)에 대응하는 유효성 플래그는 셋된다. 또한, 라이트 회로(112)는 각 라이트 어드레스에 대응하는 라이트 데이터(WDATA)를 라이트한다. 여기서, 라이트 사이클 시간은 노말 라이트 시간(tWT)보다는 크며, 리커버리 시간(tRCV)보다는 작을 수 있다. 즉, 라이트 사이클 시간은 tWT+tn일 수 있다. 그러나, 도 13a에 도시된 바와 같이 라이트 버퍼(132)의 마지막 엔트리가 채워지고 마지막 엔트리가 유효할 경우, 라이트 버퍼(132)는 마지막 엔트리 플래그(lef)를 셋할 수 있다. 이에 응답하여, 라이트 회로(112)는 m번째 라이트 사이클 시간을 제1 연장된 라이트 사이클 시간(tWT+tn)보다는 길며 리커버 시간(tRCV)보다는 짧게 연장할 수 있다. 본 발명의 또 다른 실시예에서, 제1 내지 m-1 번째 라이트 사이클 시간은 노말 라이트 시간(tWT)보다는 길므로, 마지막 또는 m 번째 라이트 사이클 시간이 리커버리 시간(tRCV)보다 짧아도 여전히 라이트 버퍼(132)에서 오버라이트되기 전에 m 번째 라이트 데이터 또는 이전 라이트 데이터가 메모리 셀 어레이(102) 내에서 안정화될 수 있다.
한편, 도 11 및 도 13a를 이용하여 설명한 반도체 장치는 각 라이트 사이클에서 ISPP(Incremental Step Pulse Programing) 방식에 의해 메모리 셀 어레이(102)에 라이트 데이터를 라이트할 수 있다.
도 13b는 예시적인 ISPP 방식을 설명하는 도면이다. 도 13b를 참고하면, 각 라이트 사이클은 다수의 프로그램 루프(loop)를 포함하며, 각 프로그램 루프(Loop)는 프로그램 동작(program) 및 검증 동작(Vfy RD)을 포함할 수 있다. 프로그램 동 작(program)에서 선택된 워드 라인에는 프로그램 전압(Vpgm)이 제공될 수 있으며, 검증 동작(Vfy RD)에서 선택된 워드 라인에는 검증 전압(Vvfy)이 제공되는 반면, 선택되지 않은 워드 라인에는 리드 전압(Vread)이 제공될 수 있다. 도면에서는 프로그램 전압(Vpgm)을 구형파로 단순화하여 도시하였으나, 이에 한정하는 것은 아니며 예컨대, 메모리 셀(Cp)을 셋시키거나 리셋시키는 경우에 따라 프로그램 전압(Vpgm)의 형태는 달라질 수 있다. 또한, 도면에서는 프로그램 전압(Vpgm)을 도시하였으나, 이에 한정하는 것은 아니며 본 발명의 다른 실시예에서는 이에 대응하는 프로그램 전류가 제공될 수 있다.
도 13b에 도시된 바와 같이, ISSP 방식에서 각 프로그램 루프(Loop)마다 제공되는 프로그램 전압(Vpgm)은 소정의 값(ΔV)만큼 단계적으로 증가할 수 있다. 그리고, 검증 동작(Vfy RD)에서 적절히 라이트된 데이터를 리드할 경우, 프로그램 루프(loop) 및 라이트 사이클이 종료될 수 있다. 즉, 검증 동작(Vfy RD)에서 라이트된 데이터가 검증될 때까지 프로그램 루프(Lloop)가 계속될 수 있다.
도 13b에는 본 발명의 실시예들에 따른 반도체 장치의 라이트 동작시 이용되는 예시적인 ISPP 방식이 도시되어 있으나, 이에 한정하는 것은 아니다. 본 발명의 다른 실시예에 따른 반도체 장치에서는 다른 형태의 ISPP 방식 또는, ISPP 방식 이외의 다른 형태의 라이트 방식 역시 이용될 수 있다.
도 14는 본 발명의 몇몇 다른 실시예에 따른 반도체 장치를 설명하는 도면이다. 도 14를 참고하면, 도 14의 실시예는 라이트 어드레스 버퍼(124)가 라이트 회로(112)에 마지막 엔트리 플래그(lef)를 제공하지 않는 점과 도 1의 라이트 회 로(112)가 라이트 회로(112_1)로 대체된 점을 제외하고는 도 1의 실시예와 실질적으로 동일할 수 있다.
도 15a는 도 14에서 일 실시예에 따른 라이트 회로를 설명하는 예시적인 블록도이다. 도 15a를 참고하면, 라이트 회로(112_1a)는 NAND 게이트(820)에 입력되는 마지막 엔트리 플래그(lef)가 하이 레벨의 논리값(또는 로직 레벨 "1")으로 바뀐 것을 제외하고는 도 8의 라이트 회로(112a)와 실질적으로 동일할 수 있다.
본 발명의 몇몇 다른 실시예에서 라이트 회로(112_1a)는 각 라이트 데이터(WDATA)를 라이트하는 경우 라이트 사이클 기간을 연장하여 각 라이트 데이터가 다음 리드 또는 라이트 동작 이전에 안정화될 수 있음을 이해할 수 있을 것이다. 즉, 각 라이트 동작은 유효 기간의 만료시까지 연장될 수 있다.
도 15b는 다른 실시예에 따른 라이트 회로를 설명하는 도면이다. 도 15b를 참고하면, 도 15b의 라이트 회로(112_1b) 선택부(840) 및 AND 게이트(842)가 생략되었으며, 제2 코드(SECOND CODE)가 라이트 드라이버 인에이블부(810)에 제공되는 점을 제외하고는 도 12의 라이트 회로(112b)와 실질적으로 동일할 수 있다. 제2 코드를 제공하는 대신, 라이트 드라이버 인에이블부(810)는 에컨대, 퓨즈 등을 이용하여 프로그램밍되어, 제1 라이트 드라이버 인에이블 신호(WT_EN1)의 길이를 도 12의 실시예에서 제2 인에이블 기간으로 세팅할 수 있다.
도 16은 도 14의 실시예의 동작을 설명하는 순서도이다. 도 16을 참고하면, S1310 및 S1315 단계는 상기에서 설명한 도 10의 S810 및 S815 단계와 실질적으로 동일하게 동작할 수 있다. 그리고, 라이트 사이클 시간 또는 라이트 기간은 유효 기간의 만료시까지 증가될 수 있다(S1320). 라이트 데이터(1st WDATA~mth WDATA)는 상기에서 설명한 도 10의 S830 단계와 실질적으로 동일한 방식으로 메모리 셀 어레이(102) 내에 라이트될 수 있다(S1325).
도 17은 본 발명의 몇몇 또 다른 실시예에 따른 반도체 장치를 설명하는 도면이다. 도 17을 참고하면, 도 17의 실시예는 도 1의 라이트 어드레스 버퍼(124) 및 라이트 회로(112)가 라이트 어드레스 버퍼(124_1) 및 라이트 회로(112_2)로 변경된 점을 제외하고는 도 1의 실시예와 실질적으로 동일할 수 있다.
라이트 어드레스 버퍼(124)는 마지막 엔트리 플래그(lef) 대신 최상위 엔트리 플래그(highest entry flag)(hef)를 생성하는 점을 제외하고는 도 1의 라이트 어드레스 버퍼(124)와 실질적으로 동일할 수 있다. 여기서, 최상위 엔트리 플래그(hef)는 유효 라이트 어드레스를 저장하고 있는 가장 높은 수의 엔트리(예, 1 내지 m이며, 여기서 m은 마지막 엔트리)를 지시할 수 있다. 다시 말해, 최상위 엔트리 플래그(hef)는 가장 최근의 라이트 어드레스 및/또는 라이트 데이터가 저장된 엔트리를 지시할 수 있다.
도 18은 일 실시예에 따른 라이트 회로(112_2)를 설명하는 도면이다. 도 18을 참고하면, 라이트 회로(112_2)는 도 12의 선택부(840)가 선택부(1802)로 대체되었으며, AND 게이트(842)가 삭제되고, 코드 레지스터(1804)가 추가된 점을 제외하고는 도 12의 라이트 회로(112b)와 실질적으로 동일할 수 있다. 따라서, 이하에서는 설명의 편의를 위하여 도 12의 라이트 회로 및 도 18의 라이트 회로의 차이점에 대해서만 설명한다.
도 18을 참고하면, 제어부(150)는 코드 레지스터(1804)를 프로그램하여, 다수의 코드(CODES)를 저장한다. 구체적으로, 코드 레지스터(1804)는 m 개의 코드를 저장하며, 각 코드는 라이트 어드레스 버퍼(124) 및 라이트 버퍼(132)의 대응하는 엔트리와 연관될 수 있다. 다시 말해, 각 코드는 제1 내지 제 m 라이트 사이클 시간 중 하나에 대응하며, 대응하는 라이트 사이클 시간 동안 제1 라이트 드라이버 인에이블 신호(WT_EN1)가 하이 레벨인 시간을 세팅할 수 있다.
선택부(840)는 최상위 엔트리 플래그(hef)에 따라 코드 레지스터(1804)에서 제공된 m 개의 코드 중 하나를 라이트 드라이버 인에이블부(810)에 선택적으로 제공한다. 구체적으로, 최상위 엔트리 플래그(hef)에 의해 지시되는 엔트리에 대응하는 코드가 선택되어 출력될 수 있다. 코드가 셋되어 라이트 사이클 시간이 누적되어 연장되는 것은 라이트 버퍼(132)에 오버라이트되기 전에 메모리 셀 어레이(102)에서 라이트 데이터가 안정화되는 것을 보장할 수 있다.
코드는 커맨드/모드 레지스터 세트를 제어부(150)에 제공하여 코드 레지스터(1804)에 프로그램될 수 있다. 이에 의해, 용도에 따라 반도체 장치의 성능을 최적화시킬 수 있으며, 라이트 시간을 보다 유연하게 세팅할 수 있다.
예를 들어, 라이트 사이클 시간 중 하나만 다른 라이트 사이클 시간과 다르거나, 모든 라이트 사이클 시간이 서로 다를 수 있다. 또한, 모든 라이트 사이클 시간 중 일부만 다를 수도 있다. 다시 말해, 본 발명의 몇몇 또 다른 실시예에서 각 라이트 사이클 시간은 독립적으로 제어될 수 있다.
도 17의 실시예는 다양한 동작 모드를 가능케 할 수 있다. 도 17의 실시예는 (1) 제1 내지 m-1 번째 라이트 사이클 시간이 tWT와 동일한 제1 내지 m-1 번째 코드 및 (2) m 번째 라이트 사이클 시간이 도 1의 기대되는 리커버리 시간(tRCV)(예, 유효 기간)과 동일한 m 번째 코드를 프로그램함으로써, 도 1을 이용하여 설명한 것과 실질적으로 동일하게 동작할 수 있다. 다른 실시예에서, 도 17의 실시예는 제1 내지 m 번째 라이트 사이클 기간이 도 1의 기대되는 리커버리 시간(tRCV)(예, 유효 기간)과 동일한 제 1 내지 m 코드를 프로그램함으로써, 도 14를 이용하여 설명한 것과 실질적으로 동일하게 동작할 수 있다.
본 발명의 또 다른 실시예에서, 도 18의 코드 레지스터(1804)는 m 코드의 다수의 세트를 저장할 수 있도록 충분히 클 수 있다. 코드 레지스터(1804)는 m 코드의 다양한 세트가 프로그램 또는 프리 프로그램되어 있을 수 있다. 각 코드들의 세트는 라이트 사이클 시간의 다양한 세트를 제공하며, 다른 동작 모드에 대응될 수 있다. 예를 들어, 제1 모드에 대응하는 코드 세트가 프로그램되어 제1 내지 m-1 번째 사이클 시간은 tWT으로 세팅되며, m 번째 사이클 시간은 도 1의 기대되는 리커버리 시간(tRCV)과 동일하게 세팅될 수 있다. 이에 의해 제1 모드는 도 1 및 도 10을 이용하여 설명한 것과 실질적으로 동일한 동작을 할 수 있다. 제2 모드에 대응하는 코드 세트가 프로그램되어 제1 내지 m 라이트 사이클 시간이 도 1의 기대되는 리커버리 시간(tRCV)과 동일하게 세팅될 수 있다. 이에 의해 제2 모드는 도 14 및 도 16을 이용하여 설명한 것과 실질적으로 동일한 동작을 할 수 있다. 또한, 커맨드 또는 모드 레지스터 세트가 제어부(150)에 제공되어 동작 모드를 지시할 수 있다. 이에 응답하여, 제어부(150)는 코드 레지스터(1804)에 동작 모드를 알리고, 모 드 레지스터()는 동작 모드에 대응하는 코드 세트를 출력할 수 있다.
이에 의해, 도 19에 도시된 바와 같이 동작될 수 있다. 도 19를 참고하면, 커맨드 및/또는 모드 레지스터 세트가 제어부(150)에 제공되어 동작 모드가 세팅된다(S1910). 다음으로, 제어부(150)가 코드 레지스터(1804)에 동작 모드를 통지한다(S1915). 제어부(150)가 코드 레지스터(1804)에 제1 모드가 선택되었음을 통지한 경우, 코드 레지스터(1804)는 제1 모드에 대응하는 코드 세트를 출력하여(S1920) 도 1 및 도 10을 이용하여 설명한 것과 실질적으로 동일한 동작을 할 수 있다. 그러나, 제어부(150)가 코드 레지스터(1804)에 제2 모드가 선택되었음을 통지한 경우, 코드 레지스터(1804)는 제2 모드에 대응하는 코드의 세트를 출력하여(S1925) 도 14 및 도 16을 이용하여 설명한 것과 실질적으로 동일한 동작을 할 수 있다. 한편, 도면에는 도시하지 않았으나, 제1 및 제2 모드보다 많은 다양한 모드가 코드 레지스터(1804)에 프로그램될 수도 있다.
도 20은 본 발명의 몇몇 또 다른 실시예에 따른 반도체 장치를 설명하는 도면이다. 도 20을 참고하면, 도 20의 실시예는 라이트 버퍼(132_1)가 패스-쓰루(pass-through) 라이트 버퍼인 점을 제외하고는 앞에서 설명한 실시예들과 실질적으로 동일할 수 있다. 설명의 편의를 위하여, 도 20은 상기의 라이트 버퍼(132_1)를 포함하는 도 1의 반도체 장치로 도시하였으나, 이에 한정하는 것은 아니다. 도 20을 참고하면, 본 발명의 몇몇 또 다른 실시예에서 라이트 데이터(WDATA)는 도 1의 데이터 입력 버퍼(134) 대신에 라이트 버퍼(132_1)로부터 라이트 회로(112)에 제공될 수 있다.
도 21은 본 발명의 또 다른 실시예에 따른 반도체 장치를 설명하는 도면이다. 도 21을 참고하면, 도 21의 실시예는 라이트 버퍼(132_2)가 메모리 셀 어레이인 점을 제외하고는 이상에서 설명한 반도체 장치와 실질적으로 동일할 수 있다. 구체적으로, 라이트 버퍼(132_2)는 메모리 셀 에러이(102)와는 다른 형태의 비휘발성 메모리 셀 어레이일 수 있다. 예를 들어, 라이트 버퍼(132_2)의 메모리 셀 어레이는 메모리 셀 어레이(102)보다 세팅 시간이 짧은 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등일 수 있다. 여기서, 라이트 버퍼(132_2)의 메모리 셀 어레이는 메모리 셀 어레이(102)보다 작을 수 있다. 설명의 편의를 위하여, 도 21은 상기의 라이트 버퍼(132_2)를 포함하는 도 1의 반도체 장치만을 도시하였으나, 이에 한정하는 것은 아니다. 도 21에 도시된 바와 같이, 본 발명의 몇몇 또 다른 실시예에서 디코더(2010)는 라이트 버퍼(132_2)에 연관된 프리디코더, 로우 디코더 및 컬럼 디코더와 동일한 동작을 하며, 바이패스 제어부(128)에서 제공되는 엔트리 인디케이터(ENTRY_IND)에 의해 지시되는 엔트리를 디코딩하여 라이트 버퍼(132_2)의 워드 라인 및 컬럼 선택부를 구동시킬 수 있다. 도 20의 실시예에서 나머지 동작들은 앞에서 설명한 실시예들에서와 실질적으로 동일할 수 있다.
도 22는 본 발명의 몇몇 또 다른 실시예에 따른 반도체 장치를 설명하는 도면이다. 도 22를 참고하면, 도 22의 실시예는 바이패스 인에이블 회로(128) 및 라이트 어드레스 버퍼(124)가 바이패스 CAM(Content Addressable Memory)(2110)으로 대체된 점을 제외하고는 앞에서 설명한 실시예들과 실질적으로 동일할 수 있다. 설 명의 편의를 위하여, 도 22는 바이패스 CAM(2110)을 포함하는 도 1의 반도체 장치로 도시하였으나 이에 한정하는 것은 아니다. CAM은 데이터를 수신하여, 이미 저장되어 있는 동일한 데이터의 어드레스를 출력하는 공지의 메모리일 수 있다. 이에 의해 본 발명의 몇몇 또 다른 실시예에서, 바이패스 CAM(2110)은 어드레스 버퍼(120)에 의해 출력되는 라이트 어드레스(WADDR)를 저장한다. 또한, 바이패스 CAM(2110)은 라이트 어드레스 버퍼(124)에 관해 설명한 것과 동일한 방식으로 저장된 라이트 어드레스와 관련된 유효성 플래그를 저장하며, 유효성 타이머(126) 및 무효화부(160)의 출력에 따라 유효성 플래그를 리셋할 수 있다. 그러나 본 발명의 몇몇 또 다른 실시예에서, 바이패스 CAM(2110)은 리드 어드레스(RADDR)를 CAM에 입력하여 엔트리 어드레스를 생성하고, 이를 엔트리 인디케이터(ENTRY_IND)로서 라이트 버퍼(132)에 제공할 수 있다. 여기서, 라이트 버퍼(132)는 CAM과 동일한 방식으로 어드레스를 지정할 수 있다. 예를 들어, 라이트 버퍼(132)는 도 21에서와 같이 메모리 셀 어레이로서 구성되어, 라이트 버퍼(132)의 저장 위치(storage location)는 CAM에 대응하여 어드레스될 수 있다. 또한, 변환부(translation unit)가 첨가되어 출력 어드레스를 라이트 버퍼(132)의 엔트리 위치로 변환할 수 있다.
도 23 내지 도 29는 본 발명의 실시예들에 따른 반도체 장치를 이용예를 설명하는 도면들이다.
도 23을 참고하면, 본 발명의 일 실시예에 따른 시스템은 메모리 제어부(150)에 연결된 메모리(2210)를 포함한다. 여기서, 메모리(2210)는 앞에서 설명한 실시예들에 따른 반도체 장치일 수 있다. 메모리 제어부(2220)는 메모리(2210) 의 동작을 제어하는 것에 대응하는 입력 신호를 제공할 수 있다. 예를 들어, 메모리 제어부(150)는 커맨드(CMD) 및 어드레스 신호를 제공할 수 있다.
도 24를 참고하면, 도 24의 실시예는 메모리(2210)와 메모리 제어부(2220)가 카드(2330)에 임바디(embody)되는 점을 제외하고는 도 23의 실시예와 실질적으로 동일할 수 있다. 예를 들어, 상기 카드(2330)는 플래시 메모리 카드 등과 같은 메모리 카드일 수 있다. 즉, 카드(2330)는 디지털 카메라, PC(Personal Computer) 등의 전자 장치에 사용되는 소정의 산업 표준(industry standard)을 충족하는 카드일 수 있다. 여기서, 메모리 제어부(2220)는 다른 장치(예, 외부 장치)로부터 카드(2330)에 제공되는 제어 신호에 따라 메모리(2210)를 제어할 수 있다.
도 25를 참고하면, 메모리(2210)는 호스트 시스템(2410)과 연결될 수 있다. 호스트 시스템(2410)은 PC, 디지털 카메라 등과 같은 프로세싱 시스템일 수 있으며, 메모리(2210)를 이동식 저장 매채로서 사용할 수 있다. 여기서, 호스트 시스템(2410)은 메모리(2210)의 동작을 제어하는 입력 신호 예컨대, 커맨드(CMD) 및 어드레스 신호 등을 제공할 수 있다.
도 26을 참고하면, 도 24의 카드(2330)가 호스트 시스템(2410)에 연결될 수 있으며, 호스트 시스템(2410)은 카드(2330)에 제어 신호를 제공하여 메모리 제어부(2220)가 메모리(2210)의 동작을 제어할 수 있다.
도 27은 본 발명의 실시예들에 따른 반도체 장치를 이용하는 예시적인 전자 장치를 설명하는 블록도이다. 여기서, 전자 장치는 휴대용 전자 장치로서 예컨대, 노트북, 디지털 및/또는 비디오 카메라, PDA, 모바일 폰, 네비게이션 장치, GPS 시 스템, 오디오 및/또는 비디오 플레이어 등을 포함할 수 있다. 하지만 이에 한정하는 것은 아니며, 본 발명의 실시예들에 따른 전자 장치는 예컨대, 비휘발성 메모리 장치가 이용되는 대용량 네트워크 서브 또는 다른 컴퓨터 장치 등을 포함할 수도 있다.
도 27을 참고하면, 본 발명의 실시예들에 반도체 장치를 이용하는 예시적인 장치는 앞에서 설명한 실시예들에 따른 반도체 장치를 이용하는 메모리(3010)를 포함한다. 여기서, 메모리(3010)는 본 발명의 실시예들에 따른 동작을 수행하는 메모리 어레이가 포함된 적어도 하나의 IC 다이를 포함할 수 있다. 이러한 IC 다이는 일반적인 DRAM 모듈과 같이 모듈 내에서 독립적으로 분리되어 있거나, 다른 온-칩(on-chip) 기능부와 함께 집적될 수 있다. 후자의 경우, 메모리(3010)는 I/O 프로세서 또는 마이크로 컨트롤러의 일부일 수 있다.
또한 도 27의 실시예는 메모리(3010)를 동작에 이용되는 데이터 및 코드를 저장하는 프로그램 메모리로서 사용하는 프로세스 또는 CPU(Central Processing Unit)(3510)를 포함할 수 있다. 여기서, 메모리(3010)는 코드 및 데이터의 비휘발성 저장용의 대용량 저장 장치로서 사용될 수도 있다.
I/O 인터페이스(3515)는 도 27의 예시적인 전자 장치가 예컨대, PC 또는 컴퓨터 네트워크 등의 다른 장치와 통신할 수 있도록 한다. 이러한 I/O 인터페이스(3515)는 컴퓨터 주변장치 버스(computer peripheral bus), 고성능 디지털 통신 전송 라인 또는 무선 전송용 안테나에 억세스를 제공할 수 있다. 프로세서(3510)와 메모리(3010) 및 프로세스(3510)와 I/O 인테페이스(3515)간의 통신은 예컨대, 도 27의 버스(3500)와 같이 통상적인 컴퓨터 버스 아키텍쳐를 이용할 수 있다. 하지만, 이에 한정하는 것은 아니며 예컨대, 메모리(3010)는 도 24의 실시예와 같이 메모리 제어부(도 24의 2220)를 통하여 프로세서(3510)와 통신할 수도 있다. 그리고, I/O 인터페이스(3515)는 메모리 제어부를 통해서 메모리(3010)와 통신하거나, 메모리 제어부가 없는 경우에는 메모리(3010)와 직접적으로 통신할 수도 있다. 도 27의 실시예에서 상기에서 언급한 구성요소들(예, 메모리(3010, 프로세서(3510), I/O 인터페이스(3515) 등)은 파워 서플라이 버스(3525)를 통하여 배터리(3520)로부터 파워를 공급받을 수 있다.
도 28은 본 발명의 실시예들에 따른 반도체 장치를 이용하는 컴퓨터 시스템을 설명하는 개략적인 블록도이며, 도 29는 도 28의 컴퓨터 시스템을 구체적으로 설명하는 예시적인 블록도이다.
도 28을 참고하면, 메모리(2210)는 컴퓨터 시스템(2610)에서 CPU (2620)와 연결될 수 있다. 예를 들어, 컴퓨터 시스템(2610)은 PC, PDA(Personal Data Assistant) 등일 수 있다. 메모리(2210)는 CPU(2620)와 직접적으로 연결되거나 버스 등을 통하여 연결될 수 있다. 도 27a에서는 설명의 편의를 위하여, 컴퓨터 시스템(2610)에 포함되는 모든 구성 요소를 도시하지 않았으나 이에 한정하는 것은 아니다.
이하에서 도 29를 참고하여, 예시적인 컴퓨터 시스템에 대하여 자세히 설명한다.
도 29의 예시적인 컴퓨터 시스템(2910)은 프로세스 서브시스템(2920), 메모 리 서브시스템(2930), I/O 제어부(2940), 메모리(2910) 및 슈퍼 IO(Super I/O)(2950) 등을 포함할 수 있다.
메모리 서브시스템(2930)은 제1 버스(bus)(2911)에 의해 적어도 하나의 프로세스 또는 CPU를 포함하는 프로세스 서브시스템(2920)과 연결된다. 메모리 서브시스템(2930)은 제1 버스(예, 호스트 버스 또는 프로세서 버스)에 의해 프로세스 서브시스템(2920)과 연결된 메모리 제어 허브(memory controller hub; 이하 MCH)(2932) 및 메모리 버스(2915)에 의해 MCH(2932)와 연결된 적어도 하나의 메인 메모리(2934)를 포함할 수 있다. 메인 메모리(2934)는 프로세스 서브시스템(2920)에 사용되는 OS(Operating System)와 같은 인스트럭션(instruction) 또는 인포메이션(information)이 저장되며 예컨대, DRAM(Dynamic RAM), ROM(Read Only Memory), VRAM(Video RAM) 등일 수 있다. 한편, 도면에는 도시하지 않았으나 그래픽 제어부, 로컬 메모리 및 표시 장치(예, CRT(Cathode Ray Tube) 표시 장치, LCD(Liquid Crystal Display) 표시 장치, 평판 표시 장치) 등을 포함하는 그래픽 장치가 그래픽 버스를 통하여 MCH(2932)와 연결될 수도 있다.
I/O 제어부(또는 ICH; I/O Controller Hub)(2940)는 넌-리거시(non-legacy) PCI(Peripheral Component Interconnect)와 같은 주변장치(peripheral) 인터페이스를 제공하는 허브 링크(2912)에 의해 MCH(2932)와 연결된다. I/O 제어부(2940)는 제1 버스(2911)와 넌-리거시 PCI 버스(2913) 및 로우 핀 카운트(low pin count; 이하 LPC) 버스(2914)와 같은 주변장치 버스 사이의 인터페이스로 동작할 수 있다. PCI 버스(2913)는 자동 구성능(automatic configurability) 및 멀티플레스 어드레 스를 가지는 고성능의 32/64 비트 싱크로너스 버스일 수 있으며, 이에 대해서는 PCI SIG(Special Interest Group)에서 1995년 6월 1일에 발행된 "PCI Local Bus Specification, Revision 2.1" 또는 1998년 12월 18일에 발행된 "PCI Local Bus Specification, Revision 2.2"에 자세히 설명되어 있다. 하지만 이에 한정하는 것은 아니며, ISA(Industry Standard Architecture) 버스 및 EISA(Extended Industry Standard Architecture) 버스와 같은 다른 형태의 버스 역시 사용될 수 있다.
메모리(2910)는 LPC 버스(2914)를 통하여 I/O 제어부(2940)와 연결될 수 있으며, OS; 컴퓨터 시스템(2900)의 스타트-업(start up)시 시스템 BIOS(Basic Input/Output Start up) 인스터럭션 세트; 및 다양한 파워 절약 기능을 제공하고, 풀-온(full-on), 스탠바이(standby) 및 슬립 모드(sleep mode) 사이에서 파워 절약 동작을 관리하는데 이용되는 ACPI 인스트럭션 등을 저장할 수 있다. 이러한 메모리(2910)는 앞에서 설명한 본 발명의 실시예들에 따른 반도체 장치일 수 있다. 한편, OS, BIOS 인스트럭션 및 ACPI 인스트럭션 등은 메모리 서브시스템(2930)의 메인 메모리(2934)에 저장될 수도 있다.
슈퍼 I/O(2950)는 LPC 버스(2914)와 연결되어 다수의 I/O 장치(2960)에 인터페이스를 제공한다. 여기서, 다수의 I/O 장치는(2960) 예컨대, 알파뉴머릭(alphanumeric) 키보드의 동작을 제어하는 키보드 컨트롤러, 마우스, 트랙볼, 터치패드, 조이스틱 등과 같은 커서 제어 장치, 마그네틱 테이프, 하드 디스크 드라이브(hard disk drive; HDD), 플로피 디스크 드라이브(floppy disk drives; FDD), 솔리드 스테이트 드라이브(solid state drave; SSD)와 같은 대용량 저장 장치 및 프린터, 스캔너 및 표시 장치에 대한 직렬 및 병렬 포트 등을 포함할 수 있다. 여기서, 솔리드 스테이트 드라이브 또한 앞에서 설명한 본 발명의 실시예들에 따른 반도체 장치를 이용하여 구현될 수 있다.
모뎀 및 LAN(Local Area Network) 장치와 같은 적어도 하나의 컴플라이언트 주변 장치(2970)가 PCI 버스(2913)에 연결되어, PSTN(Public Switched Telephone Network) 또는 예컨대, LAN과 같은 다른 네트워크에 억세스를 가능하게 할 수 있다. 또한, PCI 장치 및 USB(universal serial bus) 장치가 2000년 4월 27일 발행된 "PCI Local Bus Specification, Revisions 2.1 and 2.2" 및 "Universal Serial Bus Specification, Revision 2.0"에 따라 이용될 수도 있다. 이에 의해, 새로운 비디오, 네트워킹, 디스크 메모리 저장 장치 및 텔레폰/팩스/모뎀 어댑터, 응답기(answering machine), 스캔너, PDA 등과 같은 통신 주변 장치가 부가적으로 이용될 수 있다.
메모리 제어부(2932) 및 그래픽 제어부(미도시)는 하나의 그래픽/메모리 제어 허브(graphics and memory controller hub; 이하 GMCH)로 통합될 수 있으며, 이러한 GMCH는 I/O 제어부(2940)와 함께 호스트 칩셋(host chipset)의 일부로 구현될 수도 있다.
GMCH가 호스트 칩셋의 일부로서 구성될 경우, I/O 제어부(2940)는 다양한 I/O 장치 등에 인터페이스를 제공할 수 있다. 이러한 인터페이스는 예컨대, ISA(Industry Standard Architecture) 옵션 및 LAN 옵션, PCI 슬롯에 연결된 적어도 하나의 I/P 장칠ㄹ 가지는 PCI 버스(PCI Local Bus Specification Revision 2.2); 마우스, 키보드 및 다른 주변 장치와 같은 또 다른 I/O 장치군에 인터페이스를 제공하는 슈퍼 I/O 칩(미도시); 오디오 코덱(CODED; coder/decoder) 및 모뎀 코덱; 다수의 USB 포트(USB Specification, Revision 1.0); 및 적어도 하나의 마그네틱 하드 디스트 장치 또는 I/O 장치들을 수신하는 다수의 Ultra/66 ATA(AT Attachment) 2 포트(X3T9.2 948D Specificition; IDE(Integrated Drive Electronics) 포트로 알려지기도 함)를 포함할 수 있다.
USB 포트 및 IDE 포트가 하드 디스크 드라이브 및 컴팩드 디스크 롬(CD-ROM)에 인터페이스를 제공하는데 사용될 수도 있다. 또한, I/O 장치 및 메모리가 호스트 칩셋의 I/O 제어부에 연결되어 I/O 지원 및 추가적인 기능 확장을 할 수 있다. 이러한 I/O 장치는 예컨대, 알파뉴머릭 키보드의 동작을 제어하는 키보드 컨트롤러, 마우스, 트랙볼, 터치패드, 조이스틱 등과 같은 커서 제어 장치, 마그네틱 테이프, 하드 디스크, 플로피 디스크 장치, 솔리드 스테이트 디스크 와 같은 대용량 저장 차리, 프린터와 스캔너에 대한 직렬 및 병렬 포트 등이 있다. 메모리는 또한 LDC 버스를 통하여 호스트 칩셋의 ICH에 연결될 수도 있다. 메모리는 컴퓨터 시스템의 시스템 BIOS 루틴 세트를 저장할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
도 1은 본 발명의 몇몇 실시예에 따른 반도체 장치를 설명하는 도면이다.
도 2는 본 발명의 몇몇 실시예에 따른 메모리 셀 어레이(102)의 레이 아웃을 설명하는 도면이다.
도 3a는 도 2의 메모리 블록을 설명하는 도면이다.
도 3b는 스택형 메모리 셀 어레이를 설명하는 블록도이다.
도 3c는 도 3b의 각 레이어를 자세히 설명하기 위한 도면이다.
도 3d 내지 도 3f는 도 3b의 각 레이어를 자세히 설명하기 위한 단면도이다.
도 4a는 라이트 어드레스 버퍼를 설명하는 예시적인 도면이다.
도 4b 내지 도 4f는 도 1의 예시적인 무효화부를 설명하는 도면들이다.
도 5는 라이트 버퍼를 설명하는 예시적인 도면이다.
도 6a 내지 도 7은 본 발명의 몇몇 실시예들에 따른 리드 동작을 설명하는 도면들이다.
도 8 내지 도 13은 도 1의 예시적인 라이트 회로를 설명하는 도면들이다.
도 14는 본 발명의 몇몇 다른 실시예들에 따른 반도체 장치를 설명하는 도면이다.
도 15a 내지 도 16은 도 14의 예시적인 라이트 회로를 설명하는 도면들이다.
도 17은 본 발명의 몇몇 또 다른 실시예들에 따른 반도체 장치를 설명하는 도면이다.
도 18 및 도 19는 도 17의 예시적인 라이트 회로를 설명하는 도면들이다.
도 20 내지 도 22는 본 발명의 몇몇 또 다른 실시예들에 따른 반도체 장치를 설명하는 도면들이다.
도 23 내지 도 29는 본 발명의 실시예들에 따른 반도체 장치를 이용예를 설명하는 도면들이다.
(도면의 주요부분에 대한 부호의 설명)
102: 메모리 셀 어레이 104: 로우 디코더
106: 컬럼 디코더 108: 프리 디코더
110: 리드 회로 112, 112_1, 112_2: 라이트 회로
120: 어드레스 버퍼 124, 124_1: 라이트 어드레스 버퍼
126: 유효성 타이머 128: 바이패스 인에이블 회로
132, 132_1, 132_2: 라이트 버퍼 150: 제어부
2110: 바이패스 캠

Claims (29)

  1. 다수의 비휘발성 메모리 셀을 포함하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 라이트되는 다수의 데이터를 저장하는 라이트 버퍼;
    다수의 라이트 어드레스를 저장하는 라이트 어드레스 버퍼로서, 상기 각 라이트 어드레스는 상기 라이트 버퍼에 저장된 상기 각 데이터에 대응하는 라이트 어드레스 버퍼;
    상기 메모리 셀 어레이 또는 상기 라이트 버퍼에서 리드된 데이터를 선택적으로 출력하는 데이터 출력 버퍼;
    입력 리드 어드레스와 상기 라이트 어드레스 버퍼에 저장된 유효(valid) 라이트 어드레스의 동일 여부에 따라 상기 데이터 출력 버퍼를 제어하는 바이패스 인에이블 회로; 및
    입력 라이트 어드레스가 상기 라이트 어드레스 버퍼에 저장된 상기 유효 라이트 어드레스와 동일할 경우 상기 라이트 어드레스 버퍼에 저장된 상기 라이트 어드레스를 무효화시키는 무효화부를 포함하는 반도체 장치.
  2. 제 1항에 있어서,
    상기 무효화부는 상기 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼에 저장된 상기 다수의 라이트 어드레스를 병렬적으로 비교하는 반도체 장치.
  3. 제 2항에 있어서,
    상기 라이트 어드레스 버퍼는 상기 다수의 라이트 어드레스가 저장되는 다수의 엔트리를 포함하고,
    상기 무효화부는 다수의 비교기를 포함하며, 상기 각 비교기는 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼의 상기 각 엔트리에 저장된 상기 라이트 어드레스를 비교하는 반도체 장치.
  4. 제 1항에 있어서,
    상기 무효화부는 상기 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼에 저장된 상기 다수의 라이트 어드페스를 직렬적으로 비교하는 반도체 장치.
  5. 제 4항에 있어서,
    상기 무효화부는 하나의 비교기를 포함하며, 상기 비교기는 상기 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼에 저장된 상기 각 라이트 어드레스를 직렬적으로 비교하는 반도체 장치.
  6. 제 1항에 있어서,
    상기 라이트 어드레스 버퍼는 상기 다수의 라이트 어드레스가 저장되는 m(m은 자연수) 개의 엔트리를 포함하며,
    상기 무효화부는 상기 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼의 j(1<j<m, j는 자연수) 개의 엔트리에 저장된 상기 라이트 어드레스를 동시에 비교하는 반도체 장치.
  7. 제 6항에 있어서,
    상기 무효화부는 상기 j 개의 비교기를 포함하는 반도체 장치.
  8. 제 7항에 있어서,
    상기 m은 상기 j의 배수인 반도체 장치.
  9. 제 1항에 있어서,
    상기 반도체 장치는 적어도 제1 기간을 측정하는 유효성 타이머를 더 포함하되,
    상기 라이트 어드레스 버퍼는 상기 각 라이트 어드레스를 저장하는 경우 상기 각 라이트 어드레스에 대응하는 유효성 플래그를 셋하고, 상기 제1 기간이 만료되는 경우 상기 저장된 각 라이트 어드레스에 대응하는 상기 유효성 플래그를 리셋하며,
    상기 바이패스 인에이블 회로는 상기 입력 리드 어드레스와 상기 라이트 어드레스 버퍼에 저장된 상기 라이트 어드레스가 동일하고, 상기 동일한 라이트 어드레스에 대응하는 상기 유효성 플래그가 셋인 경우, 상기 데이터 출력 버퍼가 상기 라이트 버퍼에서 상기 데이터를 출력하도록 제어하는 반도체 장치.
  10. 제 9항에 있어서,
    상기 제1 기간은 상기 메모리 셀 어레이에 라이트된 상기 데이터가 안정화되는 시간 이상인 반도체 장치.
  11. 제 10항에 있어서,
    상기 유효성 타이머는 라이트 커맨드를 수신하는 것에 의해 상기 제1 기간을 측정하는 것이 트리거(trigger)되는 반도체 장치.
  12. 제 1항에 있어서,
    상기 메모리 셀 어레이에 상기 데이터를 라이트하는 라이트 회로를 더 포함하며,
    상기 라이트 회로는 상기 라이트 버퍼에서 오버라이트(over-write)되기 전에 상기 각 데이터가 상기 메모리 셀 어레이에서 안정한 저장 상태에 도달하도록 라이트 동작을 수행하는 반도체 장치.
  13. 상기 라이트 회로는 적어도 하나의 데이터를 라이트하는 라이트 시간을 선택적으로 연장시키는 반도체 장치.
  14. 제 13항에 있어서,
    상기 라이트 버퍼는 상기 다수의 데이터가 저장되는 다수의 엔트리를 포함하며,
    상기 라이트 회로는 상기 다수의 엔트리 중 마지막 엔트리에 저장되는 데이터를 라이트하는 라이트 시간을 상기 마지막 엔트리를 제외한 상기 각 엔트리에 저장되는 데이터를 라이트하는 각 라이트 시간보다 연장시키는 반도체 장치.
  15. 제 14항에 있어서, 상기 반도체 장치는 라이트 유닛을 더 포함하며,
    상기 라이트 유닛은 상기 라이트 회로와,
    제1 기간을 측정하는 유효성 타이머와
    상기 유효성 타이머의 출력에 따라 상기 다수의 엔트리 중 마지막 엔트리에 저장되는 데이터를 라이트하는 라이트 시간을 선택적으로 연장시키는 반도체 장치.
  16. 제 15항에 있어서,
    상기 제1 기간은 상기 메모리 셀 어레이에 라이트된 상기 데이터가 안정화되는 시간 이상인 반도체 장치.
  17. 제 13항에 있어서,
    상기 반도체 장치는 적어도 하나의 제1 기간을 측정하는 유효성 타이머를 더 포함하며,
    상기 라이트 회로는 상기 제1 기간에 따라 상기 각 데이터를 라이트하는 각 라이트 시간을 연장시키는 반도체 장치.
  18. 제 17항에 있어서,
    제1 기간은 상기 라이트 버퍼에서 오버라이트되기 전에 상기 각 라이트된 데이터가 상기 메모리 셀 어레이에서 안정한 저장 상태에 도달하는 시간인 반도체 장치.
  19. 제 13항에 있어서,
    상기 라이트 회로에 의해 연장되는 상기 라이트 시간을 제어하는 제어부를 더 포함하는 반도체 장치.
  20. 제 20항에 있어서,
    상기 라이트 버퍼는 상기 다수의 데이터가 저장되는 다수의 엔트리를 포함하고,
    상기 제어부는 상기 라이트 회로를 제1 모드 또는 제2 모드로 세팅하며,
    상기 라이트 회로는 상기 제1 모드에서 상기 다수의 엔트리 중 마지막 엔트리에 저장되는 데이터를 상기 메모리 셀 어레이에 라이트하는 라이트 시간만 연장시키고, 상기 제2 모드에서 상기 각 엔트리에 저장되는 데이터를 상기 메모리 셀 어레이에 라이트하는 각 라이트 시간을 연장시키는 반도체 장치.
  21. 제 1항에 있어서,
    상기 라이트 어드페스 버퍼는 상기 다수의 라이트 어드레스를 저장하는 다수의 엔트리를 포함하고, 상기 다수의 엔트리 중 마지막 엔트리에 라이트 어드레스가 저장되고 상기 마지막 엔트리에 저장된 상기 라이트 어드레스가 유효할 경우 인디케이터(indicator) 신호를 출력하고,
    상기 반도체 장치는 적어도 하나의 제1 기간을 측정하는 유효성 타이머와, 상기 메모리 셀 어레이에 데이터를 라이트하는 라이트 회로를 더 포함하되,
    상기 라이트 회로는 상기 인디케이터 신호에 응답하여 상기 제1 기간에 따라 상기 데이터를 라이트하는 라이트 시간을 연장하는 반도체 장치.
  22. 제 1항에 있어서,
    상기 무효화부는 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼에 저장된 다수의 라이트 어드레스를 비교하는 적어도 하나의 제1 비교기를 포함하고,
    상기 바이패스 인에이블 회로는 입력 리드 어드레스와 상기 라이트 어드레스 버퍼에 저장된 다수의 라이트 어드레스를 비교하는 적어도 하나의 제2 비교기를 포함하되,
    상기 무효화부에 포함된 상기 제1 비교기의 개수와 상기 바이패스 인에이블 회로에 포함된 상기 제2 비교기의 개수는 동일하지 않은 반도체 장치.
  23. 제 22항에 있어서,
    상기 무효화부에 포함되 상기 제1 비교기의 개수는 상기 바이패스 인에이블 회로에 포함된 상기 제2 비교기의 개수보다 작은 반도체 장치.
  24. 상기 제 1항 내지 상기 제 23항 중 어느 하나의 반도체 장치를 포함하는 메모리; 및
    상기 메모리를 제어하는 메모리 제어부를 포함하는 카드.
  25. 버스;
    상기 제 1항 내지 상기 제 23항 중 어느 하나의 반도체 장치로서, 상기 버스에 연결된 반도체 장치;
    상기 버스에 연결된 입출력 장치; 및
    상기 버스에 연결되며, 상기 버스를 통하여 상기 입출력 장치 및 상기 반도체 장치와 통신하는 프로세스를 포함하는 시스템.
  26. 메모리 셀 어레이에 라이트되는 다수의 데이터를 라이터 버퍼에 저장하고,
    상기 라이터 버퍼에 저장된 각 데이터에 대응하는 라이트 어드레스를 저장하고,
    데이터 출력 버퍼에서 상기 메모리 셀 어레이와 상기 라이트 버퍼에서 리드된 상기 데이터를 선택적으로 출력하고,
    입력 리드 어드레스와 상기 라이트 어드레스 버퍼에 저장된 유효 라이트 어드레스의 동일 여부에 따라 상기 데이터 출력 버퍼를 제어하고,
    입력 라이트 어드레스가 상기 라이트 어드레스 버퍼에 저장된 유효 라이트 어드레스와 동일할 경우, 상기 라이트 어드레스 버퍼에 저장된 상기 라이트 어드레스를 무효화하는 것을 포함하는 반도체 장치의 구동 방법.
  27. 제 26항에 있어서,
    상기 무효화하는 것은 상기 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼에 저장된 상기 다수의 라이트 어드레스를 병렬적으로 비교하는 것을 포함하는 반도체 장치의 구동 방법.
  28. 제 26항에 있어서,
    상기 무효화하는 것은 상기 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼에 저장된 상기 다수의 라이트 어드레스를 직렬적으로 비교하는 것을 포함하는 반도체 장치의 구동 방법.
  29. 제 26항에 있어서,
    상기 라이트 어드레스 버퍼는 상기 다수의 라이트 어드레스가 저장되는 m(m은 자연수) 개의 엔트리를 포함하며
    상기 무효화하는 것은 상기 입력 라이트 어드레스와 상기 라이트 어드레스 버퍼의 j(1<j<m, j는 자연수) 개의 엔트리에 저장된 상기 라이트 어드레스를 동시에 비교하는 것을 포함하는 반도체 장치의 구동 방법.
KR1020080117377A 2008-11-25 2008-11-25 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법 KR20100058825A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080117377A KR20100058825A (ko) 2008-11-25 2008-11-25 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법
US12/292,896 US20100131708A1 (en) 2008-11-25 2008-11-28 Semiconductor device having resistance based memory array, method of reading and writing, and systems associated therewith

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080117377A KR20100058825A (ko) 2008-11-25 2008-11-25 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법

Publications (1)

Publication Number Publication Date
KR20100058825A true KR20100058825A (ko) 2010-06-04

Family

ID=42197424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080117377A KR20100058825A (ko) 2008-11-25 2008-11-25 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법

Country Status (2)

Country Link
US (1) US20100131708A1 (ko)
KR (1) KR20100058825A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160081797A (ko) * 2014-12-30 2016-07-08 삼성전자주식회사 버퍼를 갖는 컴퓨팅 시스템 및 그것의 동작 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101424176B1 (ko) * 2008-03-21 2014-07-31 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템
JP5734492B1 (ja) * 2014-05-08 2015-06-17 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
CN105469822B (zh) * 2014-09-12 2019-10-18 华邦电子股份有限公司 半导体存储器装置、半导体系统以及读取方法
US10168923B2 (en) * 2016-04-26 2019-01-01 International Business Machines Corporation Coherency management for volatile and non-volatile memory in a through-silicon via (TSV) module
JP6151830B1 (ja) * 2016-07-05 2017-06-21 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
US10255960B2 (en) * 2016-09-13 2019-04-09 Toshiba Memory Corporation Write pulse generator in a resistive memory
KR102646755B1 (ko) * 2017-01-06 2024-03-11 삼성전자주식회사 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법
KR20180083619A (ko) 2017-01-13 2018-07-23 삼성전자주식회사 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2044689A1 (en) * 1990-06-15 1991-12-16 Roger E. Tipley Multilevel inclusion in multilevel cache hierarchies
US5420998A (en) * 1992-04-10 1995-05-30 Fujitsu Limited Dual memory disk drive
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US5802550A (en) * 1996-01-17 1998-09-01 Apple Computer, Inc. Processor having an adaptable mode of interfacing with a peripheral storage device
US6138206A (en) * 1997-06-12 2000-10-24 International Business Machines Corporation Data register for multicycle data cache read
US6351406B1 (en) * 1998-11-16 2002-02-26 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
US6545906B1 (en) * 2001-10-16 2003-04-08 Motorola, Inc. Method of writing to scalable magnetoresistance random access memory element
JP4325275B2 (ja) * 2003-05-28 2009-09-02 株式会社日立製作所 半導体装置
US6849891B1 (en) * 2003-12-08 2005-02-01 Sharp Laboratories Of America, Inc. RRAM memory cell electrodes
KR100657958B1 (ko) * 2005-04-13 2006-12-14 삼성전자주식회사 직렬 연결 구조의 저항 노드들을 갖는 메모리 소자
US20100057984A1 (en) * 2008-08-26 2010-03-04 Seagate Technology Llc Memory hierarchy containing only non-volatile cache

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160081797A (ko) * 2014-12-30 2016-07-08 삼성전자주식회사 버퍼를 갖는 컴퓨팅 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
US20100131708A1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
US8223527B2 (en) Semiconductor device having memory array, method of writing, and systems associated therewith
KR20100058825A (ko) 저항체를 이용한 반도체 장치, 이를 이용한 카드 또는 시스템 및 상기 반도체 장치의 구동 방법
US7894277B2 (en) Semiconductor device having resistance based memory array, method of reading and writing, and systems associated therewith
US7978539B2 (en) Semiconductor device having resistance based memory array, method of reading, and systems associated therewith
KR101476773B1 (ko) 가변 저항 메모리 장치를 포함하는 반도체 메모리 장치 및메모리 시스템
US8482994B2 (en) Semiconductor device having resistance based memory array, method of reading, and systems associated therewith
US9899081B2 (en) Resistive memory device and a memory system including the same
US10770138B2 (en) Method of operating resistive memory device reducing read disturbance
JP5837916B2 (ja) 抵抗体を利用する不揮発性メモリ装置及びその駆動方法
KR20150144177A (ko) 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
KR20160097049A (ko) 메모리 장치, 그것의 동작 및 제어 방법
US8254158B2 (en) Semiconductor device having resistance based memory array and method of operation associated therewith
US8724400B2 (en) Memory device and system with improved erase operation
US8107284B2 (en) Nonvolatile memory device using a variable resistive element
US8902633B2 (en) Resistive memory device comprising selectively disabled write driver
US11443801B2 (en) Semiconductor memory apparatus for preventing disturbance
US11581041B2 (en) Nonvolatile memory apparatus performing consecutive access operations and an operation method of the nonvolatile memory apparatus

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