KR20210054243A - 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치 - Google Patents

비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치 Download PDF

Info

Publication number
KR20210054243A
KR20210054243A KR1020190140134A KR20190140134A KR20210054243A KR 20210054243 A KR20210054243 A KR 20210054243A KR 1020190140134 A KR1020190140134 A KR 1020190140134A KR 20190140134 A KR20190140134 A KR 20190140134A KR 20210054243 A KR20210054243 A KR 20210054243A
Authority
KR
South Korea
Prior art keywords
data
write
read
memory
memory cell
Prior art date
Application number
KR1020190140134A
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 KR1020190140134A priority Critical patent/KR20210054243A/ko
Priority to US16/870,506 priority patent/US11636895B2/en
Priority to CN202011008789.7A priority patent/CN112786091A/zh
Publication of KR20210054243A publication Critical patent/KR20210054243A/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/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5678Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • 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/004Reading or sensing 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
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0097Erasing, e.g. resetting, circuits or methods
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N70/00Solid-state devices without a potential-jump barrier or surface barrier, and specially adapted for rectifying, amplifying, oscillating or switching
    • H10N70/20Multistable switching devices, e.g. memristors
    • H10N70/231Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N70/00Solid-state devices without a potential-jump barrier or surface barrier, and specially adapted for rectifying, amplifying, oscillating or switching
    • H10N70/801Constructional details of multistable switching devices
    • H10N70/821Device geometry
    • H10N70/826Device geometry adapted for essentially vertical current flow, e.g. sandwich or pillar type devices
    • 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
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/71Three dimensional array
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B63/00Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
    • H10B63/20Resistance change memory devices, e.g. resistive RAM [ReRAM] devices comprising selection components having two electrodes, e.g. diodes
    • H10B63/24Resistance change memory devices, e.g. resistive RAM [ReRAM] devices comprising selection components having two electrodes, e.g. diodes of the Ovonic threshold switching type
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B63/00Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
    • H10B63/80Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays
    • H10B63/84Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays arranged in a direction perpendicular to the substrate, e.g. 3D cell arrays

Abstract

본 발명에 따른 비휘발성 메모리 장치의 쓰기 방법은, 감지 동작을 수행하는 단계, 쓰기 데이터와 상기 감지 동작에 따른 읽기 데이터를 비교하는 단계, 상기 비교 결과로써 상기 쓰기 데이터와 상기 읽기 데이터가 동일할 때, 상기 쓰기 데이터가 셋 상태에 대응하는 데이터인 지를 판별하는 단계, 상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터일 때, 셋 동작을 수행하는 단계, 및 상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터가 아닐 때, 쓰기 동작을 수행하지 않는 단계를 포함할 수 있다.

Description

비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치{NON-VOLATILE MEMORY DEVICE, WRITING METHOD THEREOF, AND STORAGE DEVICE HAVING THE SAME}
본 발명은 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치에 관한 것이다.
일반적으로 상변화 소자 메모리(PCM; Phase Change Memory)의 쓰기 동작을 개선하고 전력 소비를 줄이기 위하여 데이터 비교 쓰기(Data Compare Write; DCW) 기법이 사용되고 있다. DCW 기법은, 쓰기 동작 동안 PCM 셀의 저장된 값을 읽고, 입력된 값과 저장된 값이 다른 경우 PCM 셀에 입력된 값을 기록한다. PCM 셀 값이 변하지 않는다면, 쓰기 전력은 소비되지 않는다. DCW 기법은 쓰기 동작 전에 일기 동작을 수행함으로써, 선택된 PCM 셀에 이미 저장된 값을 결정한다. 입력된 값과 저장된 값이 동일할 경우, 읽기 동작은 수행 되지 않는다.
본 발명의 목적은 전력 소비를 줄이면서 신뢰성을 향상시키는 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치를 제공하는 데 있다.
본 발명의 실시 예에 따른 실시 예에 따른 비휘발성 메모리 장치는, 복수의 비트라인들과 복수의 워드라인들에 연결된 복수의 저항성 메모리 셀을 갖는 메모리 셀 어레이; 어드레스에 응답하여 상기 복수의 워드라인들 중에서 어느 하나를 선택하고, 상기 선택된 워드라인으로 워드라인 전압을 인가하는 워드라인 드라이버; 상기 어드레스에 응답하여 상기 복수의 비트라인들 중에서 어느 하나를 선택하고, 상기 선택된 비트라인으로 비트라인 전압을 인가하는 비트라인 드라이버; 쓰기 제어 신호에 응답하여 상기 비트라인 전압 및 상기 워드라인 전압을 발생하는 쓰기 회로; 읽기 제어 신호에 응답하여 상기 선택된 워드라인과 상기 선택된 비트라인에 연결된 저항성 메모리 셀로부터 읽기 데이터를 읽는 읽기 회로; 외부의 장치로부터 쓰기 데이터를 수신하는 데이터 입출력 회로; 및 복수의 쓰기 모드들 중에서 어느 하나를 선택하고, 상기 선택된 쓰기 모드, 상기 쓰기 데이터, 혹은 상기 읽기 데이터를 이용하여 상기 쓰기 제어 신호를 발생하고, 상기 선택된 쓰기 모드 혹은 상기 쓰기 데이터를 이용하여 상기 읽기 제어 신호를 발생하는 제어 로직을 포함할 수 있다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치의 쓰기 방법은, 감지 동작을 수행하는 단계; 쓰기 데이터와 상기 감지 동작에 따른 읽기 데이터를 비교하는 단계; 상기 비교 결과로써 상기 쓰기 데이터와 상기 읽기 데이터가 동일할 때, 상기 쓰기 데이터가 셋 상태에 대응하는 데이터인 지를 판별하는 단계; 상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터일 때, 셋 동작을 수행하는 단계; 및 상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터가 아닐 때, 쓰기 동작을 수행하지 않는 단계를 포함할 수 있다.
본 발명의 다른 실시 예에 따른 비휘발성 메모리 장치의 쓰기 방법은, 쓰기 데이터를 수신하는 단계; 상기 쓰기 데이터가 셋 상태에 대응하는 데이터인 지 판별하는 단계; 상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터일 때 셋 동작을 수행하는 단계; 상기 쓰기 데이터가 셋 상태에 대응하는 데이터가 아닐 때, 감지 동작을 수행하는 단계; 상기 감지 동작 결과에 따른 읽기 데이터가 리셋 상태에 대응하는 데이터일 때, 쓰기 동작을 수행하는 않는 단계; 및 상기 읽기 데이터가 상기 리셋 상태에 대응하는 데이터가 아닐 때, 리셋 동작을 수행하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 저장 장치는, 적어도 하나의 비휘발성 메모리 장치; 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고, 상기 적어도 하나의 비휘발성 메모리 장치는, 복수의 쓰기 모드들 중에서 어느 하나를 선택하고, 상기 선택된 쓰기 모드, 쓰기 데이터, 혹은 읽기 데이터를 이용하여 쓰기 동작을 수행할 지 혹은 안할 지를 결정하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치는, 쓰기 모드, 쓰기 데이터 및 읽기 데이터를 이용하여 쓰기 동작을 수행함으로써, 전력 소비를 줄이면서 동시에 데이터의 신뢰성을 향상시킬 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)를 예시적으로 보여주는 도면이다.
도 2a, 도 2b, 도 2c, 및 도 2d는 본 발명의 실시 예에 따른 메모리 셀을 예시적으로 보여주는 도면들이다.
도 3a, 도 3b, 도 3c, 도 3d, 도 3e 및 도 3f는 메모리 셀의 3차원 구조를 예시적으로 보여주는 도면들이다.
도 4는 본 발명의 실시 예에 따른 메모리 셀 어레이(110)의 3차원 적층구조를 예시적으로 보여주는 도면이다.
도 5는 도 4에 도시된 하나의 메모리 셀 레이어(110-1)을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 다른 실시 예에 따른 메모리 셀 어레이(110a)를 예시적으로 보여주는 도면이다.
도 7은 본 발명의 또 다른 실시 예에 따른 메모리 셀 어레이(110b)를 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 읽기 회로(150)의 감지 증폭기(152)를 예시적으로 보여주는 도면이다.
도 9a는 본 발명의 실시 예에 따른 쓰기 데이터 래치(172-1) 및 도 9b는 본 발명의 실시 예에 따른 읽기 데이터 래치(172-2)를 예시적으로 보여주는 도면들이다.
도 10a, 도 10b, 및 도 10c는 쓰기 동작의 동작 모드에 따라 제어 로직(170)에서 발생되는 제어 신호들을 예시적으로 보여주는 도면들이다.
도 11은 정상 모드 쓰기 동작 이후 메모리 셀의 산포를 예시적으로 보여주는 도면이다.
도 12는 DCW 모드 쓰기 동작 이후 메모리 셀의 산포를 예시적으로 보여주는 도면이다.
도 13은 DCW 모드 쓰기 동작에 대응하는 데이터 테이블을 예시적으로 보여주는 도면이다.
도 14는 본 발명의 실시 예에 따른 쓰기 동작 모드에 따른 데이터 테이블을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 aDCW 모드의 쓰기 동작에 대한 데이터 테이블을 예시적으로 보여주는 도면이다.
도 16은 본 발명의 다른 실시 예에 따른 쓰기 동작 모드에 따른 데이터 테이블을 예시적으로 보여주는 도면이다.
도 17은 본 발명의 실시 예에 따른 aDCW 모드에 따른 쓰기 동작시 산포를 예시적으로 보여주는 도면이다.
도 18은 본 발명의 다른 실시 예에 따른 aDCW 모드에 따른 쓰기 동작시 산포를 예시적으로 보여주는 도면이다.
도 19는 본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)의 쓰기 동작을 예시적으로 보여주는 흐름도이다.
도 20은 본 발명의 다른 실시 예에 따른 비휘발성 메모리 장치(100)의 쓰기 동작을 예시적으로 보여주는 흐름도이다.
도 21은 본 발명의 실시 예에 따른 aDCW 모드에 데이터 '1'의 쓰기 동작의 타이밍을 예시적으로 보여주는 도면이다.
도 22는 본 발명의 실시 예에 따른 aDCW 모드에 데이터 '0'의 쓰기 동작의 타이밍을 예시적으로 보여주는 도면이다.
도 23a 및 도 23b는 본 발명의 실시 예에 따른 비휘발성 메모리 장치의 쓰기 동작의 효과를 보여주는 도면들이다.
도 24는 본 발명의 실시 예에 따른 저장 장치(1000)를 예시적으로 보여주는 도면이다.
도 25는 본 발명의 실시 예에 따른 엣지 부분에 특정 쓰기 모드를 적용하는 메모리 시스템(2000)을 예시적으로 보여주는 도면이다.
도 26은 본 발명의 실시 예에 따른 환경 정보에 따른 쓰기 모드를 선택적으로 운영하는 메모리 시스템(3000)을 예시적으로 보여주는 도면이다.
도 27은 본 발명의 실시 예에 따른 서버 시스템(4000)을 예시적으로 보여주는 도면이다.
도 28은 본 발명의 실시 예에 따른 컴퓨팅 시스템(5000)을 예시적으로 보여주는 도면이다.
도 29는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(6000)을 예시적으로 보여주는 도면이다.
도 30은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템(7000)을 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치 및 그것의 쓰기 방법은, 제 1 읽기 레벨보다 같거나 높은 제 2 읽기 레벨로 읽기(센싱) 동작을 수행한 후, 읽기 동작 결과값과 쓰여질 데이터를 비교하고, 비교 결과에 따라 쓰기 동작을 수행할 지를 결정할 수 있다. 예를 들어, 읽기 동작 결과값과 쓰여질 데이터가 모두 리셋(reset) 상태에 대응할 때, 쓰기 동작이 수행되지 않는다. 이로써, 본 발명의 실시 예에 따른 비휘발성 메모리 장치는 저항 드리프트(drift) 현상에 따른 쓰기 동작 실패를 방지할 수 있다.
도 1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)를 예시적으로 보여주는 도면이다. 도 1을 참조하면, 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 워드라인 드라이버(120), 비트라인 드라이버(130), 쓰기 회로(140), 읽기 회로(150), 데이터 입출력 회로(160) 및 제어 로직(170)을 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 워드라인들(WLs)을 통해 워드라인 드라이버(120)에 연결되고, 복수의 비트라인들(BLs)을 통해 비트라인 드라이버(130)에 연결될 수 있다. 메모리 셀 어레이(110)는 복수의 워드라인들(WLs)과 복수의 비트라인들(BLs)에 연결된 복수의 메모리 셀들을 포함할 수 있다. 도 1에 도시된 바와 같이 메모리 셀(MC)은 워드라인(WL)과 비트라인(BL) 사이에 연결될 수 있다. 메모리 셀(MC)은 저항체(resistance material)를 이용하여 적어도 하나의 비트를 저장할 수 있다. 도 1에서는 하나의 메모리 셀 어레이를 도시하고 있지만, 본 발명이 여기에 제한되지 않을 것이다. 비휘발성 메모리 장치(100)는 기판에 수직한 방향으로 복수의 메모리 셀 어레이들을 적층한 구조로 구현될 수 있다.
워드라인 드라이버(120)는 워드라인들(WLs)을 통해 메모리 셀 어레이(110)에 연결될 수 있다. 워드라인 드라이버(120)는 제어 로직(170)의 제어에 따라 로우 어드레스(row address)를 이용하여 워드라인들(WLs) 중에서 어느 하나의 워드라인을 선택할 수 있다. 또한, 워드라인 드라이버(120)는 선택된 워드라인으로 워드라인 전압을 인가할 수 있다. 여기서 워드라인 전압은, 읽기 워드라인 전압, 쓰기 워드라인 전압 등을 포함할 수 있다.
비트라인 드라이버(130)는 비트라인들(BLs)을 통해 메모리 셀 어레이(110)에 연결될 수 있다. 비트라인 드라이버(130)는 제어 로직(170)의 제어에 따라 컬럼 어드레스(coloum address)를 이용하여 비트라인들(BLs) 중에서 어느 하나의 비트라인을 선택할 수 있다. 또한, 비트라인 드라이버(130)는 선택된 비트라인으로 비트라인 전압을 인가할 수 있다. 여기서 비트라인 전압은, 읽기 전압, 셋 비트라인 전압, 리셋 비트라인 전압 등을 포함할 수 있다.
쓰기 회로(140)는 워드라인 드라이버(120)과 비트라인 드라이버(130)에 연결될 수 있다. 쓰기 회로(140)는 제어 로직(170)의 제어에 따라 선택된 비트라인과 선택된 워드라인에 연결된 메모리 셀에 쓰기 동작(셋 동작 혹은 리셋 동작)을 수행하도록 구현될 수 있다. 예를 들어, 쓰기 회로(140)는 제어 로직(170)의 쓰기 제어 신호에 응답하여 선택된 워드라인으로 워드라인 전압을 인가하고, 선택된 비트라인으로 비트라인 전압을 인가할 수 있다. 실시 예에 있어서, 쓰기 회로(140)는 쓰기 동작시 쓰여질 데이터에 대응하는 셋 펄스(set pulse) 혹은 리셋 펄스(reset pulse)를 발생하고, 선택된 워드라인/비트라인으로 셋 펄스 혹은 리셋 펄스를 인가할 수 있다.
읽기 회로(150)는 제어 로직(170)의 제어에 따라 선택된 비트라인과 선택된 워드라인에 연결된 메모리 셀의 데이터를 읽도록 구현될 수 있다. 예를 들어, 읽기 회로(150)는 제어 로직(170)의 읽기 제어 신호에 응답하여 선택된 비트라인과 선택된 워드라인에 연결된 메모리 셀로부터 데이터를 읽을 수 있다. 실시 예에 있어서, 읽기 회로(150)는 선택된 워드라인/비트라인의 전압과 기준 전압 사이의 전압 차이를 감지하고, 감지된 전압 차이에 따라 온/오프 셀을 구분하는 센싱 동작을 수행할 수 있다.
한편, 쓰기 회로(140) 및 읽기 회로(150)는 통칭하여 읽기 쓰기 회로(RWC, Read Write Circuit)으로 불릴 수 있다. RWC는, 도 1에 도시된 바와 같이, 워드라인 드라이버(120)의 아래에 배치될 수 있다.
데이터 입출력 회로(160)는 쓰기 동작시 제어 로직(170)의 제어에 따라 외부 장치(예를 들어, 메모리 제어기)로부터 수신된 쓰기 데이터를 제어 로직(170)의 데이터 래치들(172)로 전달하도록 구현될 수 있다. 또한, 데이터 입출력 회로(160)는, 읽기 동작시 데이터 래치들(172)로부터 읽혀진 데이터를 외부 장치(예를 들어, 메모리 제어기)로 출력하도록 구현될 수 있다.
제어 로직(170)은 비휘발성 메모리 장치(100)의 제반 동작을 제어하도록 구현될 수 있다. 제어 로직(170)은 외부로부터 입력되는 명령(CMD), 어드레스(ADD), 혹은 제어 신호들에 응답하여 워드라인 드라이버(120), 비트라인 선택회로(130), 쓰기 회로(140), 읽기 회로(150), 혹은 데이터 입출력 회로(160)를 제어할 수 있다.
특히, 제어 로직(170)은, 복수의 쓰기 모드들 중에서 어느 하나를 선택하고, 선택된 쓰기 모드에 따라 쓰기 동작을 수행할 수 있다. 실시 예에 있어서, 제어 로직(170)은 선택된 쓰기 모드, 쓰기 데이터, 혹은 읽기 데이터를 이용하여 쓰기 제어 신호를 발생하거나, 선택된 쓰기 모드 혹은 쓰기 데이터를 이용하여 읽기 제어 신호를 발생할 수 있다.
실시 예에 있어서, 복수의 쓰기 모드들은 정상 모드, 데이터 비교 쓰기(Data Compare Write; DCW) 모드, 공격적 데이터 비교 쓰기(aggressive Data Compare Write; aDCW) 모드, 리드스킵 데이터 비교 쓰기(RDSKIP aDCW) 모드 중에서 어느 하나로 쓰기 동작을 수행할 수 있다. 여기서 정상 모드는 저항 드리프트를 반영하지 않는 모드이고, DCW 모드는 리셋 상태에 대한 저항 드리프트를 반영한 모드이고, aDCW 모드 및 RDSKIP aDCW 모드는 셋 상태 및 리셋 상태의 저항 드리프트를 모두 반영한 모드이다.
정상 모드의 쓰기 동작에서, 제어 로직(170)은 메모리 셀에 쓰여질 데이터에 따라 셋 동작 혹은 리셋 동작을 수행하도록 쓰기 회로(140)를 제어할 수 있다.
DCW 모드의 쓰기 동작에서, 제어 로직(170)은 센싱 동작에 의해 메모리 셀로부터 읽혀진 데이터와 쓰여질 데이터를 비교하고, 비교 결과에 따라 셋 동작 혹은 리셋 동작을 수행하도록 쓰기 회로(140) 및 읽기 회로(150)를 제어할 수 있다.
aDCW 모드의 쓰기 동작에서, 제어 로직(170)은 센싱 동작에 의해 메모리 셀로부터 읽혀진 데이터와 쓰여질 데이터를 비교하고, 비교 결과와 쓰여질 데이터를 이용하여 셋 동작 혹은 리셋 동작을 수행하도록 쓰기 회로(140) 및 읽기 회로(150)를 제어할 수 있다. 특히, aDCW 모드의 쓰기 동작에서, 읽혀진 데이터 및 쓰여질 데이터가 모두 리셋 상태에 대응하는 데이터일 때, 쓰기 동작은 수행되지 않을 것이다.
RDSKIP aDCW 모드의 쓰기 동작에서, 제어 로직(170)은 쓰여질 데이터가 셋 상태에 대응할 때 센싱 동작을 수행하지 않고 곧바로 셋 동작을 수행하고, 쓰여질 데이터가 셋 상태에 대응하지 않을 때 센싱 동작을 수행하고, 센싱 동작으로부터 메모리 셀로부터 읽혀진 데이터와 쓰여질 데이터를 비교하고, 비교 결과와 쓰여질 데이터를 이용하여 리셋 동작을 수행할 지 혹은 쓰기 동작을 수행하지 않을 지 결정할 수 있다.
일반적인 비휘발성 메모리 장치는 시간이 지남에 따라 메모리 셀의 저항값을 드리프트 시킴으로써 저항값 산포를 확장시키고, 이에 따라 메모리 셀에 저장된 데이터의 신뢰성에 문제를 야기할 수 있다. 반면에, 본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)는 이러한 저항 드리프트를 반영하여 DCW 모드/aDCW/RDSKIP aDCW 모드의 쓰기 동작을 수행함으로써, 쓰여진 데이터의 신뢰성을 향상시킬 수 있다.
한편, 도 1에 도시된 메모리 셀(MC)은 가변 저항(variable resistance)을 포함할 수 있다.
도 2a, 도 2b, 도 2c, 및 도 2d는 본 발명의 실시 예에 따른 메모리 셀을 예시적으로 보여주는 도면들이다.
도 2a를 참조하면, 메모리 셀(MC)은 가변 저항(R)과 다이오드(D)를 포함할 수 있다. 실시 예에 있어서, 가변 저항(R)은 상변화(phase change) 물질일 수 있다. 예를 들어, 상변화 물질은, 2개의 원소를 화합한 GaSb, InSb, InSe. Sb2Te3, GeTe, 3개의 원소를 화합한 GeSbTe, GaSeTe, InSbTe, SnSb2Te4, InSbGe, 4개의 원소를 화합한 AgInSbTe, (GeSn)SbTe, GeSb(SeTe), Te81Ge15Sb2S2 등 다양한 종류의 물질을 사용할 수 있다. 다른 실시 예에 있어서, 가변 저항(R)은 상변화 물질 대신, 페로브스카이트(perovskite) 화합물들, 전이 금속 산화물(transition metal oxide), 자성체 물질(magnetic materials), 강자성(ferromagnetic) 물질들 혹은 반강자성(antiferromagnetic) 물질들을 포함할 수 있다.
도 2b를 참조하면, 메모리 셀(MC)은 가변 저항(R)과 쌍방향 다이오드(BD, bidirectional diode)를 포함할 수 있다.
도 2c를 참조하면, 메모리 셀(MC)은 가변 저항(R)과 트랜지스터(T)를 포함할 수 있다. 여기서 트랜지스터(T)의 게이트에 워드라인(WL)이 연결될 수 있다.
도 2d를 참조하면, 메모리 셀(MC)은 오보닉 임계 스위치(Ovonic Threshold Switch; OTS) 및 가변 저항(R)을 포함할 수 있다. 오보닉 임계 스위치(OTS)는 GST(Ge2Sb2Te5; 게르마늄-안티몬-텔룰라이드)와 유사한 물질을 포함할 수 있다. 예를 들어, 오보닉 임계 스위치(OTS)는 셀레늄(Se), 비소(As), Ge(게르마늄), Si(규소)의 조합으로써, 결정 및 비결정 상태를 변경하는 칼코게나이드(Ghalcogenide)를 포함할 수 있다.
한편, 본 발명의 메모리 셀(MC)의 구조는 도 2a, 도 2b, 도 2c, 도 2d에 제한되지 않다고 이해되어야 할 것이다.
아래에서는 스위칭 소자로 구성된 메모리 셀의 3차원 구조를 예시적으로 설명하도록 하겠다.
도 3a, 도 3b, 도 3c, 도 3d, 도 3e 및 도 3f는 메모리 셀의 3차원 구조를 예시적으로 보여주는 도면들이다.
도 3a를 참조하면, 복수의 도전성 라인들(101, 102, 103) 사이에 마련되는 제 1 메모리 셀(MC1)과 제 2 메모리 셀(MC2)이 도시된다. 제 1 메모리 셀(MC1)과 제 2 메모리 셀(MC2)은 각각 독립된 메모리 셀로서 동작할 수 있다. 실시 예에 있어서, 제 1 도전성 라인(101)과 제 2 도전성 라인(102)이 워드라인인 경우, 제 3 도전성 라인(103)은 비트라인일 수 있다. 또한, 제 1 도전성 라인(101)과 제 2 도전성 라인(102)이 비트라인인 경우, 제 3 도전성 라인(103)은 워드라인일 수 있다. 아래에서는 설명의 편의를 위하여 제 1 도전성 라인(101)과 제 2 도전성 라인(102)이 각각 제 1 워드라인 및 제 2 워드라인이라고 하겠다.
실시 예에 있어서, 제 1 메모리 셀(MC1)은 제 1 가열 전극(111), 제 1 정보 저장 소자(112), 및 제 1 스위치 소자(113)을 포함할 수 있다. 실시 예에 있어서, 제 1 스위치 소자(113)는 제 1 스위치 전극(113-1), 제 2 스위치 전극(113-2) 및 그것들의 사이에 배치되는 제 1 선택층(113-3)을 포함할 수 있다. 실시 예에 있어서, 제 1 선택층(133-3)은 오보닉 임계 스위치(OTS) 물질을 포함할 수 있다. 제 1 스위치 전극(113-1)과 제 2 스위치 전극(113-22) 사이에 문턱 전압보다 큰 전압이 인가되면, 제 1 선택층(113-3)을 통해 전류가 흐를 수 있다. 제 1 정보 저장 소자(112)는 상변화 물질을 포함할 수 있다. 실시 예에 있어서, 제 1 정보 저장 소자(112)는 예로 칼코게나이드 물질을 포함할 수 있다. 예를 들어, 제 1 정보 저장 소자(112)는 Ge-Sb-Te(GST)를 포함할 수 있다. 제 1 정보 저장 소자(112)에 포함되는 원소들의 종류 및 그 화학적 조성비에 따라 제 1 정보 저장 소자(112)의 결정화 온도, 용융점, 결정화 에너지에 따른 상변화 속도 등이 결정될 수 있다.
제 2 메모리 셀(MC2)은 제 1 메모리 셀(MC1)과 유사한 구조로 구현될 수 있다.
아래에서는 제 1 메모리 셀(MC1)을 참조하여, 데이터를 저장하고, 소거하는 방법을 설명하겠다. 제 1 워드라인(101)과 비트라인(103)을 통해 전압이 공급되면, 제 1 가열 전극(111)과 제 1 정보 저장 소자(112) 사이의 계면에서 전압에 따른 줄 열(joule heat)이 발생할 수 있다. 줄 열에 의해 제 1 정보 저장 소자(112)를 구성하는 상변화 물질이 비결정 상태에서 결정 상태로 변하거나, 결정 상태에서 비결정 상태로 변할 수 있다. 제 1 정보 저장 소자(112)는 비결정 상태에서 높은 저항을 가질 수 있으며, 결정 상태에서 낮은 저항을 가질 수 있다. 실시 예에서, 제 1 정보 저장 소자(112)의 저항 값에 따라 데이터 `0` 혹은 `1`이 정의될 수 있다.
제 1 메모리 셀(MC1)에 데이터를 저장하기 위해, 제 1 워드라인(101)과 비트라인(103)을 통해 프로그램 전압이 공급될 수 있다. 프로그램 전압은 제 1 스위치 소자(113)에 포함되는 오보닉 임계 스위치 물질의 문턱 전압보다 클 수 있다. 따라서 제 1 스위치 소자(113)를 통해 전류가 흐를 수 있다. 프로그램 전압에 의해 제 1 정보 저장 소자(112)에 포함되는 상변화 물질이 비결정 상태에서 결정 상태로 변할 수 있다. 따라서 제 1 메모리 영역에 데이터가 저장될 수 있다. 실시 예에서, 제 1 정보 저장 소자(112)에 포함되는 상변화 물질이 결정 상태를 갖는 경우, 제 1 메모리 셀(MC1)의 상태는 셋(set) 상태로 정의될 수 있다.
한편, 제 1 메모리 셀(MC1)에 저장된 데이터를 소거하기 위해, 제 1 정보 저장 소자(112)에 포함되는 상변화 물질을 결정 상태에서 비결정 상태로 되돌릴 수 있다. 예를 들어, 제 1 워드라인(101)과 비트라인(103)을 통해 사전에 결정된 소거 전압이 공급될 수 있다. 소거 전압에 의해, 제 1 정보 저장 소자(112)에 포함되는 상변화 물질이 결정 상태에서 비결정 상태로 변할 수 있다. 제 1 정보 저장 소자(112)에 포함되는 상변화 물질이 비결정 상태를 갖는 경우, 제 1 메모리 셀(MC1)의 상태는 리셋(reset) 상태로 정의될 수 있다. 실시 예에 있어서, 소거 전압의 최대값은 프로그램 전압의 최대값보다 클 수 있다. 소거 전압이 공급되는 시간은 프로그램 전압이 공급되는 시간보다 짧을 수 있다.
도 3a에서는 제 1 메모리 셀(MC1)과 제 2 메모리 셀(MC2)은 동일한 방향성으로 구현될 수 있다. 하지만, 본 발명의 메모리 셀이 여기에 제한되지 않을 것이다.
도 3b을 참조하면, 도 3a에 도시된 메모리 셀과 비교하여 제 1 도전성 라인(101)과 제 2 도전성 라인(102)이 각각 제 1 워드라인 및 제 2 워드라인일 때, 제 1 메모리 셀(MC1)과 제 2 메모리 셀(MC2) 각각의 방향성이 서로 다를 수 있다. 예를 들어, 제 1 메모리 셀(MC1)의 가열 전극(111)은 제 1 워드라인(101)에 연결되고, 제 2 메모리 셀(MC2)의 가열 전극(114)은 비트라인(103)에 연결될 수 있다.
도 3a에 도시된 제 1 메모리 셀(MC1)과 제 2 메모리 셀(MC2) 각각은 제 1 방향성을 가질 수 있다. 반면에, 도 3b에 도시된 제 1 메모리 셀(MC1)은 제 2 방향성을 가질 수 있고, 제 2 메모리 셀(MC2)은 제 1 방향성을 가질 수 있다.
한편, 도 3a와 도 3b는 제 1 층에 형성된 제 1 워드라인에 연결된 제 1 메모리 셀(MC1)과 제 2 층에 형성된 제 2 워드라인에 연결된 제 2 메모리 셀(MC2)이 서로 비트라인을 공유하고 있다. 하지만, 본 발명의 메모리 셀의 구조가 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 3c를 참조하면, 제 1 메모리 셀(MC1)은 제 1 층에 형성된 제 1 워드라인(101)과 제 1 층에 형성된 제 1 비트라인(102)이 교차하는 지점에 마련될 수 있다. 제 2 메모리 셀(MC2)은 제 2 층에 형성된 제 2 워드라인(103)과 제 2 층에 형성된 제 2 비트라인(104)이 교차하는 지점에 마련될 수 있다. 제 1 메모리 셀(MC1)은 제 2 방향성을 가질 수 있고, 제 2 메모리 셀(MC2)은 제 1 방향성을 가질 수 있다. 도 3d를 참조하면, 도 3c에 도시된 메모리 셀들과 달리 제 1 메모리 셀(MC1)과 제 2 메모리 셀(MC2) 각각은 제 2 방향성을 가질 수 있다.
한편, 본 발명의 메모리 셀은 가열 전극이 없고 셀프 가열될 수도 있다.
도 3e에 도시된 메모리 셀은 도 3c의 메모리 셀로부터 가열 전극을 제거한 구조이고, 도 3f에 도시된 메모리 셀은 도 3d의 메모리 셀로부터 가열 전극을 제거한 구조이다.
한편, 메모리 셀 어레이(110)는 3차원 적층 구조를 가질 수 있다.
도 4는 본 발명의 실시 예에 따른 메모리 셀 어레이(110)의 3차원 적층구조를 예시적으로 보여주는 도면이다. 여기서, 3차원 적층 구조는 복수의 메모리 셀 레이어(110-1 ~110-8)가 기판에 수직으로 적층된 형태를 의미할 수 있다.
도 4에서는 8개의 메모리 셀 레이어들(110-1 ~ 110-8)이 적층된 것이 도시되지만, 본 발명의 레이어의 개수가 여기에 제한되지 않을 것이다. 여기서, 메모리 셀 레이어(110-1 ~ 110-8)의 각각은 복수의 저항성 메모리 셀 그룹 및/혹은 복수의 리던던시 메모리 셀 그룹을 포함할 수 있다. 메모리 셀 어레이(110)가 3차원 적층 구조일 경우, 실시 예에 있어서, 메모리 셀 레이어들(110-1 ~ 110-8)은 크로스 포인트 구조(cross point structure)를 가질 수 있다.
실시 예에 있어서, 메모리 셀 레이어들(110-1 ~ 110-8) 중에서 적어도 2개는 서로 다른 쓰기 모드에 따라 쓰기 동작을 수행할 수 있다.
도 5는 도 4에 도시된 하나의 메모리 셀 레이어(110-1)을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 메모리 셀 레이어(110-1)는 크로스 포인트 구조를 포함할 수 있다. 여기서 크로스 포인트 구조는 하나의 라인과 다른 라인이 서로 교차되는 영역에, 하나의 저항성 메모리 셀(MC)이 형성되는 구조를 의미한다. 예를 들어, 비트 라인(BL1_1 ~ BL4_1)이 제 1 방향으로 연장되어 형성되고, 워드 라인(WL1_1~WL3_1)이 비트 라인(BL1_1 ~ BL4_1)과 서로 교차하도록 제 2 방향으로 연장되어 형성되고, 각 비트 라인(BL1_1 ~ BL4_1)과 각 워드 라인(WL1_1 ~ WL3_1)이 교차되는 영역에 저항성 메모리 셀(MC)이 형성될 수 있다.
실시 예에서, 메모리 셀(MC)은 하나의 비트를 저장하는 싱글 레벨 셀(SLC; Single Level Cell)일수 있다. 다른 실시 예에 있어서, 메모리 셀(MC)은 적어도 2 비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC; Multi Level Cell)일 수 있다. 또 다른 실시 예에 있어서, 일부 메모리 셀(MC)은 싱글 레벨 셀이고, 다른 메모리 셀(MC)은 멀티 레벨 셀일 수도 있다.
한편, 본 발명의 메모리 셀 어레이(100)는 버퍼 기능을 수행하는 셀 어레이를 포함할 수 있다.
도 6은 본 발명의 다른 실시 예에 따른 메모리 셀 어레이(110a)를 예시적으로 보여주는 도면이다. 도 6을 참조하면, 메모리 셀 어레이(110a)는 제 1 메모리 셀 어레이(110a-1) 및 제 2 메모리 셀 어레이(110a-2)를 포함할 수 있다. 실시 예에 있어서, 제 1 메모리 셀 어레이(110a-1)는 메인 셀의 역할을 수행하고, 제 2 메모리 셀 어레이(110a-2)는 버퍼의 역할을 수행할 수 있다.
실시 예에 있어서, 제 1 메모리 셀 어레이(110a-1) 및 제 2 메모리 셀 어레이(110a-2)은 서로 다른 쓰기 모드에 따라 쓰기 동작을 수행할 수 있다.
또한, 도 6에 도시된 바와 같이, 메모리 셀 어레이(110a)의 아래에 RWC 계층이 배치될 수 있다. RWC(도 1의 쓰기 회로(140, 읽기 회로(150) 포함)는 메모리 셀 어레이(110a)에 포함된 복수의 메모리 셀들에 대한 쓰기 동작 및 읽기 동작을 수행할 수 있다. 한편, 도 6에 도시된 RWC 계층은 메모리 셀 어레이(100a)의 아래이지만, 본 발명의 RWC 계층이 위치가 여기에 제한되지 않는다고 이해되어야 할 것이다.
한편, 도 6에 도시된 제 1 메모리 셀 어레이(111a)와 제 2 메모리 셀 어레이(111b)는 서로 동일한 계층에 배치되고 있다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명의 제 1 메모리 셀 어레이와 제 2 메모리 셀 어레이는 서로 다른 계층에 배치될 수 있다.
도 7은 본 발명의 또 다른 실시 예에 따른 메모리 셀 어레이(110b)를 예시적으로 보여주는 도면이다. 도 7을 참조하면, 메모리 셀 어레이(110b)는 서로 다른 계층에 배치된 복수의 제 1 메모리 셀 어레이들(110b-1, 110b-2), 및 제 1 메모리 셀 어레이들(110b-1, 110b-2)과 다른 계층에 배치된 제 2 메모리 셀 어레이(110b-3)를 포함할 수 있다.
실시 예에 있어서, 제 1 메모리 셀 어레이들(110b-1, 110b-2) 및 제 2 메모리 셀 어레이(110b-3) 중 적어도 2개는 서로 다른 쓰기 모드에 따라 쓰기 동작을 수행할 수 있다.
도 8은 본 발명의 실시 예에 따른 읽기 회로(150)의 감지 증폭기(152)를 예시적으로 보여주는 도면이다. 도 8을 참조하면, 감지 증폭기(SA, 142)는 메모리 셀(MC)에 연결된 워드라인(WL)의 전압과 기준 전압(Vref)을 비교하여, 감지 결과(SAOUT)를 출력할 수 있다. 여기서 메모리 셀(MC)은 선택된 워드라인(WL)과 선택된 비트라인(BL) 사이에 배치될 수 있다. 읽기 동작에서 선택된 비트라인(BL)에 읽기 전압(Vread)이 인가될 수 있다.
실시 예에 있어서, 읽기 전압(Vread)은 쓰기 동작의 모드(정상 모드, DCW 모드, aDCW 모드, RDSKIP aDCW 모드)에 따라 가변될 수 있다.
다른 실시 예에 있어서, 읽기 전압(Vread)은 비휘발성 메모리 장치(100)의 내부 정책에 따라 가변 될 수 있다. 여기서 내부 정책은 비휘발성 메모리 장치(100) 내에서 메모리 셀의 열화 정도, 환경 정보, 시간 정보 등을 감지하고, 그에 따라 읽기 레벨을 변경하는 것을 포함할 수 있다.
다른 실시 예에 있어서, 읽기 전압(Vread)은 외부 장치(예를 들어, 메모리 제어기)로부터 전달된 정보에 따라 가변될 수 있다.
한편, 도 8에 도시된 감지 증폭기(152)는 실시 예에 불과하다고 이해되어야 할 것이다. 본 발명의 감지 증폭기는 비트라인의 전압과 기준 전압(Vref)을 비교함으로써 데이터를 감지할 수도 있다.
아래에서는 본 발명의 실시 예에 따른 쓰기 모드에 따른 쓰기 동작을 자세하게 설명하도록 하겠다.
도 9a는 본 발명의 실시 예에 따른 쓰기 데이터 래치(172-1) 및 도 9b는 본 발명의 실시 예에 따른 읽기 데이터 래치(172-2)를 예시적으로 보여주고 있다. 도 9a를 참조하면, 쓰기 데이터 래치(172-1)는 플립플롭을 포함할 수 있다. 쓰여질 데이터(WR_Data)는 플립플롭에 의해 출력(D_WR)될 수 있다. 도 9b를 참조하면, 읽기 데이터 래치(172-2)는 플립플롭을 포함할 수 있다. 도 8에 도시된 감지 증폭기(152)에 의해 읽혀진 데이터(RD_Data)는 플립플롭에 의해 읽기 데이터(D_RD)를 출력할 수 있다.
한편, 도 9a 및 도 9b에 도시된 데이터 래치들(172-1, 172-2)은 플립플롭으로 구현되고 있다. 하지만, 본 발명의 데이터 래치들의 구성이 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 10a, 도 10b, 및 도 10c는 쓰기 동작의 동작 모드에 따라 제어 로직(170)에서 발생되는 제어 신호들을 예시적으로 보여주는 도면들이다.
도 10a을 참조하면, 이벤트 활성화 신호 발생기(173)는 제 1 내지 제 5 논리 회로들(173-1 ~ 173-5)을 포함할 수 있다.
제 1 논리 회로(173-1)는 쓰기 데이터(D_WR, 도 9a 참조) 및 읽기 데이터(D_RD)을 XOR 연산할 수 있다. 제 2 논리 회로(173-2)는 제 1 논리 회로(173-1)의 출력값과 DCW 모드 활성화 신호(DCW_EN)를 AND 연산할 수 있다. 제 3 논리 회로(173-3)는 읽기 데이터(D_RD)와 aDCW 모드 활성화 신호(aDCW_EN)를 AND 연산할 수 있다. 제 4 논리 회로(173-4)는 DCW 모드 활성화 신호(DCW_EN), aDCW 모드 활성화 신호(aDCW_EN), 및 리드스킵 DCW 모드 활성화 신호(DCW_RDSKIPEN)을 NOR 연산할 수 있다. 제 5 논리 회로(173-5)는 제 2 논리 회로(173-2)의 출력값, 제 3 논리 회로(173-3)의 출력값, 및 제 4 논리 회로(173-4)의 출력값을 OR 연산함으로써, 이벤트 활성화 신호(EVNT_EN)를 발생할 수 있다.
한편, 도 10a에 도시된 이벤트 활성화 신호 발생기는 본 발명의 실시 예에 불과하다고 이해되어야 할 것이다.
도 10b를 참조하면, 쓰기 제어 신호 발생기(174)는, 제 6 내지 제 9 논리 회로들(174-1 ~ 174-4)을 포함할 수 있다. 제 6 논리 회로(174-1)는 이벤트 활성화 신호(EVNT_EN)와 쓰기 활성화 신호(WR_EN)를 AND 연산할 수 있다. 제 7 논리 회로(174-2)는 쓰기 데이터(D_WR)를 인버팅할 수 있다. 제 8 논리 회로(174-3)는 쓰기 데이터(D_WR)과 제 6 논리 회로(174-1)의 출력값을 AND 연산함으로써 셋 활성화 신호(SET_EN; 쓰기 제어 신호)를 발생할 수 있다. 제 9 논리 회로(174-4)는 제 6 논리 회로(174-1)의 출력값과 제 7 논리 회로(174-2)의 출력값을 AND 연산함으로써 리셋 활성화 신호(RST_EN; 쓰기 제어 신호)를 발생할 수 있다.
도 10c를 참조하면, 읽기 제어 신호 발생기(175)는 제 10 논리 회로(175-1)를 포함할 수 있다. 제 10 논리 회로(175-1)는 리드스킵 DCW 활성화 신호(DCW_RDSKIPEN)와 쓰기 데이터(D_WR)를 AND 연산함으로써 리드스킵 활성화 신호(RD_SKIPEN; 읽기 제어 신호)를 발생할 수 있다.
한편, 저항성 메모리 셀은 시간이 지남에 따라 저항값이 드리프트 됨으로써 메모리 셀의 저항값 산포를 확장시킨다.
도 11은 정상 모드 쓰기 동작 이후 메모리 셀의 산포를 예시적으로 보여주는 도면이다. 도 11을 참조하면, 쓰기 동작 이후에 시간이 지남에 따라 셋 상태 혹은 리셋 상태의 메모리 셀은 드리프트 되고 있다. 도 11에 도시된 바와 같이, 워스트 케이스(worst case)로써 셋 상태의 드리프트가 많이 일어난 일부 메모리 셀들은, 읽기 전압(Vread)을 넘을 수도 있다. 이 경우, 읽기 전압(Vread)에 의해 읽기 동작을 수행할 경우, 셋 상태이지만 리셋 상태로 인식될 가능성이 있다. 이 때문에 DCW 모드 진행시 드리프트 성분이 남아 있는 이전 산포로 인하여 셀 확인이 어려울 수도 있다.
이후에, 메모리 셀이 드리프트된 상태에서 DCW 모드 쓰기 동작이 수행될 수 있다.
도 12는 DCW 모드 쓰기 동작 이후 메모리 셀의 산포를 예시적으로 보여주는 도면이다. 도 12를 참조하면, 메모리 셀의 산포는 크게 4 종류의 상태들 중에서 어느 하나로 표현될 수 있다. 즉, DCW 모드의 쓰기 동작 이후에, 메모리 셀의 상태는 이전 셋(Old SET) 상태, 새로운 셋(New SET) 상태, 이전 리셋(Old SET) 상태, 및 새로운 리셋(New RST) 상태 중에서 어느 하나일 수 있다. 여기서 이전 셋 상태는 셋 상태가 유지된 경우이고, 새로운 셋 상태는 이전 리셋 상태에서 셋 상태로 프로그램된 경우이고, 이전 리셋 상태는 리셋 상태가 유지된 경우이고, 및 새로운 리셋 상태는 셋 상태에서 리셋 상태로 프로그램 된 경우이다.
DCW 모드의 쓰기 동작에서 이슈가 되는 부분들은, 드리프트된 셋 상태에서 읽기 전압(Vread)을 넘지 않은 셀들(A)과 드리프트된 셋 상태에서 읽기 전압(Vread)을 넘은 셀들(B)을 포함한다.
도 13은 DCW 모드 쓰기 동작에 대응하는 데이터 테이블을 예시적으로 보여주는 도면이다. 아래에서는 설명의 편의를 위하여 셋 상태에 대응하는 데이터는 '1'이고, 리셋 상태에 대응하는 데이터는 '0'이라고 하겠다. 하지만, 셋/리셋 상태에 대응하는 데이터가 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 13을 참조하면, 이전 데이터, 읽기 데이터(센싱 데이터), 쓰기 데이터에 대한 데이터 따라 쓰기 동작은 다음과 같이 진행될 수 있다.
이전 데이터가 '1'일 때, 메모리 셀은 드리프트된 셋 상태를 의미한다. 도 12에 도시된 바와 같이, 드리프트된 셋 상태는 크게 읽기 전압(Vread)을 넘지 않은 제 1 산포(A)와 읽기 전압(Vread)을 넘은 제 2 산포(B)로 구분될 수 있다. 따라서 읽기 동작에서 읽혀진 읽기 데이터(도 9a 참조, D_RD, 읽기 래치에 저장된 데이터)는, '1'과 '0'중에서 어느 하나로 표현될 수 있다.
우선적으로 이전 데이터가 '1'이면서 읽기 데이터(D_RD)가 '1'인 메모리 셀은, 드리프트 되었지만 여전히 셋 상태에 머물러 있는 제 1 산포(A)에 포함된 메모리 셀을 의미한다. 제 1 산포(A)에 존재하는 메모리 셀에 쓰기 데이터(도 9b 참조, D_WR, 쓰기 래치에 저장된 데이터)가 '1'인 경우에, 쓰기 동작은 필요치 않는다. 반면에, 제 2 산포(B)에 존재하는 메모리 셀에 쓰기 데이터(D_WR)가 '0'인 경우, 메모리 셀에 리셋 동작(RST)이 수행될 수 있다.
다음으로, 이전 데이터가 '1'이면서 읽기 데이터(D_RD)가 '0'인 메모리 셀은, 과도한 드리프트로 인하여 리셋 상태로 인식하는 제 2 산포(B)에 포함된 메모리 셀을 의미한다. 제 2 산포(B)에 존재하는 메모리 셀에 쓰기 데이터(D_WR)가 '1'인 경우에, 메모리 셀에 셋 동작(SET)이 수행될 수 있다. 반면에 제 2 산포(B)에 존재하는 메모리 셀에 쓰기 데이터(D_WR)가 '0'인 경우에, 메모리 셀에 아무런 동작도 수행되지 않는다. 따라서 메모리 셀의 상태는 메타상태(metadata) 데이터를 갖는다.
또한, 이전 데이터가 '0'일 때, 메모리 셀은 드리프트된 리셋 상태를 의미한다. 이때 읽기 데이터(D_RD)는 '0'인 메모리 셀에 쓰기 데이터(D_WR)가 '1'이 경우에, 메모리 셀에 셋 동작이 수행될 수 있다. 반면에, 읽기 데이터(D_RD)는 '0'인 메모리 셀에 쓰기 데이터(D_WR)가 '0'이 경우에, 메모리 셀에 아무런 동작이 수행되지 않는다.
도 14는 본 발명의 실시 예에 따른 쓰기 동작 모드에 따른 데이터 테이블을 예시적으로 보여주는 도면이다. 도 14를 참조하면, 읽기 데이터(D_RD)와 쓰기 데이터(D_WR)에 따라 다음과 같이 셋/리셋 동작이 수행될 수 있다.
읽기 데이터(D_RD)가 '1'이고, 쓰기 데이터(D_WR)가 '1'일 때, DCW 모드에서 아무런 쓰기 동작이 수행되지 않지만, aDCW 모드에서 셋 동작이 수행될 수 있다. 읽기 데이터(D_RD)가 '1'이고, 쓰기 데이터(D_WR)가 '0'일 때, DCW 모드 및 aDCW 모드 모두에서 리셋 동작이 수행될 수 있다. 읽기 데이터(D_RD)가 '0'이고, 쓰기 데이터(D_WR)가 '1'일 때, DCW 모드 및 aDCW 모드 모두에서 셋 동작이 수행될 수 있다. 읽기 데이터(D_RD)가 '0'이고, 쓰기 데이터(D_WR)가 '0'일 때, DCW 모드 및 aDCW 모드 모두에서 아무런 쓰기 동작도 수행되지 않는다.
정리하면, DCW 모드에서 읽기 데이터(D_RD)와 쓰기 데이터(D_WR)가 동일할 때 쓰기 동작이 금지되고, aDCW 모드에서 읽기 데이터(D_RD)와 쓰기 데이터(D_WR)가 모두 '0'(리셋 상태)일 때 쓰기 동작이 금지될 수 있다.
도 15는 본 발명의 실시 예에 따른 aDCW 모드의 쓰기 동작에 대한 데이터 테이블을 예시적으로 보여주는 도면이다. 도 15를 참조하면, 이전 데이터, 읽기 데이터(D_RD), 쓰기 데이터(D_WR)에 따라 셋/리셋 동작은 다음과 같이 수행될 수 있다.
이전 데이터가 '1'(셋 상태)이고, 읽기 데이터(D_RD)가 '1'인 메모리 셀의 경우, 쓰기 데이터(D_WR)가 '1'일 때, 메모리 셀에 셋 동작이 수행될 수 있다. 반면에, 이전 데이터가 '1'(셋 상태)이고, 읽기 데이터(D_RD)가 '1'인 메모리 셀의 경우, 쓰기 데이터(D_WR)가 '0'일 때, 메모리 셀에 리셋 동작이 수행될 수 있다.
한편, aDCW 모드의 쓰기 동작의 읽기 전압은 정상 모드의 읽기 전압(Vread)보다 동일하거나 높을 수 있다. 이 때문에 드리프트가 된 메모리 셀이 리셋 상태이지만 셋 상태로 읽힐 가능성도 있다. 즉, 이전 데이터가 '0'이지만, 읽기 데이터(D_RD) 데이터는 '1' 혹은 '0'일 수 있다.
만일, 이전 데이터가 '0'(리셋 상태)이고, 읽기 데이터(D_RD)가 '1'인 메모리 셀의 경우에 쓰기 데이터(D_WR)가 '1'일 때, 메모리 셀에 셋 동작이 수행될 수 있다. 이는 도 13에 도시된 메타 데이터 상태에 대응할 수 있다. 반면에, 이전 데이터가 '0'(리셋 상태)이고, 읽기 데이터(D_RD)가 '1'인 메모리 셀의 경우에 쓰기 데이터(D_WR)가 '0'일 때, 메모리 셀에 리셋 동작이 수행될 수 있다.
또한, 이전 데이터가 '0'(리셋 상태)이고, 읽기 데이터(D_RD)가 '0'인 메모리 셀의 경우에 쓰기 데이터(D_WR)가 '1'일 때, 메모리 셀에 셋 동작이 수행될 수 있다. 반면에, 이전 데이터가 '0'(리셋 상태)이고, 읽기 데이터(D_RD)가 '0'인 메모리 셀의 경우에 쓰기 데이터(D_WR)가 '0'일 때, 메모리 셀에 아무런 동작도 수행되지 않을 것이다.
한편, 본 발명의 실시 예에 있어서 aDCW 모드에서 쓰여질 데이터에 따라 리드스킵이 적용될 수 있다. 예를 들어, 쓰여질 데이터가 셋 상태에 대응하는 데이터일 때, 리드스킵이 필요하지 않을 수 있다.
도 16은 본 발명의 다른 실시 예에 따른 쓰기 동작 모드에 따른 데이터 테이블을 예시적으로 보여주는 도면이다. 도 16을 참조하면, 쓰기 동작 모드는 도 14의 그것과 비교하여 리드스킵 aDCW 모드가 추가되고 있다. 쓰기 데이터(D_WR)가 '0'이고, 읽기 데이터(D_RD)가 '0'이면, 리드스킵 aDCW 모드에서 쓰기 동작은 수행되지 않는다. 쓰기 데이터(D_WR)가 '0'이고, 읽기 데이터(D_RD)가 '1'이면, 리드스킵 aDCW 모드에서 셋 동작이 수행될 수 있다. 쓰기 데이터(D_WR)가 '1'이고, 읽기 데이터(D_RD)가 '0'이면, 리드스킵 aDCW 모드에서 리셋 동작이 수행될 수 있다. 쓰기 데이터(D_WR)가 '1'이고, 읽기 데이터(D_RD)가 '1'이면, 리드스킵 aDCW 모드에서 셋 동작이 수행될 수 있다.
도 17은 본 발명의 실시 예에 따른 aDCW 모드에 따른 쓰기 동작시 산포를 예시적으로 보여주는 도면이다. 도 17을 참조하면, aDCW 모드의 쓰기 동작시 읽기 동작(센싱 동작)은 정상 모드의 읽기 전압(Vread)보다 동일하거나 높게 설정된 읽기 전압(Vread_aDCW)으로 수행될 수 있다. 이러한 읽기 동작에 따른 읽기 데이터(D_RD)에 따라 aDCW 쓰기 동작을 수행하면, 메타 상태가 존재하는 않는 데이터 비교 쓰기 동작이 가능하다. 도 17에 도시된 바와 같이, 리셋 상태의 메모리 셀은 지속적으로 드리프트가 진행되고, 셋 상태의 데이터와 상관없이 쓰기 동작이 수행됨으로써 기존 대비 넓은 마진이 확보될 수 있다.
한편, 도 17에 도시된 산포는 쓰기 동작에 따라 셋/리셋 상태의 셀들 모두가 드리프트 되는 경우이다. 한편, 본 발명의 산포가 여기에 제한되지 않을 것이다.
도 18은 본 발명의 다른 실시 예에 따른 aDCW 모드에 따른 쓰기 동작시 산포를 예시적으로 보여주는 도면이다. 도 18을 참조하면, 쓰기 동작 후에 셋 상태의 메모리 셀들만 드리프트 되거나, 셋 상태의 메모리 셀들의 드리프트 속도가 리셋 상태의 메모리 셀들의 드리프트 속도보다 빠른 경우, 셋 상태에 대응하는 산포와 리셋 상태에 대응하는 산포의 일부 구간이 겹칠 수 있다. aDCW 모드의 쓰기 동작시 읽기 전압(Vread_aDCW)으로 셋 동작이 수행되거나 리셋 동작이 수행될 수 있다.
겹치는 부분(C)에서 이전 데이터가 '0'인 메모리 셀은 쓰기 데이터가 '0'이면 그대로 유지되고 있다. 반면에 겹치는 부분(C)에서 이전 데이터가 '1'인 메모리 셀은 쓰기 데이터(D_WR)에 따라 셋 동작 혹은 리셋 동작을 수행할 수 있다. 이로써, 센싱 마진은 도 18에 도시된 바와 같이 셋 상태와 리셋 상태 사이에 충분한 마진이 확보될 수 있다.
한편, aDCW 모드의 쓰기 동작은 DCW 모드의 쓰기 동작과 비교하여 쓰기 안정화 시간(tWTR) 감소시킬 수 있다. 여기서 쓰기 안정화 시간(tWTR)은 쓰기 동작 시간부터 저항성 메모리 셀이 포함된 상변화 물질이 열에 의해 비정질 상태가 안정화될 때까지 시간을 포함한다. 이러한 안정화 상태는 리셋 상태의 메모리 셀에 대한 충분한 드리프트가 이러한 상태를 의미한다.
도 19는 본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)의 쓰기 동작을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 19를 참조하면, 비휘발성 메모리 장치(100)의 쓰기 동작은 다음과 같이 진행될 수 있다.
외부(메모리 제어기)로부터 쓰기 명령, 어드레스, 및 쓰기 데이터가 수신되면, 어드레스에 대응하는 메모리 셀의 데이터에 대한 감지 동작이 수행될 수 있다(S110). 쓰기 데이터(D_WR) 및 감지 동작에 따른 감지 데이터, 즉 읽기 데이터(D_RD)가 비교될 수 있다(S120). 이후, 쓰기 데이터(D_WR)와 읽기 데이터(D_RD)가 동일한 지가 판별될 수 있댜(S130).
만일, 쓰기 데이터(D_WR)와 읽기 데이터(D_RD)가 동일하면, 쓰기 데이터(D_WR)가 셋 데이터인 지 판별될 수 있다(S140). 만일, 쓰기 데이터(D_WR)가 셋 데이터이면, 메모리 셀에 셋 동작이 수행될 수 있다(S145). 반면에 쓰기 데이터(D_WR)가 셋 데이터가 아니면, 쓰기 동작은 곧 바로 종료된다.
반면에, 쓰기 데이터(D_WR)와 읽기 데이터(D_RD)가 동일하지 않다면, 쓰기 데이터(D_WR)가 리셋 데이터인 지 판별될 수 있다(S160). 만일, 쓰기 데이터(D_WR)가 리셋 데이터가 아니라면, 메모리 셀에 셋 동작이 수행될 수 있다(S150). 반면에, 쓰기 데이터(D_WR)가 리셋 데이터이면, 메모리 셀에 리셋 동작이 수행될 수 있다(S170).
한편, 본 발명의 쓰기 동작은 데이터 비교 쓰기 방식을 이용하면서 쓰기 데이터에 따라 동시에 리드스킵을 적용할 수 있다.
도 20은 본 발명의 다른 실시 예에 따른 비휘발성 메모리 장치(100)의 쓰기 동작을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 20을 참조하면, 비휘발성 메모리 장치(100)의 쓰기 동작은 다음과 같이 진행될 수 있다.
비휘발성 메모리 장치(100)는 외부로부터 쓰기 명령, 쓰기 데이터, 어드레스를 수신할 수 있다(S210). 우선적으로 쓰기 데이터(D_WR)가 셋 상태에 대응하는 데이터 '1'인지가 판별될 수 있다(S220). 만일, 쓰기 데이터(D_WR)가 '1'이라면, 어드레스에 대응하는 메모리 셀에 지체없이 셋 동작이 수행될 수 있다(S230).
반면에, 쓰기 데이터(D_RD)가 리셋 상태에 대응하는 데이터 '0'인 경우, 어드레스에 대응하는 메모리 셀로부터 읽기 동작이 수행될 수 있다(S240). 이러한 읽기 동작은 정상 모드의 읽기 전압보다 같거나 높게 설정된 읽기 전압에 의해 수행될 수 있다.
이후에, 읽기 데이터(D_RD)가 리셋 상태인지가 판별될 수 있다(S250). 만일, 읽기 데이터(D_RD)가 리셋 상태라면, 쓰기 동작은 수행되지 않는다. 반면에, 읽기 데이터(D_RD)가 리셋 상태가 아니라면, 메모리 셀에 리셋 동작이 수행될 수 있다(S260).
도 21은 본 발명의 실시 예에 따른 aDCW 모드에 데이터 '1'의 쓰기 동작의 타이밍을 예시적으로 보여주는 도면이다. 도 21을 참조하면, 정상 모드에서 읽기 동작은 비트라인(BL)으로 제 1 읽기 레벨의 읽기 전압(Vread)이 인가되고, 워드라인(WL)으로 읽기 워드라인 전압(Vrd_WL)이 인가될 수 있다.
aDCW 모드에서 읽기 동작은 비트라인(BL)으로 제 2 읽기 레벨을 갖는 읽기 전압(Vread_aDCW)이 인가되고, 워드라인(WL)으로 읽기 워드라인 전압(Vrd_WL)이 인가될 수 있다. 여기서 읽기 전압(Vread_aDCW)은 가변적일 수 있다. 실시 예에 있어서, 제 2 읽기 레벨을 갖는 읽기 전압(Vread_aDCW)은 정상 모드의 제 1 읽기 레벨을 갖는 읽기 전압(Vread) 보다 높거나 낮을 수 있다.
이후에, aDCW 모드에서 쓰기 동작은 비트라인(BL)/워드라인(WL)으로 리셋 펄스 혹은 셋 펄스를 인가할 수 있다. 여기서 리셋 펄스는, 셋 펄스와 비교할 때, 상대적으로 높은 진폭과 상대적으로 짧은 인가 시간을 갖는다. 예를 들어, 리셋 동작에서 비트라인으로 리셋 비트라인 전압(Vrst_BL)이 인가되고 워드라인으로 쓰기 워드라인 전압(Vwr_WL)이 인가될 수 있다. 또한, 셋 동작에서 비트라인으로 셋 비트라인 전압(Vset_BL)이 인가되고, 워드라인으로 쓰기 워드라인 전압(Vwr_WL)이 인가될 수 있다.
실시 예에 있어서, 읽기 워드라인 전압(Vrd_WL)과 쓰기 워드라인 전압(Vwr_WL)은 네거티브 전압일 수 있다.
실시 예에 있어서, 리셋 비트라인 전압(Vrst_BL)은 셋 비트라인 전압(Vset_BL)보다 높을 수 있다.
도 22는 본 발명의 실시 예에 따른 aDCW 모드에 데이터 '0'의 쓰기 동작의 타이밍을 예시적으로 보여주는 도면이다. 도 22를 참조하면, 쓰기 동작의 타이밍은 도 21에 도시된 그것과 비교하여 리셋 펄스만 제외된 경우이다. 즉, 셋 상태의 대응하는 셋 펄스만이 비트라인(BL)/워드라인(WL) 인가되는 것만 제외하고 다른 것들은 동일하다.
도 23a 및 도 23b는 본 발명의 실시 예에 따른 비휘발성 메모리 장치의 쓰기 동작의 효과를 보여주는 도면들이다. 도 23a를 참조하면, 모드별 에너지 소비를 비교하면, 일반적인 w DCW가 가장 적고, w aDCW가 그 다음이고, w/o DCW가 가장 많이 소비한다. 도 23b를 참조하면, 모드별 페일 비율의 경우 시간에 따라 w DCW는 증가하지만, w aDCW는 시간의 경과에 상관없이 0이다.
도 24는 본 발명의 실시 예에 따른 저장 장치(1000)를 예시적으로 보여주는 도면이다. 도 24를 참조하면, 저장 장치(1000)는 적어도 하나의 비휘발성 메모리(NVM(s), 1100) 및 메모리 제어기(1200)를 포함할 수 있다.
비휘발성 메모리 장치(1100)는 쓰기 동작시 전력 소비를 줄이면서 동시에 데이터 신뢰성을 향상시키기 위하여 도 1 내지 도 22에서 설명된 비휘발성 메모리 장치 및 그것의 쓰기 방법에 의해 구현될 수 있다. 실시 예에 있어서, 비휘발성 메모리 장치(1100)는 옵션적으로 외부 고전압(Vpp)을 제공받도록 구현될 수 있다.
메모리 제어기(1200)는 비휘발성 메모리 장치(1110)에 연결될 수 있다. SSD 제어기(1200)는, 적어도 하나의 프로세서(CPU(s), 1210), 버퍼 메모리(1220), 에러 정정 회로(1230), 코드 메모리(1240), 호스트 인터페이스(1250) 및 비휘발성 메모리 인터페이스(1260)를 포함할 수 있다.
프로세서(1210)는 전반적인 동작을 제어하도록 구현될 수 있다. 프로세서(1210)는 중앙 처리 장치(CPU, Central Processing Unit) 혹은 어플리케이션 프로세서(AP, Application Processor)일 수 있다.
버퍼 메모리(1220)는 메모리 제어기(1200)의 동작에 필요한 데이터를 임시로 저장할 수 있다. 도 24에 도시된 버퍼 메모리(1220)는 메모리 제어기(1200)의 내부에 배치되지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. 본 발명의 버퍼 메모리(1220)는 메모리 제어기(1200)의 외부에 별도의 IP(intellectual property)로 배치될 수 있다.
에러 정정 회로(1230)는 쓰기 동작에서 프로그램될 데이터의 에러 정정 코드 값을 계산하고, 읽기 동작에서 읽혀진 데이터를 에러 정정 코드 값에 근거로 하여 에러 정정하고, 데이터 복구 동작에서 비휘발성 메모리 장치(1100)로부터 복구된 데이터의 에러를 정정할 수 있다. 에러 정정 회로(1230)는 LDPC(low density parity check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(Block coded modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러를 정정할 수 있다. 코드 메모리(1240)는 메모리 제어기(1200)를 동작하는 데 필요한 코드 데이터를 저장할 수 있다. 여기서 코드 메모리는 비휘발성 메모리 장치로 구현될 수 있다. 호스트 인터페이스(1250)는 외부의 장치와 인터페이스 기능을 제공할 수 있다. 비휘발성 메모리 인터페이스(1260)는 비휘발성 메모리 장치(1100)와 인터페이스 기능을 제공할 수 있다. 한편, 도시되지 않았지만, 메모리 제어기(1200)는 무선 통신 기능(예를 들어, WiFi)을 탑재할 수 있다.
본 발명의 실시 예에 따른 저장 장치(1000)는, 저항 드리프트에 면역력을 높이면서 동시에 전력 소비를 줄이는 쓰기 모드를 수행하는 비휘발성 메모리 장치를 구비함으로써, 시스템 성능을 현저하게 향상시킬 수 있다.
한편, 본 발명의 실시 예에 따른 비휘발성 메모리 장치는 메모리 셀의 위치에 따라 최적의 쓰기 모드를 진행할 수 있다.
도 25는 본 발명의 실시 예에 따른 엣지 부분에 특정 쓰기 모드를 적용하는 메모리 시스템(2000)을 예시적으로 보여주는 도면이다. 도 25를 참조하면, 메모리 제어기(2200)로부터 어드레스(ADD)를 수신하면, 제어 로직(2170)은 수신된 어드레스(ADD)에 따라 엣지 여부를 판별하고, 엣지에 대응하는 어드레스라면 대응하는 쓰기 모드를 선택하여 쓰기 동작을 수행할 수 있다.
한편, 환경 정보(수명, 열화 정도, 온도, 에러 비트 등)에 따라 서로 다른 쓰기 모드가 결정될 수 있다.
도 26은 본 발명의 실시 예에 따른 환경 정보에 따른 쓰기 모드를 선택적으로 운영하는 메모리 시스템(3000)을 예시적으로 보여주는 도면이다. 도 26를 참조하면, 메모리 제어기(3200)는 환경 정보를 수집하고, 수집된 정보를 근거로 하여 최적의 신뢰성 쓰기 모드를 선택할 수 있다.
실시 예에 있어서, 환경 정보는 메모리 셀에 대한 쓰기 횟수 혹은 읽기 횟수 관련 사이클 정보, 온도 정보, 혹은 에러 비트 개수를 포함할 수 있다.
메모리 제어기(3200)는 선택된 신뢰성 쓰기 모드 설정 정보를 비휘발성 메모리 장치(3100)로 전송할 수 있다. 비휘발성 메모리 장치(3100)는 쓰기 모드 설정 정보에 근거로 하여 쓰기 모드를 선택하고, 선택된 쓰기 모드에 따라 읽기 전압(Vread) 레벨을 변경할 수 있다.
한편, 본 발명의 실시 예에 따른 비휘발성 메모리 장치는 서버 시스템에 적용 가능하다.
도 27은 본 발명의 실시 예에 따른 서버 시스템(4000)을 예시적으로 보여주는 도면이다. 도 27를 참조하면, 서버 시스템(4000)은 적어도 하나의 메모리 모듈(DIMM; 4100), 적어도 하나의 비휘발성 메모리 모듈(NVDIMM, 4200), 및 적어도 하나의 프로세서(4300)를 포함할 수 있다. 여기서 적어도 하나의 비휘발성 메모리 모듈(4200)은 상술된 비휘발성 메모리 장치를 포함할 수 있다. 따라서, 본 발명의 서버 시스템(4200)은 데이터 신뢰성을 높이고 동시에 전력 소비를 줄이기 때문에 경제성 있는 관리를 기대할 수 있다.
한편, 본 발명은 다양한 종류의 컴퓨팅 시스템(예, CPU(Central Processing Unit)/GPU(Graphic Processing Unit)/NPU(Neural Processing Unit) 플랫폼)에 적용 가능하다.
도 28은 본 발명의 실시 예에 따른 컴퓨팅 시스템(5000)을 예시적으로 보여주는 도면이다. 도 25를 참조하면, 컴퓨팅 시스템(5000)은, 시스템 버스(5001)에 연결된 CPU(Central Processing Unit; 5110), 가속기(Accelerator; 5120), 시스템 버스(5001)에 연결된 메모리 장치(5210) 혹은 저장 장치(5220), 확장 버스(5002)에 연결된 입출력 장치(5310), 모뎀(5320), 네트워크 장치(5330), 혹은 저장 장치(5340)를 포함할 수 있다.
여기서 시스템 버스(5001)는 PCI 버스 혹은 PCIe 버스일 수 있고, 확장 버스(5002)는 확장 버스 인터페이스(5003)를 통하여 시스템 버스(5001)에 연결될 수 있다. 다만, 실시예는 이에 한정되지 않으며 입출력 장치, 모뎀, 네트워크 장치 등은 시스템 버스에 연결될 수 있다. 주변기기는 Direct memory access 방식을 통해 CPU에 독립적으로 DMA engine에 의해메인 메모리에 직접 접근할 수 있다. CPU는 처음에 transfer를 시작하고 다른 작업을 수행하다가, transfer가 끝나면 DMA controller로부터 interrupt를 받을 수 있다.
실시 예에 있어서, 시스템 버스(5001) 혹은 확장 버스(5002)는 serial/parallel connection으로 구성할 수 있다. serial/parallel connection은 multi-drop방식, daisy-chain 방식, switched hub 방식 등을 이용할 수 있다.
실시 예에 있어서, CPU(5110) 및 가속기(5120), 메인 메모리들(5114), 저장 장치(5220)는 시스템 버스(5001)에 의해 서로 상호 연결될 수 있다. 여기서 가속기는 GPU, NPU, 혹은 응용 특화된 처리 장치일 수 있다. 실시 예에 있어서, CPU(5110) 및 가속기(5120)는 멀티-코어로 구성될 수 있다.
한편, CPU(5110) 및 가속기(5120; GPU, NPU, 혹은, 모든 종류의 응용 특화된 처리 장치)의 각각은, CPU(5110) 및 가속기(5120)와 시스템 버스(5001) 사이에 온-칩 캐시(on-chip cache), 오프-칩 캐시(off-chip cache), 혹은 백-사이드 버스 캐시(backside bus cache)를 가질 수 있다. 실시 예에 있어서, 오프-칩 캐시(5112, 5122)는 분리된 버스를 통하여 CPU(5110)/가속기(5120)에 연결될 수 있다. 실시 예에 있어서, CPU(5110) 및 가속기(5120)는, 온-칩 캐시(5111, 5121)를 포함할 수 있다. 오프-칩 캐시들(5112, 5122)의 각각은, 대응하는 CPU(5110) 및 가속기(5120)에 연결될 수 있다. 실시 예에 있어서, 온-칩/오프 칩 캐시는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등과 같은 휘발성 메모리 혹은 NAND 플래시 메모리, PRAM(Phase Random Access Memory), RRAM(Resistive Random Access Memory) 등과 같은 비휘발성 메모리를 포함할 수 있다.
메인 메모리들(5114, 5210; 브릿지 메모리, 가속기용 메모리 제외)은 대응하는 메모리 제어기들(5113, 5211)을 통하여 CPU(5110) 및 가속기(5120)에 연결될 수 있다. 실시 예에 있어서, 메인 메모리(5114, 5210)는 DRAM, SRAM 등과 같은 휘발성 메모리 혹은 NAND 플래시 메모리, PRAM, RRAM 등과 같은 비휘발성 메모리를 포함할 수 있다.
메인 메모리는 DDR, LPDDR, GDDR, HBM, NVDIMM 표준 interface를 통해 메모리 제어기와 통신할 수 있다. 메모리 제어기는 Command pin을 통해 command를, address pin을 통해 address를 보낼 수 있고, DQ pin을 통해 data를 주고 받을 수 있다. 실시 예에 따라 Din pin과 Dout pin은 분리될 수 있다. 메모리 제어기는 또한 CLK pin을 통해 CLK 신호를 제공할 수 있고, 기타 신호 수신을 위한 control 신호를 각각 대응되는 pin들을 제공할 수 있다(ex.CS, CLE, ALE, WE, RE, DQS). 메모리는 메모리 제어기에 DQ pin을 통해 data를 제공할 수 있고, 신호 수신을 위한 control 신호를 대응되는 pin을 통해 제공할 수 있다(ex. DQS). Control 신호 중 일부는 strobe 신호일 수 있다. 위 pin들 중 일부는 merge될 수 있다. 예를 들어 Command pin과 Address pin은 CA pin으로 merge될 수 있다.
프로세서(CPU/가속기)가 프로그램과 데이터를 사용할 때, 프로그램과 데이터는 메인 메모리 혹은 가속기용 메모리(5114, 5116, 5210)에 유지될 수 있다. 특히, 특정 프로그램 및 데이터의 경우 해당 프로그램 및 데이터에 특화된 가속기용 메모리에 유지될 수 있다. 메인 메모리는 CPU/가속기에서 직접 접근이 가능한 공간으로 사용될 수 있다. 그리고 소프트웨어 실행시 메인 메모리/가속기용 메모리는 소프트웨어의 실행공간으로 사용될 수 있다. 즉, 소프트웨어 실행시 프로세서가 사용하는 해당 프로그램과 데이터를 저장장치로부터 메인 메모리로 복사될 수 있으며, 반대로 메인 메모리에서 저장 장치로 복사될 수도 있고, 특히 가속기의 응용에 관련된 프로그램과 데이터는 메인 메모리나 저장 장치로부터 가속기용 메모리로 복사될 수 있고, 가속기용 메모리에서 메인 메모리나 저장 장치로 복사될 수 있다. 또한, 필요에 따라 프로그램에서 사용하는 데이터 중에서 일부만이 메인 메모리 또는 가속기용 메모리에 복사될 수 있다. 프로그램에서 사용하는 데이터 중에서 일부만이 메인 메모리 혹은 가속기용 메모리(5114, 5116, 5210)에 복사될 수 있다. 실시 예에 있어서, 메모리(5210)는 CPU(5110) 전용이거나, CPU(5110)와 가속기(5120)에 공유될 수 있다. 실시 예에 있어서, 메모리(5210)의 일부 영역은 가속기(5120) 전용일 수 있다. 실시 예에 따라, CPU(5110)와 가속기(5120)는 브릿지를 공유할 수 있다.
브릿지 메모리들(5116, 5126)은 브릿지들(5115, 5125)을 통하여 CPU(5110) 및 가속기(5120)에 연결될 수 있다. 여기서 브릿지들(5115, 5125)은 대응하는 메모리들(5116, 5126)을 제어하는 메모리 제어기들을 포함할 수 있다. 실시 예에 있어서, 브릿지들(5115, 5125)의 각각은 네트워크 장치, 무선 네트워크 장치, 스위치, 버스, 클라우드, 혹은 광채널로 구현될 수 있다.
예를 들어, CPU(5110)/가속기(5120)는, 도 1 내지 도 26에서 설명한 비휘발성 메모리 장치의 쓰기 동작을 수행할 수 있다. 메모리 제어기(5113/5123/5115/5125/5211)는 CPU(5110)/가속기(5120)로부터 쓰기 명령을 수신할 수 있다. 메모리 제어기(5113/5123/5115/5125/5211)는 쓰기 명령을 수신한 후 프리-리드(pre-read)을 수행할 수 있다. 메모리 제어기(5113/5123)은 프리-리드 결과에 따른 읽혀진 데이터와 쓰여질 쓰기 데이터를 비교하고, 비교 결과에 따라 오버라이트(overwrite) 여부를 결정할 수 있다.
실시 예에 있어서, 메모리들(5116, 5126)은 브릿지들(5115, 5125)을 통하여 CPU(5110) 및 가속기(5120)에 연결될 수 있다. 여기서 브릿지들(5115, 5125)은 대응하는 메모리들(5116, 5126)을 제어하는 메모리 제어기들을 포함할 수 있다. 실시 예에 있어서, 브릿지들(5115, 5125)의 각각은 네트워크 장치, 무선 네트워크 장치, 스위치, 버스, 클라우드, 혹은 광채널로 구현될 수 있다.
실시 예에 있어서, CPU(5110), CPU 캐시(5111, 5112), 가속기(5120) 혹은 가속기 캐시(5121, 5122)는 대응하는 브릿지들(5115, 5125)을 통하여 시스템 버스(5001)에 연결될 수 있다. 다른 실시 예에 있어서, CPU(5110), CPU 캐시(5111, 5112), 가속기(5120) 혹은 가속기 캐시(5121, 5122)는 브릿지 없이 시스템 버스(5001)에 직접 연결될 수 있다.
한편, 도 28에 도시된 브릿지들(5115, 5125)의 각각에 하나의 메모리가 연결되지만, 본 발명이 여기에 제한되지 않을 것이다. 브릿지들(5115, 5125)의 각각에 연결된 메모리들은 여러 개 일 수도 있다.
실시 예에 있어서, 메모리(5126)는 GPU 메모리, NPU 메모리, 혹은 응용 특화 메모리를 포함할 수 있다.
만일, 가속기(5210)가 GPU일 때, 메모리들(5116, 5126)은 GPU 메모리를 포함할 수 있다. GPU 메모리는 메인 메모리와 상호 작용할 수있는 명령과 데이터를 유지할 수 있다. 명령과 데이터는 메인 메모리나 스토리지에서 복사될 수 있다. GPU 메모리는 이미지 데이터를 저장할 수 있고, 메인 메모리(5210)/CPU 메모리(5216)보다 큰 대역폭을 가질 수 있다. GPU 메모리는 메인 메모리(5210)/CPU 메모리(5216)와 다른 클록을 사용할 수 있다. GPU는 GPU 메모리에서 이미지 데이터를 읽고 처리한 다음에 GPU 메모리에 쓸 수 있다. GPU 메모리는 그래픽 처리를 가속화하도록 구현될 수 있다. 실시 예에 있어서 CPU는 메인 메모리/CPU 메모리와 DDR interface로 통신할 수 있고, GPU는 GPU 메모리와 GDDR, HBM interface 기타 GPU 메모리에 특화된 interface로 통신할 수 있다. GPU는 GPU메모리와 interposer를 통해 연결될 수 있다
만일, 가속기(5210)가 NPU일 때, 메모리들(5116, 5126)은 NPU 메모리를 포함할 수 있다. NPU 메모리는 NPU와 상호 작용할 수 있는 명령 및 데이터를 유지할 수 있다. 명령 및 데이터는 메인 메모리나 스토리지에서 복사될 수 있다. 메인 메모리에서의 복사는 CPU 통해 수행될 수도 있고, DMA engine의 해 DMA 방식으로 이루어질 수도 있다. NPU 메모리는 신경망에 대한 가중치 데이터를 유지할 수 있다. NPU 메모리는 메인 메모리(5210)/CPU 메모리(5216)보다 더 큰 대역폭을 가질 수 있다. NPU 메모리는 메인 메모리(5210)/CPU 메모리(5216)와 다른 클록을 사용할 수 있다. NPU는 NPU 메모리에서 가중치 데이터를 읽고 업데이트 한 다음, 훈련 중에 NPU 메모리에 쓸 수 있다. NPU 메모리는 신경망 훈련 및 추론과 같은 기계 학습을 가속화하도록 구현될 수 있다. 실시예에 있어서 CPU는 메인 메모리/CPU 메모리와 DDR interface로 통신할 수 있고, NPU는 NPU 메모리와 GDDR, HBM interface 기타 NPU 메모리에 특화된 interface로 통신할 수 있다. NPU는 NPU메모리와 interposer를 통해 연결될 수 있다.
CPU(5110) 혹은 가속기(5120)은 시스템 버스(5001) 혹은 확장 버스(5002)를 통하여 세컨터리 스토리지(5210, 5220, 5340)에 접근할 수 있다. 메모리(5210)는 메모리 제어기(5211)에 의해 제어될 수 있다. 여기서 메모리 제어기(5211)는 시스템 버스(5001)에 연결될 수 있다. 실시 예에 있어서, 메모리(5210)는 도 1 내지 도 26에서 설명된 비휘발성 메모리 장치를 포함할 수 있다. 저장 장치들(5220, 5340)는 저장 제어기(5221, 5341)에 의해 제어될 수 있다. 여기서 저장 제어기들(5221, 5341)는 시스템 버스(5001)혹은 확장 버스(5002)에 연결될 수 있다. 저장 장치들(5220, 5340)는 데이터를 저장하도록 구현될 수 있다. 저장 제어기들(5221, 5341)의 각각은 대응하는 저장 장치(5220 혹은 5340)로부터 데이터를 읽고, 읽혀진 데이터를 호스트로 전송하도록 구현될 수 있다. 저장 제어기들(5221, 5341)은 호스트의 요청에 응답하여 전송된 데이터를 대응하는 저장 장치(5220 혹은 5340)에 저장하도록 구현될 수 있다.
저장 장치는 저장장치 제어기와 SATA, SAS, SCSI, PCI, PCIe, AHCI, NVMe interface를 통해 연결될 수 있다. 저장장치 제어기는 Command pin을 통해 command를, address pin을 통해 address를 보낼 수 있고, DQ pin을 통해 data를 주고 받을 수 있다. 실시예에 따라 Din pin과 Dout pin은 분리될 수 있다. 저장장치제어기는 또한 CLK pin을 통해 CLK 신호를 제공할 수 있고, 기타 신호 수신을 위한 control 신호를 각각 대응되는 pin들을 제공할 수 있다(ex.CS, CLE, ALE, WE, RE, DQS ). 저장장치는 저장장치 제어기에 DQ pin을 통해 data를 제공할 수 있고, 신호 수신을 위한 control신호를 대응되는 pin을 통해 제공할 수 있다 (ex. DQS) Control 신호 중 일부는 strobe 신호일 수 있다. 위 pin들 중 일부는 merge될 수 있다. 예를 들어 Command pin과 Address pin은 CA pin으로 merge될 수 있다.
저장 장치(5220) 및 저장 제어기(5221)의 각각은, 메타데이터(metadata), 맵 데이터 등을 저장하는 버퍼나, 자주 접근하는 데이터를 저장하는 읽기 캐시를 포함하거나, 혹은 쓰기 성능을 높이기 위한 쓰기 캐시를 포함할 수 있다. 예를 들어, 쓰기 캐시는 자주 쓰기 요청이 수신되는 데이터를 저장할 수 있고, 매 쓰기 요청이 들어올 때마다 저장장치에 전달하는 대신 일정 단위의 쓰기 요청이 수신된 후에 이를 저장 매체에 전달할 수 있다. 즉, 비트 단위의 쓰기 요청들이 우선적으로 쓰기 캐시에 저장되고, 일정 단위만큼 쓰기 요청들이 수신되면, 수신된 쓰기 요청들을 저장 매체에 전달될 수 있다. 예를 들어, 일정 단위는 플래시 메모리의 동작 단위(예, 페이지 단위)와 동일할 수 있다. 즉, 일정 단위는 저장 장치에 친화적인 단위일 수 있다.
실시 예에 있어서, 도 28에 도시된 각 구성 요소는 버퍼를 포함할 수 있다. 여기서 버퍼는 SRAM, DRAM와 같은 휘발성 메모리이거나, NVRAM(Nonvolatile Random Access Memory), NAND 플래시 메모리, 노아 플래시 메모리, PRAM(Phase Random Access Memory), SCM(Storage Class Memory), 혹은 뉴 메모리(new memory)와 같은 비휘발성 메모리일 수 있다.
저장 장치(5220)는 HDD(Hard Disk Drive)와 같은 휘발성 메모리와 NVRAM, SSD(Solid State Drive), SCM, 뉴 메모리와 같은 비휘발성 메모리를 포함할 수 있다.
도 29는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(6000)을 예시적으로 보여주는 도면이다. 도 29를 차조하면, 컴퓨팅 시스템(6000)은, 시스템 버스(6001)에 연결된 CPU(Central Processing Unit; 6110), GPU(Graphic Processing Unit; 6120), 혹은 NPU(Neural Processing Unit; 6130; 혹은 특수 목적 프로세싱 유닛(Application-specific Processing Unit)), 시스템 버스(6001)에 연결된 메모리 장치(6210) 혹은 저장 장치(6220), 확장 버스(6002)에 연결된 입출력 장치(6310), 모뎀(6320), 네트워크 장치(6330), 혹은 저장 장치(6340)를 포함할 수 있다. 여기서 확장 버스(6002)는 확장 버스 인터페이스(6003)를 통하여 시스템 버스(6001)에 연결될 수 있다.
CPU(6110), GPU(6120), 및 NPU(6130)의 각각은 온-칩(on-chip) 캐시(6111, 6121, 6131)를 포함할 수 있다. 오프-칩(ooff-chip) 캐시들(6112, 6122, 6132)의 각각은 대응하는 CPU(6110), GPU(6120), 및 NPU(6130)에 연결될 수 있다. 온-칩/오프 칩 캐시들(6111, 6121, 6131, 6112, 6122, 6132)의 각각은 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등과 같은 휘발성 메모리 혹은 NAND 플래시 메모리, PRAM(Phase Random Access Memory), RRAM(Resistive Random Access Memory) 등과 같은 비휘발성 메모리를 포함할 수 있다.
제 1 메모리들(6114, 6124, 6134)은 대응하는 메모리 제어기들(6113, 6123, 6133)을 통하여 CPU(6110), GPU(6120), 및 NPU(6130)에 연결될 수 있다.
제 2 메모리들(6116, 6126, 6136)은 브릿지들(6115, 6125, 6135)을 통하여 CPU(6110), GPU(6120), 및 NPU(6130)에 연결될 수 있다. 여기서 브릿지들(6115, 6125, 6135)은 대응하는 메모리들(6116, 6126, 6136)을 제어하는 메모리 제어기들을 포함할 수 있다. 브릿지들(6115, 6125, 6135)의 각각은 네트워크 장치, 무선 네트워크 장치, 스위치, 버스, 클라우드, 혹은 광채널로 구현될 수 있다.
실시 예에 있어서, 메모리들(6124, 6126)은 GPU 메모리를 포함할 수 있다. 실시 예에 있어서, 메모리들(6134, 6136)은 NPU 메모리를 포함할 수 있다. 실시 예에 있어서, 메인 메모리들(6114, 6116, 6124, 6126, 6134, 6136, 6210)의 각각은, 도 1 내지 도 26에서 설명한 쓰기 동작에 따라 구현될 수 있다. 메인 메모리들(6114, 6116, 6124, 6126, 6134, 6136, 6210) 중에서 적어도 하나는 DRAM, SRAM 등과 같은 휘발성 메모리, 혹은 NAND 플래시 메모리, PRAM, RRAM 등과 같은 비휘발성 메모리를 포함할 수 있다. 이때 메모리(6210)는 스토리지(storage; 6220)보다 낮은 레이턴시 및 낮은 용량을 갖는다.
CPU(6110), GPU(6120), 혹은 NPU(6130)은 시스템 버스(6001)를 통하여 세컨더리 스토리지(6220)에 접근할 수 있다.
메모리(6210)는 메모리 제어기(6211)에 의해 제어될 수 있다. 여기서 메모리 제어기(6211)는 시스템 버스(6001)에 연결될 수 있다. 저장 장치(6220)는 저장 제어기(6221)에 의해 제어될 수 있다. 여기서 저장 제어기(6221)는 시스템 버스(6001)에 연결될 수 있다.
저장 장치(6220)는 데이터를 저장하도록 구현될 수 있다. 저장 제어기(6221)는 저장 장치(6220)로부터 데이터를 읽고, 읽혀진 데이터를 호스트로 전송하도록 구현될 수 있다. 저장 제어기(6221)는 호스트의 요청에 응답하여 전송된 데이터를 저장 장치(6220)에 저장하도록 구현될 수 있다. 저장 장치(6220) 및 저장 제어기(6221)의 각각은 메타데이터(metadata) 저장하거나, 자주 접근하는 데이터를 저장하도록 캐시를 읽거나, 혹은 쓰기 효율을 높이기 위한 캐시를 저장하는 버퍼를 포함할 수 있다. 예를 들어, 쓰기 캐시는 특정 개수의 쓰기 요청을 수신하여 처리할 수 있다. 저장 장치(6220)는 HDD(Hard Disk Drive)와 같은 휘발성 메모리와 NVRAM, SSD, SCM, 뉴 메모리와 같은 비휘발성 메모리를 포함할 수 있다.
도 30은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템(7000)을 예시적으로 보여주는 도면이다. 도 30을 참조하면, 컴퓨팅 시스템(7000)은 시스템 버스(7001)에 연결된 CPU(7100), GPU/NPU(7200), 프레임 버퍼(7410), 메모리 제어기(7350), 및 사용자 인터페이스(7500)를 포함할 수 있다.
CPU(7100)은 DRAM 제어기(7110)를 포함할 수 있다. DRAM 제어기(7110)은 DRAM(7150)을 제어할 수 있다. GPU/NPU(7200)은 DRAM 제어기(7210)를 포함할 수 있다. DRAM 제어기(7210)는 DRAM(7250)을 제어할 수 있다.
프레임 버퍼(7410)는 CPU/NPU(7200)의 제어에 따라 디스플레이 장치(7430)에서 PSR(Panel Self Refresh)를 통해 일정 시간 동안 동일 이미지, 즉 정지 이미지(still image) 데이터를 출력하기 위한 적어도 하나의 프레임 데이터를 저장할 수 있다. 실시 예에 있어서, 프레임 버퍼(7410)는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등과 같은 휘발성 메모리 혹은 NAND 플래시 메모리, PRAM(Phase Random Access Memory), RRAM(Resistive Random Access Memory) 등과 같은 비휘발성 메모리를 포함할 수 있다.
시스템 메모리(7300)는 메모리 제어기(7350)의 제어에 따라 동작할 수 있다. 시스템 메모리(7300)는 도 1 내지 도 26에 설명된 쓰기 동작을 수행하는 비휘발성 메모리 장치를 포함할 수 있다. 메모리 제어기(7350)는 CPU(7100) 혹은 GPU/NPU(7200)로부터 쓰기 요청을 수신할 수 있다. 시스템 메모리(7300)는 메모리 제어기(7350)의 쓰기 명령에 따라 프리-리드(pre-read)를 수행하고, 프리-리드 결과에 따른 읽기 데이터와 쓰기 데이터를 비교하고, 비교 결과에 따라 오버라이트 여부를 결정할 수 있다. 즉, 읽기 데이터와 쓰기 데이터에 따라 쓰기 펄스를 인가하는 쓰기 동작이 수행되거나, 쓰기 펄스 인가 없이 쓰기 동작이 완료될 수 있다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
100: 비휘발성 메모리 장치
110: 메모리 셀 어레이
120: 워드라인 드라이버
130: 비트라인 드라이버
140: 쓰기 회로
150: 읽기 회로
160: 데이터 입출력 회로
170: 제어 로직
152: 감지 증폭기

Claims (20)

  1. 복수의 비트라인들과 복수의 워드라인들에 연결된 복수의 저항성 메모리 셀을 갖는 메모리 셀 어레이;
    어드레스에 응답하여 상기 복수의 워드라인들 중에서 어느 하나를 선택하고, 상기 선택된 워드라인으로 워드라인 전압을 인가하는 워드라인 드라이버;
    상기 어드레스에 응답하여 상기 복수의 비트라인들 중에서 어느 하나를 선택하고, 상기 선택된 비트라인으로 비트라인 전압을 인가하는 비트라인 드라이버;
    쓰기 제어 신호에 응답하여 상기 비트라인 전압 및 상기 워드라인 전압을 발생하는 쓰기 회로;
    읽기 제어 신호에 응답하여 상기 선택된 워드라인과 상기 선택된 비트라인에 연결된 저항성 메모리 셀로부터 읽기 데이터를 읽는 읽기 회로;
    외부의 장치로부터 쓰기 데이터를 수신하는 데이터 입출력 회로; 및
    복수의 쓰기 모드들 중에서 어느 하나를 선택하고, 상기 선택된 쓰기 모드, 상기 쓰기 데이터, 혹은 상기 읽기 데이터를 이용하여 상기 쓰기 제어 신호를 발생하고, 상기 선택된 쓰기 모드 혹은 상기 쓰기 데이터를 이용하여 상기 읽기 제어 신호를 발생하는 제어 로직을 포함하는 비휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 메모리 셀 어레이는 기판에 수직한 방향으로 적층된 구조의 복수의 메모리 셀 레이어들을 포함하는 비휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 복수의 메모리 셀 레이어들의 위치에 따라 상기 복수의 쓰기 모드들 중에서 어느 하나가 선택되는 것을 특징으로 하는 비휘발성 메모리 장치.
  4. 제 1 항에 있어서,
    상기 어드레스에 따라 상기 복수의 쓰기 모드들 중에서 어느 하나가 선택되는 것을 특징으로 하는 비휘발성 메모리 장치.
  5. 제 1 항에 있어서,
    상기 제어 로직은 상기 쓰기 데이터를 저장하는 쓰기 래치 및 상기 읽기 데이터를 저장하는 읽기 래치를 더 포함하는 비휘발성 메모리 장치.
  6. 제 1 항에 있어서,
    상기 복수의 쓰기 모드들은, 정상 모드, DCW(Data Compare Write) 모드, aDCW(aggressive Data Compare Write) 모드, 및 RDSKIP aDCW(Read Skip aggressive Data Compare Write) 모드를 포함하는 비휘발성 메모리 장치.
  7. 제 6 항에 있어서,
    상기 쓰기 데이터와 상기 읽기 데이터가 동일할 때, 상기 DCW 모드는 쓰기 동작을 수행하지 않는 것을 특징으로 비휘발성 메모리 장치.
  8. 제 6 항에 있어서,
    상기 쓰기 데이터와 상기 읽기 데이터가 모두 리셋 데이터일 때, 상기 aDCW 모드는 쓰기 동작을 수행하지 않는 것을 특징으로 하는 비휘발성 메모리 장치.
  9. 제 6 항에 있어서,
    상기 쓰기 데이터와 상기 읽기 데이터가 모두 리셋 데이터일 때, 상기 RDSKIP aDCW는 쓰기 동작을 수행하지 않고,
    상기 쓰기 데이터가 셋 데이터일 때, 상기 RDSKIP aDCW 모드는 읽기 동작을 수행하지 않는 것을 특징으로 하는 비휘발성 메모리 장치.
  10. 제 6 항에 있어서,
    상기 제어 로직은,
    상기 쓰기 데이터 및 상기 읽기 데이터를 XOR 연산하는 제 1 논리 회로;
    상기 제 1 논리 회로의 출력값과 DCW 활성화 신호를 AND 연산하는 데이터 제 2 논리 회로;
    상기 읽기 데이터 및 aDCW 활성화 신호를 AND 연산하는 제 3 논리 회로;
    DCW 활성화 신호, aDCW 활성화 신호, RDSKIP aDCW 활성화 신호를 NOR 연산하는 제 4 논리 회로; 및
    상기 제 2 논리 회로의 출력값, 상기 제 3 논리 회로의 출력값, 및 상기 제 4 논리 회로의 출력값을 OR 연산함으로써 이벤트 활성화 신호를 발생하는 제 5 논리 회로를 갖는 이벤트 활성화 신호 발생기를 더 포함하는 비휘발성 메모리 장치.
  11. 제 10 항에 있어서,
    상기 제어 로직은,
    상기 이벤트 활성화 신호 및 쓰기 활성화 신호를 AND 연산하는 제 6 논리 회로;
    상기 쓰기 데이터를 인버팅하는 제 7 논리 회로;
    상기 쓰기 데이터 및 상기 제 6 논리 회로의 출력값을 AND 연산함으로써 셋 활성화 신호를 발생하는 제 8 논리 회로; 및
    상기 제 6 논리 회로의 출력값과 상기 제 8 논리 회로의 출력값을 AND 연산함으로써 리셋 활성화 신호를 발생하는 제 9 논리 회로를 포함하는 쓰기 제어 신호 발생기를 더 포함하는 비휘발성 메모리 장치.
  12. 제 11 항에 있어서,
    상기 제어 로직은,
    상기 RDSKIP aDCW 활성화 신호 및 상기 쓰기 데이터를 AND 연산함으로써 리드스킵 활성화 신호를 발생하는 제 10 논리 회로를 갖는 읽기 제어 신호 발생기를 더 포함하는 비휘발성 메모리 장치.
  13. 제 1 항에 있어서,
    상기 복수의 쓰기 모드들 중에서 적어도 하나는 읽기 동작을 수행하고,
    상기 읽기 동작시, 제 2 읽기 레벨을 갖는 상기 비트라인 전압이 상기 선택된 비트라인으로 인가되고,
    상기 제 2 읽기 레벨은 정상 모드의 읽기 동작의 제 1 읽기 레벨보다 높은 것을 특징으로 하는 비휘발성 메모리 장치.
  14. 제 1 항에 있어서,
    읽기 동작시 상기 선택된 비트라인으로 읽기 전압을 인가하고,
    상기 읽기 회로는 상기 선택된 워드라인의 전압과 기준 전압을 비교하는 감지 증폭기를 더 포함하는 비휘발성 메모리 장치.
  15. 비휘발성 메모리 장치의 쓰기 방법에 있어서,
    감지 동작을 수행하는 단계;
    쓰기 데이터와 상기 감지 동작에 따른 읽기 데이터를 비교하는 단계;
    상기 비교 결과로써 상기 쓰기 데이터와 상기 읽기 데이터가 동일할 때, 상기 쓰기 데이터가 셋 상태에 대응하는 데이터인 지를 판별하는 단계;
    상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터일 때, 셋 동작을 수행하는 단계; 및
    상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터가 아닐 때, 쓰기 동작을 수행하지 않는 단계를 포함하는 방법.
  16. 제 15 항에 있어서,
    정상 모드의 읽기 동작은 제 1 읽기 레벨의 읽기 전압으로 수행되고,
    상기 감지 동작은 상기 제 1 읽기 레벨보다 높은 제 2 읽기 레벨의 읽기 전압으로 수행되고,
    상기 감지 동작을 수행하는 단계는,
    선택된 비트라인으로 상기 읽기 전압을 인가하는 단계; 및
    선택된 워드라인으로 읽기 워드라인 전압을 인가하는 단계를 더 포함하는 방법.
  17. 제 15 항에 있어서,
    상기 셋 동작을 수행하는 단계는,
    선택된 비트라인으로 셋 비트라인 전압을 인가하는 단계; 및
    선택된 워드라인으로 쓰기 워드라인 전압을 인가하는 단계를 더 포함하는 방법.
  18. 제 15 항에 있어서,
    상기 비교 결과로써 상기 쓰기 데이터와 상기 읽기 데이터가 동일하지 않을 때, 상기 쓰기 데이터가 리셋 상태에 대응하는 데이터인 지를 판별하는 단계;
    상기 쓰기 데이터가 상기 리셋 상태에 대응하는 데이터일 때, 리셋 동작을 수행하는 단계; 및
    상기 쓰기 데이터가 상기 리셋 상태에 대응하는 데이터가 아닐 때, 상기 셋 동작을 수행하는 단계를 더 포함하는 방법.
  19. 제 18 항에 있어서,
    상기 리셋 동작을 수행하는 단계는,
    선택된 비트라인으로 리셋 비트라인 전압을 인가하는 단계; 및
    선택된 워드라인으로 쓰기 워드라인 전압을 인가하는 단계를 더 포함하는 방법.
  20. 비휘발성 메모리 장치의 쓰기 방법에 있어서,
    쓰기 데이터를 수신하는 단계;
    상기 쓰기 데이터가 셋 상태에 대응하는 데이터인 지 판별하는 단계;
    상기 쓰기 데이터가 상기 셋 상태에 대응하는 데이터일 때 셋 동작을 수행하는 단계;
    상기 쓰기 데이터가 셋 상태에 대응하는 데이터가 아닐 때, 감지 동작을 수행하는 단계;
    상기 감지 동작 결과에 따른 읽기 데이터가 리셋 상태에 대응하는 데이터일 때, 쓰기 동작을 수행하는 않는 단계; 및
    상기 읽기 데이터가 상기 리셋 상태에 대응하는 데이터가 아닐 때, 리셋 동작을 수행하는 단계를 포함하는 방법.
KR1020190140134A 2019-11-05 2019-11-05 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치 KR20210054243A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190140134A KR20210054243A (ko) 2019-11-05 2019-11-05 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치
US16/870,506 US11636895B2 (en) 2019-11-05 2020-05-08 Non-volatile resistive memory device including a plurality of write modes
CN202011008789.7A CN112786091A (zh) 2019-11-05 2020-09-23 非易失性存储器装置及其写入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190140134A KR20210054243A (ko) 2019-11-05 2019-11-05 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치

Publications (1)

Publication Number Publication Date
KR20210054243A true KR20210054243A (ko) 2021-05-13

Family

ID=75687683

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190140134A KR20210054243A (ko) 2019-11-05 2019-11-05 비휘발성 메모리 장치, 그것의 쓰기 방법, 및 그것을 갖는 저장 장치

Country Status (3)

Country Link
US (1) US11636895B2 (ko)
KR (1) KR20210054243A (ko)
CN (1) CN112786091A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230008947A1 (en) * 2021-07-09 2023-01-12 Taiwan Semiconductor Manufacturing Company, Ltd. Operation methods and memory system
US11818886B2 (en) 2021-09-29 2023-11-14 International Business Machines Corporation Low program voltage flash memory cells with embedded heater in the control gate

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033620A (ja) 2006-10-30 2010-02-12 Renesas Technology Corp 磁性体メモリ
JP5557419B2 (ja) * 2007-10-17 2014-07-23 スパンション エルエルシー 半導体装置
KR101237005B1 (ko) * 2007-11-09 2013-02-26 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템, 및 이의 구동 방법
KR20110064041A (ko) * 2009-12-07 2011-06-15 삼성전자주식회사 워드 라인에 접속된 감지 증폭기를 포함하는 반도체 장치들
JP2013525937A (ja) 2010-04-26 2013-06-20 モサイド・テクノロジーズ・インコーポレーテッド 相変化メモリにおける書き込み方式
KR20140088781A (ko) 2013-01-03 2014-07-11 에스케이하이닉스 주식회사 상변화 메모리 장치 및 상변화 메모리 장치의 쓰기 방법
US9646705B2 (en) * 2013-06-12 2017-05-09 Samsung Electronics Co., Ltd. Memory systems including nonvolatile memory devices and dynamic access methods thereof
KR102131324B1 (ko) 2014-07-08 2020-07-07 삼성전자 주식회사 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
KR102178832B1 (ko) 2014-07-22 2020-11-13 삼성전자 주식회사 저항성 메모리 장치 및 저항성 메모리 장치의 동작 방법
US10629251B2 (en) 2016-08-30 2020-04-21 SK Hynix Inc. Semiconductor memory system and operating method thereof
KR101976045B1 (ko) 2016-08-30 2019-05-09 에스케이하이닉스 주식회사 쓰기 동작시 상태 전환 인식이 가능한 자기 저항 메모리 장치 및 이에 있어서 읽기 및 쓰기 동작 방법
KR102636091B1 (ko) 2016-10-14 2024-02-14 에스케이하이닉스 주식회사 저항성 메모리 장치, 이를 위한 선택적 쓰기 장치 및 동작 방법

Also Published As

Publication number Publication date
US20210134365A1 (en) 2021-05-06
US11636895B2 (en) 2023-04-25
CN112786091A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
US10937519B2 (en) Memory devices, memory systems and methods of operating memory devices
US10741245B2 (en) Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system
KR102154296B1 (ko) 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치
US9899081B2 (en) Resistive memory device and a memory system including the same
US10770138B2 (en) Method of operating resistive memory device reducing read disturbance
US9583189B2 (en) Memory device, operating and control method thereof
US10720209B2 (en) Memory device comprising resistance change material and method for driving the same
CN107919151B (zh) 存储器器件及其操作方法,以及存储器系统
KR20150144177A (ko) 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
KR20200123898A (ko) 상이한 동작 모드들에서 동작하는 뱅크들을 포함하는 불휘발성 메모리 장치, 메모리 컨트롤러의 동작 방법, 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 저장 장치
KR20150116270A (ko) 비휘발성 메모리 장치와 이를 포함하는 메모리 시스템, 및 비휘발성 메모리 장치의 구동 방법
US8254158B2 (en) Semiconductor device having resistance based memory array and method of operation associated therewith
KR101977684B1 (ko) 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치
US11636895B2 (en) Non-volatile resistive memory device including a plurality of write modes
KR102081590B1 (ko) 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
KR102055375B1 (ko) 저항체를 이용한 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US11355190B2 (en) Semiconductor memory system including scheduler for changing generation of command
US10074426B2 (en) Memory device having resistance change material and operating method for the memory device
US20190332322A1 (en) Memory system including resistive variable memory device and operating method thereof
US11348639B2 (en) Non-volatile memory device, storage device having the same, and reading method thereof
JP2023124630A (ja) メモリ装置およびメモリ制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal