KR20180081333A - 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 - Google Patents

저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 Download PDF

Info

Publication number
KR20180081333A
KR20180081333A KR1020170002447A KR20170002447A KR20180081333A KR 20180081333 A KR20180081333 A KR 20180081333A KR 1020170002447 A KR1020170002447 A KR 1020170002447A KR 20170002447 A KR20170002447 A KR 20170002447A KR 20180081333 A KR20180081333 A KR 20180081333A
Authority
KR
South Korea
Prior art keywords
data
buffer
memory cell
resistive memory
area
Prior art date
Application number
KR1020170002447A
Other languages
English (en)
Other versions
KR102646755B1 (ko
Inventor
임채욱
박현국
선우정
오영훈
이용준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170002447A priority Critical patent/KR102646755B1/ko
Priority to US15/677,052 priority patent/US10074426B2/en
Priority to CN201711247786.7A priority patent/CN108281167B/zh
Publication of KR20180081333A publication Critical patent/KR20180081333A/ko
Application granted granted Critical
Publication of KR102646755B1 publication Critical patent/KR102646755B1/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/0021Auxiliary circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • 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/5685Digital 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 storage elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • 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/76Array using an access device for each cell which being not a transistor and not 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

Abstract

저항 변화 물질을 포함하는 메모리 장치 그 구동 방법이 제공된다. 저항 변화 물질을 포함하는 메모리 장치는, 저항 변화에 따라 서로 다른 데이터를 저장하는 제1 및 제2 저항성 메모리 셀(resistive memory cell)을 포함하는 메모리 셀 어레이, 제1 저항성 메모리 셀에 대응되는 제1 영역과, 제2 저항성 메모리 셀에 대응되는 제2 영역을 포함하는 버퍼, 및 메모리 셀 어레이에 프로그램될 프로그램 데이터를 제공받고, 버퍼의 제1 영역에 저장된 제1 데이터와 제1 저항성 메모리 셀에 저장된 제2 데이터를 비교하여, 제1 영역과 제2 영역 중에서 프로그램 데이터가 라이트될 영역을 결정하는 제어 회로를 포함한다.

Description

저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법{Memory device comprising resistance change material method for operating the memory 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) 등을 이용하여 데이터를 저장한다.
본 발명이 해결하고자 하는 기술적 과제는 소자 크기를 최소화하면서 고속 처리가 가능한 메모리 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 저항 드리프트(Resistance Drift) 현상에도 불구하고 데이터 입출력의 신뢰성을 확보할 수 있는 소형 메모리 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 저항 드리프트(Resistance Drift) 현상에도 불구하고 데이터 입출력의 신뢰성을 확보할 수 있는 소형 메모리 장치의 구동 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제들을 달성하기 위한 몇몇 실시예에 따른 저항 변화 물질을 포함하는 메모리 장치는, 저항 변화에 따라 서로 다른 데이터를 저장하는 제1 및 제2 저항성 메모리 셀(resistive memory cell)을 포함하는 메모리 셀 어레이, 제1 저항성 메모리 셀에 대응되는 제1 영역과, 제2 저항성 메모리 셀에 대응되는 제2 영역을 포함하는 버퍼, 및 메모리 셀 어레이에 프로그램될 프로그램 데이터를 제공받고, 버퍼의 제1 영역에 저장된 제1 데이터와 제1 저항성 메모리 셀에 저장된 제2 데이터를 비교하여, 제1 영역과 제2 영역 중에서 프로그램 데이터가 라이트될 영역을 결정하는 제어 회로를 포함한다.
상기 기술적 과제들을 달성하기 위한 몇몇 실시예에 따른 저항 변화 물질을 포함하는 메모리 장치는, 프로그램 데이터를 제공하는 메모리 컨트롤러, 및 프로그램 데이터를, 복수의 저장 영역을 포함하는 버퍼와, 저항 변화에 따라 서로 다른 데이터를 저장하는 복수의 저항성 메모리 셀에 라이트하는 메모리 소자를 포함하되, 메모리 소자는, 버퍼의 복수의 저장 영역 중 어느 하나에 저장된 제1 데이터와, 복수의 저항성 메모리 셀 중 어느 하나에 저장된 제2 데이터를 비교하여, 프로그램 데이터가 라이트될 상기 버퍼의 저장 영역 결정한다.
상기 기술적 과제들을 달성하기 위한 몇몇 실시예에 따른 저항 변화 물질을 포함하는 메모리 장치의 구동 방법은, 프로그램 데이터를 제공하고, 라이트 포인터가 지시하는 버퍼의 제1 영역에 저장된 제1 데이터를 리드하고, 버퍼의 제1 영역에 대응되고 저항 변화에 따라 서로 다른 데이터를 저장하는 제1 저항성 메모리 셀에 저장된 제2 데이터를 리드하고, 제1 데이터와 제2 데이터를 비교하고, 비교 결과가 제1 결과이면, 프로그램 데이터를 버퍼의 제1 영역에 라이트하고, 비교 결과가 상기 제1 결과와 다른 제2 결과이면, 라이트 포인터가 버퍼의 제1 영역과 다른 제2 영역을 지시하도록 하는 것을 포함한다.
상기 기술적 과제들을 달성하기 위한 몇몇 실시예에 따른 저항 변화 물질을 포함하는 메모리 장치의 구동 방법은, 프로그램 데이터, 제1 영역과 제2 영역을 포함하는 버퍼, 및 버퍼의 제1 및 제2 영역에 각각 대응되고 저항 변화에 따라 서로 다른 데이터를 저장하는 제1 및 제2 저항성 메모리 셀을 제공하고, 버퍼의 제1 영역에 저장된 제1 데이터를 리드하고, 제1 저항성 메모리 셀에 저장된 제2 데이터를 리드하고, 제1 데이터와 제2 데이터를 비교하고, 비교 결과가 제1 결과이면, 프로그램 데이터를 버퍼의 제1 영역에 라이트하고, 비교 결과가 제1 결과와 다른 제2 결과이면, 프로그램 데이터를 버퍼의 제2 영역에 라이트하는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 저항 드리프트(Resistance Drift) 현상을 설명하기 위한 도면이다.
도 2는 도 1의 저항 드리프트 현상에 따른 저항성 메모리 셀의 산포 변화를 설명하기 위한 도면이다.
도 3은 도 1의 저항 드리프트 현상을 고려한 몇몇 실시예에 따른 메모리 장치의 라이트 방법을 설명하기 위한 도면이다.
도 4는 도 1의 저항 드리프트 현상을 고려한 몇몇 실시예에 따른 메모리 장치의 리드 방법을 설명하기 위한 도면이다.
도 5는 몇몇 실시예에 따른 메모리 장치의 블록도이다.
도 6은 도 5의 메모리 컨트롤러의 예시적인 상세 블록도이다.
도 7은 도 5의 메모리 소자의 예시적인 상세 블록도이다.
도 8 내지 도 10은 도 7의 메모리 셀 어레이를 설명하기 위한 도면들이다.
도 11은 도 7의 버퍼를 설명하기 위한 도면이다.
도 12는 몇몇 실시예에 따른 메모리 장치의 리드 동작을 설명하기 위한 순서도이다.
도 13은 몇몇 실시예에 따른 메모리 장치의 라이트 동작을 설명하기 위한 순서도이다.
도 14 내지 도 17은 도 13의 메모리 장치의 라이트 동작을 설명하기 위한 도면들이다.
도 18 내지 도 20은 몇몇 실시예에 따른 메모리 장치의 효과를 설명하기 위한 도면이다.
도 21은 몇몇 실시예에 따른 메모리 장치의 라이트 동작을 설명하기 위한 순서도이다.
도 22는 몇몇 실시예에 따른 메모리 장치의 블록도이다.
도 23은 도 22에 도시된 메모리 장치의 동작을 설명하기 위한 도면이다.
도 1은 저항 드리프트(Resistance Drift) 현상을 설명하기 위한 도면이다. 구체적으로, 도 1은 시간 흐름에 따라 상변화 물질의 저항 변화를 도시한 그래프이다. 더욱 구체적으로, 도 1은 시간 흐름에 따라 리셋 상태의 상변화 물질의 저항 변화와, 셋 상태의 상변화 물질의 저항 변화를 도시한 그래프이다.
저항 변화에 따라 서로 다른 데이터를 저장하는 저항성 메모리 셀(Resistive Memory Cell; RMC) 중 상변화 물질(phase change material)을 포함하는 상변화 메모리 셀은, 상변화 물질의 저항 값에 따라 서로 다른 데이터를 저장할 수 있다.
예를 들어, 상변화 물질은, 가열 후 천천히 냉각되면서 결정질 상태(crystalline state)로 변하거나 급속히 냉각되면서 비정질 상태(armophous state)로 변하는데, 결정질 상태의 상변화 물질은 저항이 낮고 비정질 상태의 상변화 물질은 저항이 높다. 따라서, 결정질 상태는 예를 들어, 셋(set) 데이터 또는 0데이터로 정의하고, 비정질 상태는 리셋(reset) 데이터 또는 1데이터로 정의할 수 있다.
한편, 상변화 물질이 열에 의해 비정질 상태에 도달할 경우, 비정질 상태의 상변화 물질에는 구조적 결함들(structure defects)이 존재할 수 있는데, 이러한 구조적 결함들은, 시간이 흐름에 따라 구조 완화 프로세스(structure relaxtion process)를 통해 치유 될 수 있다. 그리고, 이러한 구조적 결함들이 치유됨에 따라, 도 1에 도시된 것과 같이, 리셋 상태의 상변화 물질의 저항이 증가하는 저항 드리프트(resistance drift) 현상이 발생할 수 있다.
도 2는 도 1의 저항 드리프트 현상에 따른 저항성 메모리 셀의 산포 변화를 설명하기 위한 도면이다.
이러한 저항 드리프트 현상은 도 2에 도시된 것과 같이 저항성 메모리 셀의 산포를 변화시킬 수 있다. 구체적으로, 셋 상태(SET)의 상변화 물질을 포함하는 저항성 메모리 셀(이하, 셋 상태의 저항성 메모리 셀이라 한다)은 시간이 지나도 크게 그 산포가 변하지 않으나, 리셋 상태(RST)의 상변화 물질을 포함하는 저항성 메모리 셀(이하, 리셋 상태의 저항성 메모리 셀이라 한다)은 시간이 지나면서 그 산포가 도시된 것과 같이 변할 수 있다.
본 명세서에서는, 저항성 메모리 셀에 포함된 상변화 물질이 열에 의해 비정질 상태에 도달한 후부터 소요된 시간을 ′안정화 시간(tWTR)′으로 정의한다. 도 2에서, 리셋 상태의 저항성 메모리 셀의 산포 변화는, 안정화 시간(tWTR)이 제1 시간(t1)으로부터 제1 시간(t1)보다 후인 제2 시간(t2)이 됨에 따라 발생하는 것으로 이해할 수 있다.
이러한 저항 드리프트 현상에 때문에, 리셋 상태의 저항성 메모리 셀에 저장된 데이터를 리드하는 경우, 리드 시점이 언제인지에 따라 예기치 않은 오류가 발생할 수 있다.
예를 들어, 리셋 상태의 저항성 메모리 셀에 저항 드리프트 현상이 충분히 일어나지 않은 상태에서 리드 동작을 수행할 경우, 리셋 상태의 저항성 메모리 셀에 리셋 데이터가 저장된 것으로 리드하지 못할 수 있다.
이러한 문제점을 해결할 수 있는 하나의 방법은, 리셋 상태의 저항성 메모리 셀에 대해 저항 드리프트 현상이 일어날 수 있는 충분한 시간을 주는 것이다. 이하, 도 3 및 도 4를 참조하여, 이러한 방법에 대해 보다 구체적으로 설명한다.
도 3은 도 1의 저항 드리프트 현상을 고려한 몇몇 실시예에 따른 메모리 장치의 라이트 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 프로그램 데이터를 복수의 저항성 메모리 셀을 포함하는 메모리 셀 어레이에 라이트할 때, 버퍼(예를 들어, 버퍼 메모리, 이하 버퍼로 호칭함)에 동시에 라이트 할 수 있다. 구체적으로, 프로그램 데이터를 복수의 저항성 메모리 셀에 라이트할 때, 버퍼의 라이트 포인터(wPtr)가 지시하는 영역에 동시에 라이트 할 수 있다. 더욱 구체적으로, 프로그램 데이터를 특정 어드레스를 갖는 저항성 메모리 셀에 라이트할 때, 버퍼의 라이트 포인터(wPtr)가 지시하는 영역에 상기 특정 어드레스와 프로그램 데이터를 동시에 라이트 할 수 있다.
여기서, 버퍼의 크기는 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보할 수 있는 충분한 크기일 수 있다. 그리고, 버퍼의 라이트 포인터(wPtr)는 제1 영역(1)부터 제n 영역(n)을 순차적으로 지시하여, 데이터가 버퍼에 순차적으로 라이트되도록 할 수 있다. 그 후, 버퍼의 라이트 포인터(wPtr)는 다시 제1 영역(1)을 지시하여 버퍼가 선입 선출(FIFO; First In First Out) 방식에 따라 동작하도록 할 수 있다.
이러한 버퍼의 동작에 따라, 저항성 메모리 셀과 버퍼 내에 동시에 저장되어 있는 프로그램 데이터는 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보하지 못한 데이터일 수 있다. 그리고, 저항성 메모리 셀에는 저장되어 있으나, 버퍼에 저장되어 있지 않은 프로그램 데이터는 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 충분히 확보한 데이터일 수 있다.
이 부분에 대해 보다 구체적으로 설명하면 다음과 같다.
버퍼와 저항성 메모리 셀에 아무런 데이터가 저장되지 않은 상황에서, 버퍼의 라이트 포인터는 버퍼의 제1 영역(1)을 지시하고, 제1 어드레스(AD1)를 갖는 제1 데이터(DATA1)는, 버퍼의 제1 영역(1)과, 메모리 셀 어레이에서 제1 어드레스(AD1)로 억세스되는 위치의 저항성 메모리 셀에 라이트될 수 있다.
이 후, 버퍼의 라이트 포인터는, 버퍼의 제2 영역(2)으로부터 제n 영역(n)까지를 순차적으로 지시하여, 제2 어드레스(AD2) 내지 제n 어드레스(ADn)를 갖는 제2 데이터(DATA2) 내지 제n 데이터(DATAn)가 버퍼에 순차적으로 저장되도록 할 수 있다. 이 때, 메모리 셀 어레이의 제2 어드레스(AD2) 내지 제n 어드레스(ADn)로 억세스되는 위치의 저항성 메모리 셀에도 제2 데이터(DATA2) 내지 제n 데이터(DATAn)가 저장될 수 있다.
다음, 버퍼가 가득차서 버퍼의 라이트 포인터가 제1 영역(1)을 다시 지시하는 경우, 메모리 셀 어레이에서 제1 어드레스(AD1)로 억세스되는 위치의 저항성 메모리 셀에 저장된 제1 데이터(DATA1)는 이미 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보한 상태일 수 있다. 왜냐하면, 버퍼의 크기가 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보할 수 있는 충분한 크기이기 때문이다.
따라서, 메모리 셀 어레이에서 제1 어드레스(AD1)로 억세스되는 위치의 저항성 메모리 셀에 저장된 제1 데이터(DATA1)는, 비록 그 데이터가 리셋 데이터일지라도 저항 드리프트 현상이 충분히 일어난 상황일 수 있다. 그러므로, 버퍼는 더 이상 제1 영역(1)에 저장된 데이터를 유지하지 않아도 된다. 따라서, 새로운 프로그램 데이터가 버퍼의 제1 영역(1)에 라이트될 수 있다.
도 4는 도 1의 저항 드리프트 현상을 고려한 몇몇 실시예에 따른 메모리 장치의 리드 방법을 설명하기 위한 도면이다.
다음, 도 4를 참조하면, 특정 어드레스에 저장된 데이터를 리드할 때, 해당 어드레스가 버퍼에 존재하는지 먼저 확인하여 버퍼에 해당 어드레스가 존재하면 버퍼에 저장된 데이터를 리드하고(①), 버퍼에 해당 어드레스가 존재하지 않으면 메모리 셀에 저장된 데이터를 리드할 수 있다(②).
앞서 설명한 것과 같이, 저항성 메모리 셀과 버퍼 내에 동시에 저장되어 있는 데이터는 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보하지 못한 데이터일 수 있다. 따라서, 버퍼에 저장된 데이터를 리드하는 것이 리드 동작의 신뢰성을 높일 수 있다.
한편, 저항성 메모리 셀에는 저장되어 있으나, 버퍼에 저장되어 있지 않은 프로그램 데이터는 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 이미 충분히 확보한 데이터일 수 있다. 따라서, 저항성 메모리 셀에 저장된 데이터를 리드할 수 있다.
도 3 및 도 4에 도시된 메모리 장치의 라이트 및 리드 방법의 경우, 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보할 수 있는 버퍼의 크기가 필요하다. 따라서, 메모리 소자의 단위 시간 당 데이터 처리 용량(예를 들어, BW-BandWidth)이 커질수록 이러한 버퍼의 크기도 커저야 한다.
그런데, 예를 들어, 버퍼를 SRAM 등을 이용하여 구현할 경우, 메모리 소자 내에서 버퍼가 차지하는 면적이 커지므로, 메모리 소자의 단위 시간 당 데이터 처리 용량이 커질수록 메모리 소자의 크기도 대형화될 수 있다.
도 5는 몇몇 실시예에 따른 메모리 장치의 블록도이다.
도 5를 참조하면, 메모리 장치는 메모리 컨트롤러(200) 및 복수의 메모리 소자(100-1~100-n)를 포함할 수 있다.
메모리 콘트롤러(200)는 호스트(HOST)로부터의 리드 요청 및 라이트 요청에 응답하여 복수의 메모리 소자(100-1~100-n)에 저장된 데이터를 리드하거나, 또는 복수의 메모리 소자(100-1~100-n)에 데이터를 라이트하도록 복수의 메모리 소자(100-1~100-n)를 제어할 수 있다.
구체적으로, 메모리 콘트롤러(200)는 복수의 메모리 소자(100-1~100-n)에 어드레스, 커맨드 및 제어 신호를 제공함으로써, 복수의 메모리 소자(100-1~100-n)에 대한 프로그램(program)(또는 라이트), 리드(read) 및 소거(erase) 동작을 제어할 수 있다.
메모리 콘트롤러(200)는 입출력 데이터 라인을 통해 복수의 메모리 소자(100-1~100-n)에 라이트될 프로그램 데이터를 제공할 수 있고, 복수의 메모리 소자(100-1~100-n)로부터 리드된 데이터는 입출력 데이터 라인을 통해 메모리 콘트롤러(200)에 제공될 수 있다. 메모리 콘트롤러(200)는 컨트롤 라인을 통해 어드레스, 커맨드 및 제어 신호를 복수의 메모리 소자(100-1~100-n)에 제공할 수 있다.
메모리 컨트롤러(200) 및 복수의 메모리 소자(100-1~100-n)는 하나의 반도체 장치로 집적될 수 있다. 예를 들어, 메모리 컨트롤러(200) 및 복수의 메모리 소자(100-1~100-n)는 하나의 메모리 카드에 집적될 수 있다. 또한, 예를 들어, 메모리 컨트롤러(200) 및 복수의 메모리 소자(100-1~100-n)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS) 등을 구성할 수 있다. 또한, 예를 들어, 메모리 컨트롤러(200) 및 복수의 메모리 소자(100-1~100-n)는하나의 반도체 장치로 집적되어 SSD(Solid State Disk/Drive)를 구성할 수 있다.
도 6은 도 5의 메모리 컨트롤러의 예시적인 상세 블록도이다.
도 6을 참조하면, 메모리 컨트롤러(200)는 프로세서(210), EEC부(220), 호스트 인터페이스(230) 및 메모리 인터페이스(240)를 포함할 수 있다.
프로세서(210)는 메모리 콘트롤러(200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(210)는 복수의 메모리 소자(도 5의 100-1~100-n)에 대한 동작에 관련된 각종 기능 블록들을 제어할 수 있다.
한편, ECC부(220)는 프로그램 데이터에 대한 ECC(Error Correction Code) 인코딩 및 리드 데이터에 대한 ECC 디코딩 처리를 수행할 수 있다. 예를 들어, ECC부(220)는 복수의 메모리 소자(도 5의 100-1~100-n)로부터 리드된 데이터에 대해 에러 검출 결과를 발생하고, 리드된 데이터에 대한 에러 정정(error correction) 동작을 수행할 수 있다.
ECC부(220)는 예를 들어, RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 ECC 인코딩 처리 및 ECC 디코딩 처리를 수행할 수 있다. ECC 인코딩 처리는 프로그램될 데이터에 근거하여 패리티 비트를 생성하는 동작을 포함하며, ECC 디코딩 처리는 리드 데이터로부터 에러 비트를 검출하고, 검출된 에러 비트를 정정하는 동작을 포함할 수 있다. 예를 들어, ECC부(220)는 데이터를 프로그램할 때 생성되어 저장된 패리티(parity)와 데이터를 리드할 때 생성된 패리티 비트를 서로 비교하여 에러 비트를 검출하고, 검출된 에러 비트에 대한 소정의 논리 연산(예컨대, 배타적 논리합(XOR))을 수행함으로써 에러 비트를 정정할 수 있다.
ECC부(220)는 미리 정한 에러 정정률을 갖도록 설정될 수 있으며, 에러 정정률이 높아질수록 동일 사이즈의 데이터 당 생성되는 패리티 비트 수는 증가할 수 있다. 예컨대, 에러 정정률이 높아질수록 데이터 사이즈(또는 ECC 단위) 당 더 많은 비트 수의 에러를 정정할 수 있다.
호스트 인터페이스(230)는 호스트(도 5의 HOST)와 인터페이싱하여 호스트로부터 메모리 장치에 대한 동작 요청을 수신할 수 있다. 예를 들어, 호스트 인터페이스(230)는 호스트(도 5의 HOST)부터 데이터의 리드 및 라이트 등의 각종 요청을 수신하고, 이에 응답하여 복수의 메모리 소자(도 5의 100-1~100-n)를 제어하기 위한 각종 내부 신호들을 생성할 수 있다.
메모리 인터페이스(260)는 메모리 콘트롤러(200) 내부에서 생성된 각종 신호들(예를 들어, 커맨드, 어드레스, 모드 신호 및 기준 정보 등)을 복수의 메모리 소자(도 5의 100-1~100-n)와 송수신하기 위한 인터페이싱을 수행할 수 있다.
도 7은 도 5의 메모리 소자의 예시적인 상세 블록도이다. 도 8 내지 도 10은 도 7의 메모리 셀 어레이를 설명하기 위한 도면들이다. 도 11은 도 7의 버퍼를 설명하기 위한 도면이다.
도 7을 참조하면, 메모리 소자(100-1)는 메모리 셀 어레이(111), 리드 라이트 회로(120) 및 제어 회로(130)를 포함할 수 있다.
메모리 셀 어레이(111)는 저항 변화에 따라 서로 다른 데이터를 저장하는 복수의 저항성 메모리 셀을 포함할 수 있다.
구체적으로, 메모리 셀 어레이(111)는 도 8에 도시된 것과 같이, 예를 들어, 3차원 적층 구조를 가질 수 있다. 여기서, 3차원 적층 구조는 복수의 메모리 셀 레이어(111_1~111_8)가 수직으로 적층된 형태를 의미할 수 있다. 도 8에서는 8개의 메모리 셀 레이어(111_1~111_8)가 적층된 것을 예로 들고 있으나, 본 발명의 기술적 사상이 이에 제한되는 것은 아니다.
여기서, 각 메모리 셀 레이어(111_1~111_8)는 복수의 저항성 메모리 셀 그룹 및/또는 복수의 리던던시 메모리 셀 그룹을 포함할 수 있다. 메모리 셀 어레이(111)가 3차원 적층 구조일 경우, 각 메모리 셀 레이어(111_1~111_8)는 후술할 크로스 포인트 구조(cross point structure)를 가질 수 있으나, 본 발명의 기술적 사상이 이에 제한되는 것은 아니다.
도 9를 참조하면, 메모리 셀 레이어(111_1)는 크로스 포인트 구조를 가질 수 있다. 크로스 포인트 구조는 하나의 라인과 다른 라인이 서로 교차되는 영역에, 하나의 저항성 메모리 셀(RMC)이 형성되어 있는 구조를 의미한다. 예를 들어, 비트 라인(BL1_1~BL4_1)이 제1 방향으로 연장되어 형성되고, 워드 라인(WL1_1~WL3_1)이 비트 라인(BL1_1~BL4_1)과 서로 교차되도록 제2 방향으로 연장되어 형성되고, 각 비트 라인(BL1_1~BL4_1)과 각 워드 라인(WL1_1~WL3_1)이 교차되는 영역에 저항성 메모리 셀(RMC)이 형성될 수 있다.
몇몇 실시예에서, 저항성 메모리 셀(RMC)은 하나의 비트를 저장하는 싱글 레벨 셀(SLC; Single Level Cell)일 수 있다. 다른 몇몇 실시예에서, 저항성 메모리 셀(RMC)은 적어도 2 비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC; Multi Level Cell)일 수 있다. 또 다른 몇몇 실시예에서, 일부 저항성 메모리 셀(RMC)은 싱글 레벨 셀이고, 다른 저항성 메모리 셀(RMC)은 멀티 레벨 셀일 수도 있다.
저항성 메모리 셀(RMC)에 하나의 비트의 데이터가 라이트되는 경우, 저항성 메모리 셀(RMC)은 라이트된 데이터에 따라 예를 들어, 두 개의 저항 레벨 산포를 가질 수 있다. 저항성 메모리 셀(RMC)에 두 개 비트의 데이터가 라이트되는 경우, 저항성 메모리 셀(RMC)은 라이트된 데이터에 따라 예를 들어, 네 개의 저항 레벨 산포를 가질 수 있다. 저항성 메모리 셀(RMC)에 세 개 비트의 데이터가 라이트되는 경우, 저항성 메모리 셀(RMC)은 라이트된 데이터에 따라 예를 들어, 여덟 개의 저항 레벨 산포를 가질 수 있다.
저항성 메모리 셀(RMC)이 PRAM인 경우에는, 저항성 메모리 셀(RMC)은 상변화 물질을 포함하는 가변 저항 소자(GST)와, 가변 저항 소자(GST)에 흐르는 전류를 제어하는 억세스 소자(D)를 포함할 수 있다.
도 8에서, 억세스 소자(D)는 가변 저항 소자(GST)와 직렬로 연결된 다이오드 또는 트랜지스터(도시되지 않음)일 수 있다.
상변화 물질로는 예를 들어, 2개의 원소를 화합한 GaSb, InSb, InSe. Sb2Te3, GeTe, 3개의 원소를 화합한 GeSbTe, GaSeTe, InSbTe, SnSb2Te4, InSbGe, 4개의 원소를 화합한 AgInSbTe, (GeSn)SbTe, GeSb(SeTe), Te81Ge15Sb2S2 등 다양한 종류의 물질을 사용할 수 있다. 몇몇 실시예에서, 게르마늄(Ge), 안티모니(Sb), 텔루리움(Te)으로 이루어진 GeSbTe이 상변화 물질로 이용될 수 있다.
한편, 저항성 메모리 셀(RMC)이 RRAM인 경우, 가변 저항 소자(GST)는 전이금속 산화물(complex metal oxide)을 포함할 수 있다. 저항성 메모리 셀(RMC)이 RRAM인 경우, 저항성 메모리 셀(RMC)은, 예를 들어, NiO 또는 페로브스카이트(perovskite)를 포함할 수 있다. 페로브스카이트는 망가나이트(Pr0.7Ca0.3MnO3, Pr0.5Ca0.5MnO3, 기타 PCMO, LCMO 등), 타이터네이트(STO:Cr), 지르코네이트(SZO:Cr, Ca2Nb2O7:Cr, Ta2O5:Cr) 등의 조합물(composition)일 수 있다. 가변 저항 소자(GST) 내에는 필라멘트가 형성될 수 있고, 필라멘트는 저항성 메모리 셀(RMC)을 관통하여 흐르는 셀 전류의 전류 경로(current path)가 될 수 있다. 몇몇 실시예에서, 저항성 메모리 셀(RMC)이 RRAM인 경우, 가변 저항 소자(GST)에 흐르는 전류를 제어하는 억세스 소자(D)가 생략될 수도 있다.
한편, 저항성 메모리 셀(RMC)이 MRAM인 경우, 가변 저항 소자(GST)는 자성체의 상부 전극, 자성체의 하부 전극 및 그 사이 배치된 유전체를 포함할 수 있다.
이하에서는, 저항성 메모리 셀(RMC)이 PRAM인 경우에 대해 설명할 것이나, 본 발명의 기술적 사상이 이에 제한되는 것은 아니다.
한편, 도 10을 참조하면, 가변 저항 소자(GST)에 흐르는 전류를 제어하는 억세스 소자(OTS)로는 가변 저항 소자(GST)와 직렬로 연결된 OTS(Ovonic Threshold Switch)가 사용될 수도 있다.
다시, 도 7을 참조하면, 리드 라이트 회로(120)는 메모리 셀 어레이(111)에 포함된 복수의 저항성 메모리 셀(도 9의 RMC)에 대한 라이트 및 리드 동작을 수행할 수 있다. 리드 라이트 회로(120)는 복수의 비트 라인을 통해 메모리 셀 어레이(111)에 연결될 수 있으며, 복수의 저항성 메모리 셀(도 9의 RMC)에 프로그램 데이터를 라이트하기 위한 라이트 회로(126)와, 복수의 저항성 메모리 셀(도 9의 RMC)의 저항을 센싱하는 리드 회로(124)를 포함할 수 있다.
리드 라이트 회로(120)는 메모리 셀 어레이(111)와 동일하게 리드 동작과 라이트 동작이 수행되는 버퍼(122)를 포함할 수 있다. 메모리 셀 어레이(111)에 프로그램 데이터가 라이트될 때, 동일한 프로그램 데이터가 버퍼(122)에 라이트되고, 특정 어드레스를 이용하여 메모리 셀 어레이(111)에 저장된 데이터를 리드할 때, 동일한 어드레스를 이용하여 버퍼(122)로부터 데이터가 리드될 수 있다.
이러한 버퍼(122)는 주소 영역(122a)과 데이터 영역(122b)을 포함할 수 있다. 몇몇 실시예에서, 주소 영역(122a)은 예를 들어, CAM(Ccontent Addressable Memory)을 포함할 수 있고, 데이터 영역(122b)은 예를 들어, SRAM(Static Random Access Memory)를 포함할 수 있다.
도 11을 참조하면, 본 실시예에서, 버퍼(122)는 앞서 도 3 및 도 4를 이용하여 설명한 버퍼의 크기보다 작은 크기일 수 있다. 구체적으로, 도 3 및 도 4에서 설명한 메모리 소자가 단위 시간 당 K 데이터를 처리하기 위해, 저항성 메모리 셀(RMC)의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보할 수 있는 크기의 버퍼를 갖는다고 할 때, 본 실시예에서는, 메모리 소자(100-1)가 단위 시간 당 동일하게 K 데이터를 처리하면서, 저항성 메모리 셀(RMC)의 안정화 시간(tWTR)을 제2 시간(t2)보다 작은 제3 시간(t3)만 확보할 수 있는 크기의 버퍼(122)를 가질 수 있다.
이에 따라, 본 실시예에 따른 메모리 장치 경우, 메모리 소자(100-1)의 크기를 최소화하면서 데이터의 고속 처리가 가능할 수 있다. 이에 대한 구체적인 설명은 후술한다.
다시, 도 7을 참조하면, 제어 회로(130)는 메모리 소자(100-1)의 전반적인 동작을 제어할 수 있다. 또한, 제어 회로(130)는 메모리 소자(100-1)의 리드 및 라이트 동작을 수행하기 위해 리드 라이트 회로(120)를 제어할 수 있다. 예를 들어, 제어 회로(130)는 메모리 소자(100-1)의 리드 및 라이트 동작을 수행하기 위해, 리드 신호와 라이트 신호 등의 각종 신호를 리드 라이트 회로(120)에 제공할 수 있으며, 리드 라이트 회로(120)는 제공 받은 각종 신호에 따라 리드 전류(또는 리드 전압)나 라이트 전류(또는 라이트 전압)를 메모리 셀 어레이(111)에 제공할 수 있다.
구체적으로, 제어 회로(130)는 예를 들어, 메모리 컨트롤러(도 5의 200)로부터 리드 커맨드와 어드레스를 제공받고, 리드 회로(124)를 통해 버퍼(122)와 메모리 셀 어레이(111)로부터 데이터를 리드할 수 있다. 또한, 제어 회로(130)는 예를 들어, 메모리 컨트롤러(도 5의 200)로부터 라이트 커맨드, 프로그램 데이터 및 어드레스를 제공받고, 라이트 회로(126)를 통해 버퍼(122)와 메모리 셀 어레이(111)에 프로그램 데이터를 라이트할 수 있다.
메모리 셀 어레이(111)의 복수의 저항성 메모리 셀(RMC) 각각은 저장된 데이터에 따른 저항 값을 가질 수 있으며, 각각의 저항성 메모리 셀(RMC)로 라이트될 프로그램 데이터에 따라 그 저항 값이 변할 수 있다.
이와 같은 라이트 동작은 리셋(Reset) 라이트 동작과 셋(Set) 라이트 동작으로 구분될 수 있다. 저항성 메모리 셀(RMC)에서 셋(Set)상태는 상대적으로
낮은 저항 값을 가지며, 반면에 리셋(Reset) 상태는 상대적으로 높은 저항 값을 가질 수 있다. 리셋(Reset) 라이트 동작은 저항성 메모리 셀(RMC)의 저항 값이 증가하는 방향으로 라이트 동작을 수행하며, 셋(Set) 라이트 동작은 저항성 메모리 셀(RMC)의 저항 값이 감소하는 방향으로 라이트 동작을 수행할 수 있다.
메모리 셀 어레이(111)는 예를 들어, 페이지(page) 단위로 구분될 수 있으며, 하나의 페이지 단위는 복수의 저항성 메모리 셀(RMC)을 포함할 수 있다. 하나의 페이지 단위는 동일한 신호 라인(예를 들어, 워드 라인)에 연결됨에 따라, 하나의 로우 어드레스(raw)에 의해 억세스 가능한 저항성 메모리 셀(RMC)들의 집합으로 정의될 수 있다.
또한, 각각의 페이지 단위는 복수의 셀 영역을 포함할 수 있다. 예를 들어, 하나의 페이지 단위의 크기가 8KB이고, 하나의 셀 영역이 2KB로 정의될 때, 하나의 페이지 단위는 4개의 셀 영역을 포함할 수 있다. 몇몇 실시예에서, 이러한 셀 영역들 각각은 에러 검출 및 정정이 수행되는 단위로서 ECC 단위로 정의될 수 있다.
비록 도 7에서는 제어 회로(130)가 디코더(132), 전압 생성기(134), 기준 신호 발생기(136), 포인터 제어 회로(137) 및 비교 회로(138)를 포함하는 것으로 도시하였으나, 본 발명의 기술적 사상이 이에 제한되는 것은 아니다.
디코더(132)는 예를 들어, 로우 디코더(raw decoder)와 칼럼 디코더(column decoder)를 포함할 수 있다. 로우 디코더는 로우 어드레스에 응답하여 메모리 셀 어레이(111)의 워드 라인 선택 동작을 수행하며, 칼럼 디코더는 칼럼 어드레스에 응답하여 메모리 셀 어레이(111)의 비트 라인 선택 동작을 수행할 수 있다.
전압 생성기(134)는 라이트 동작 시, 셋 전압(Vset) 또는 리셋 전압(Vreset) 등을 생성하여 메모리 셀 어레이(111)의 선택된 저항성 메모리 셀(RMC)로 제공할 수 있다. 그리고, 전압 생성기(134)는 리드 동작 시, 리드 전압(Vread)을 메모리 셀 어레이(111)의 선택된 저항성 메모리 셀(RMC)로 제공할 수 있다.
기준 신호 발생기(136)는 기준 전압 또는 기준 전류를 생성하고, 이를 리드 라이트 회로(120)에 제공할 수 있다. 리드 라이트 회로(120)는 기준 신호 발생기(136)로부터 제공받은 기준 전압 또는 기준 전류를 이용하여 메모리 셀 어레이(111)로부터 제공받은 데이터를 판정할 수 있다.
도 7에서는, 설명의 편의를 위해 기준 신호 발생기(136)와 리드 라이트 회로(120)를 별도로 도시하였으나, 몇몇 실시예에서, 기준 신호 발생기(136)는 리드 라이트 회로(120)에 포함될 수도 있다. 또한, 기준 신호 발생기(136)와 전압 생성기(134)가 하나로 통합되어 구현될 수도 있다.
포인터 제어 회로(137)는 버퍼(122)의 라이트 포인터(도 11의 wPtr)를 제어할 수 있다. 포인터 제어 회로(137)는 프로그램 데이터가 제공될 때 마다, 라이트 포인터(도 11의 wPtr)를 버퍼(122)의 제1 영역(도 11의 1)부터 제n 영역(도 11의 N)까지 순차적으로 지시하도록 제어하여, 제공되는 프로그램 데이터가 버퍼(122)의 제1 영역(도 11의 1)부터 제n 영역(도 11의 N)에 순차적으로 라이트되도록 할 수 있다. 포인터 제어 회로(137)는, 라이트 포인터(도 11의 wPtr)가 버퍼(122)의 제n 영역(도 11의 N)을 지시하는 상황에서, 새로운 프로그램 데이터가 제공될 경우, 라이트 포인터(도 11의 wPtr)가 버퍼(122)의 제1 영역(도 11의 1)을 지시하도록 함으로써, 새로운 프로그램 데이터가 버퍼(122)의 제1 영역(도 11의 1)에 라이트되도록 할 수 있다.
비교 회로(138)는 버퍼(122)로부터 출력된 데이터와 메모리 셀 어레이(111)로부터 출력된 데이터를 비교할 수 있다. 구체적으로, 비교 회로(138)는 동일한 어드레스를 이용하여 버퍼(122)와 메모리 셀 어레이(111)로부터 각각 데이터를 리드하고, 리드된 데이터를 비교할 수 있다.
비록, 도 7에서는 설명의 편의를 위해 비교 회로(138)를 리드 라이트 회로(120)와 별도로 도시하였으나, 본 발명의 기술적 사상이 이에 제한되는 것은 아니다. 몇몇 실시에에서, 비교 회로(138)는 리드 라이트 회로(120)에 포함될 수 있다. 또한, 몇몇 실시에에서, 비교 회로(138)는 리드 회로(124)에 포함될 수도 있다. 또한, 몇몇 실시에에서, 비교 회로(138)는 메모리 컨트롤러(도 5의 200)에 포함될 수도 있다.
또한, 도 7에서는 설명의 편의를 위해 포인터 제어 회로(137)를 리드 라이트 회로(120)와 별도로 도시하였으나, 역시 본 발명의 기술적 사상이 이에 제한되는 것은 아니다. 몇몇 실시에에서, 포인터 제어 회로(137)는 리드 라이트 회로(120)에 포함될 수 있다. 또한, 몇몇 실시에에서, 포인터 제어 회로(137)는 라이트 회로(126)에 포함될 수도 있다. 또한, 몇몇 실시에에서, 포인터 제어 회로(137)는 버퍼(122)에 포함될 수도 있다.
이하, 도 7 및 도 12를 참조하여, 메모리 장치의 리드 동작에 대해 설명한다.
도 12는 몇몇 실시예에 따른 메모리 장치의 리드 동작을 설명하기 위한 순서도이다.
도 12를 참조하면, 리드 코맨드를 제공받는다(S10). 예를 들어, 메모리 소자(100-1)는 메모리 컨트롤러(도 5의 200)로부터 리드 코맨드와 리드 어드레스를 제공 받을 수 있다. 메모리 소자(100-1)에 리드 코맨드와 리드 어드레스가 제공된 경우, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 리드 동작에 필요한 준비를 할 수 있다.
다음, 리드 어드레스가 버퍼에 있는지 확인한다(S20). 예를 들어, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 버퍼(122)의 어드레스 영역(122a)에 리드 어드레스가 존재하는지 확인할 수 있다. 몇몇 실시예에서, 동시에, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 메모리 셀 어레이(111)에 리드 어드레스로 억세스되는 저항성 메모리 셀(RMC)을 억세스할 수도 있다.
다음, 리드 어드레스가 버퍼에 있다면, 버퍼에 대한 리드 동작을 수행한다(S30). 예를 들어, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 버퍼(122)의 어드레스 영역(122a)에 리드 어드레스가 존재하면, 대응되는 데이터 영역(122b)에 저장된 데이터를 리드할 수 있다.
만약, 리드 어드레스가 버퍼에 없다면, 저항성 메모리 셀에 대한 리드 동작을 수행한다(S40). 예를 들어, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 버퍼(122)의 어드레스 영역(122a)에 리드 어드레스가 존재하지 않으면, 메모리 셀 어레이(111)에 리드 어드레스로 억세스되는 저항성 메모리 셀(RMC)에 저장된 데이터를 리드할 수 있다.
이하, 도 7 및 도 13 내지 도 17을 참조하여, 메모리 장치의 라이트 동작에 대해 설명한다.
도 13은 몇몇 실시예에 따른 메모리 장치의 라이트 동작을 설명하기 위한 순서도이다. 도 14 내지 도 17은 도 13의 메모리 장치의 라이트 동작을 설명하기 위한 도면들이다.
도 13을 참조하면, 프로그램 데이터를 제공받는다(S100). 예를 들어, 메모리 소자(100-1)는 메모리 컨트롤러(도 5의 200)로부터 라이트 코맨드와 라이트 어드레스(write address) 및 프로그램 데이터를 제공 받을 수 있다. 메모리 소자(100-1)에 라이트 코맨드와 라이트 어드레스 및 프로그램 데이터가 제공된 경우, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 라이트 동작에 필요한 준비를 할 수 있다.
다음 버퍼가 비어 있는지 확인한다(S110) 그리고 만약 버퍼가 비어 있으면 프로그램 데이터를 버퍼와 저항성 메모리 셀에 라이트한다(S160). 구체적으로, 라이트 포인터가 지시하는 버퍼의 저장 영역에 기 저장된 데이터가 있는지 확인하고, 라이트 포인터가 지시하는 버퍼의 저장 영역에 기 저장된 데이터가 없으면, 프로그램 데이터를 버퍼와 저항성 메모리 셀에 라이트할 수 있다.
예를 들어, 도 14와 같이, 버퍼(122)의 라이트 포인터(wPtr)가 제3 영역(3)을 지시하는 상태에서, 메모리 컨트롤러(도 5의 200)로부터 라이트 코맨드와 라이트 어드레스 및 프로그램 데이터를 제공 받는 경우, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 버퍼(122)의 제3 영역(3) 중 어드레스 영역(122a)에 라이트 어드레스를 라이트하고, 데이터 영역(122b)에 프로그램 데이터를 라이트할 수 있다. 또한, 제어 회로(130)는 리드 라이트 회로(120)를 메모리 셀 어레이(111)에서 라이트 어드레스로 억세스되는 위치의 저항성 메모리 셀(RMC)에 프로그램 데이터를 라이트할 수 있다.
반대로 버퍼가 비어 있지 않으면(S110), 버퍼에 저장된 데이터를 리드한다(S120). 구체적으로, 라이트 포인터가 지시하는 버퍼의 저장 영역에 기 저장된 데이터가 있으면, 버퍼의 저장 영역에 기 저장된 데이터를 리드할 수 있다.
예를 들어, 도 15와 같이, 버퍼(122)의 라이트 포인터(wPtr)가 제1 영역(1)을 지시하는 상태에서, 메모리 컨트롤러(도 5의 200)로부터 라이트 코맨드와 라이트 어드레스 및 프로그램 데이터를 제공 받는 경우, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 버퍼(122)의 제1 영역(1)에 기 저장된 데이터를 리드한다. 본 예시에서는, 버퍼(122)의 제1 영역(1)에 1001이 저장되어 있으므로, 1001이 출력된다.
여기서, 1001은 설명의 편의를 위한 하나의 예시에 불과한 것이며, 버퍼(122)에 저장되는 데이터 단위를 이와 다르게 얼마든지 변형될 수 있다. 몇몇 실시예에서, 버퍼(122)의 제1 영역(1)에는 앞서 설명한 페이지 단위의 데이터가 저장될 수 있다.
다음, 저항성 메모리 셀에 저장된 데이터를 리드한다(S130). 구체적으로, 버퍼의 라이트 포인터가 지시하는 영역에 저장된 어드레스로 억세스되는 메모리 셀 어레이의 저항성 메모리 셀로부터 데이터를 리드할 수 있다.
예를 들어, 도 15와 같이, 버퍼(122)의 라이트 포인터(wPtr)가 제1 영역(1)을 지시하는 상태에서, 메모리 컨트롤러(도 5의 200)로부터 라이트 코맨드와 라이트 어드레스 및 프로그램 데이터를 제공 받는 경우, 제어 회로(130)는 리드 라이트 회로(120)를 이용하여 어드레스(AD1)로 억세스되는 메모리 셀 어레이(111)의 저항성 메모리 셀(RMC)로부터 데이터를 리드할 수 있다. 본 예시에서는, 어드레스(AD1)로 억세스되는 메모리 셀 어레이(111)의 저항성 메모리 셀(RMC)에 1011이 저장되어 있으므로, 1011이 출력된다.
다음, 버퍼로부터 리드한 데이터와 저항성 메모리 셀로부터 리드한 데이터가 동일한 데이터 인지 비교한다(S140). 그리고, 만약 동일한 데이터가 아니라면 버퍼의 라이트 포인터를 제어한다(S150).
도 15를 참조하면, 예를 들어, 비교 회로(138)는 버퍼(122)로부터 리드한 제1 데이터(1001)와 메모리 셀 어레이(111)의 저항성 메모리 셀(RMC)로부터 리드한 제2 데이터(1011)가 동일한지 비교할 수 있다. 본 예시에서는, 제1 데이터(1001)와 제2 데이터(1011)가 동일하지 않으므로, 제어 회로(130) 또는 포인터 제어 회로(137)는 도 16과 같이 라이트 포인터(wPtr)가 버퍼(122)의 제2 영역(2)을 지시하도록 라이트 포인터(wPtr)를 제어할 수 있다. 그리고, 이어서, 버퍼에 저장된 데이터를 리드하고(S120), 저항성 메모리 셀에 저장된 데이터를 리드하여(S130), 동일한 데이터 인지 비교할 수 있다(S140)
도 16을 참조하면, 예를 들어, 비교 회로(138)는 버퍼(122)로부터 리드한 제1 데이터(0011)와 메모리 셀 어레이(111)에서 어드레스(AD2)로 접근되는 저항성 메모리 셀(RMC)로부터 리드한 제2 데이터(0011)가 동일한지 비교할 수 있다.
버퍼로부터 리드한 데이터와 저항성 메모리 셀로부터 리드한 데이터가 동일한 데이터 인지 비교한 결과(S140), 동일한 데이터라면, 프로그램 데이터를 버퍼와 저항성 메모리 셀에 라이트한다(S160).
도 16을 참조하면, 예를 들어, 비교 회로(138)는 버퍼(122)로부터 리드한 제1 데이터(0011)와 메모리 셀 어레이(111)의 저항성 메모리 셀(RMC)로부터 리드한 제2 데이터(0011)가 동일한지 비교할 수 있다. 본 예시에서는, 제1 데이터(0011)와 제2 데이터(0011)가 동일하므로, 제어 회로(130)는 도 17에 도시된 것과 같이 리드 라이트 회로(120) 또는 라이트 회로(126)를 이용하여 버퍼(122)의 제2 영역(2)에 라이트 어드레스(AD0)와 프로그램 데이터(0100)을 라이트 할 수 있다. 또한, 제어 회로(130)는 도 17에 도시된 것과 같이 리드 라이트 회로(120) 또는 라이트 회로(126)를 이용하여 메모리 셀 어레이(111)의 라이트 어드레스(AD0)로 접근되는 위치의 저항성 메모리 셀(RMC)에 프로그램 데이터(0100)을 라이트 할 수 있다.
도 18 내지 도 20은 몇몇 실시예에 따른 메모리 장치의 효과를 설명하기 위한 도면이다.
먼저, 도 18을 참조하면, 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보할 수 있는 크기의 버퍼를 이용하여 도 3에서 설명한 것과 같은 라이트 동작을 수행할 경우, 라이트 동작에 소요되는 시간은 제1 소요 시간(t11)일 수 있다.
한편, 저항성 메모리 셀의 안정화 시간(tWTR)을 제3 시간(t3, 여기서 t3<t2)만큼 확보할 수 있는 상대적으로 작은 크기의 버퍼를 이용하여 도 13에서 설명한 것과 같은 라이트 동작을 수행할 경우, 라이트 동작에 소요되는 시간은 케이스에 따라 제2 소요 시간(t12) 또는 제3 소요 시간(t13)일 수 있다.
여기서, 라이트 동작에 제2 소요 시간(t12)이 필요한 케이스(case1)는, 도 16에 설명된 예시와 같이, 라이트 포인터(wPtr)가 지시하는 버퍼(122)의 영역에 저장된 데이터와 이에 대응되는 저항성 메모리 셀에 저장된 데이터가 동일한 경우이다. 즉, 라이트 포인터(wPtr)가 지시하는 버퍼(122)의 영역에 저장된 데이터가, 설혹 리셋 데이터일지라도, 이미 충분한 안정화 시간(tWTR)을 확보하여 저항 드리프트 현상에 대해 더 이상 영향받지 않는 상태이다.
그리고, 라이트 동작에 제3 소요 시간(t13)이 필요한 케이스(case2)는, 도 15에 설명된 예시와 같이, 라이트 포인터(wPtr)가 지시하는 버퍼(122)의 영역에 저장된 데이터와 이에 대응되는 저항성 메모리 셀에 저장된 데이터가 동일하지 않은 경우이다. 이 경우에는, 앞서 설명한 것과 같이, 최소 한 번의 라이트 포인터(wPtr)를 이동, 데이터 리드 및 리드한 데이터 비교 동작이 더 필요하다.
그런데, 이렇게 라이트 동작에 제3 소요 시간(t13)이 필요한 케이스(case2)는, 도 19의 빗금친 영역으로 지시되는, 극히 일부 저항성 메모리 셀에서 발생되는 케이스이다. 즉, 라이트 동작에 제3 소요 시간(t13)이 필요한 케이스(case2)는, 버퍼의 크기가, 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보할 수 있는 크기에서, 저항성 메모리 셀의 안정화 시간(tWTR)을 제3 시간(t3)만큼 확보할 수 있는 크기로 작아짐에 따라 발생되는 메모리 셀 산포의 꼬리(tail) 부분에 해당하는 케이스이다. 따라서, 이렇게 라이트 동작에 제3 소요 시간(t13)이 필요한 케이스(case2)가 라이트 동작에서 많이 발생하지는 않는다.
한편, 라이트 동작에 제2 소요 시간(t12)이 필요한 케이스(case1)는, 라이트 동작에 제1 소요 시간(t11)이 필요한 경우에 비해, 리드 동작과 데이터 비교 동작에 시간이 더 소요된다. 그런데, 도 20을 참조하면, 버퍼 사이즈를 저항성 메모리 셀의 안정화 시간(tWTR)을 제2 시간(t2)만큼 확보할 수 있는 크기(M2)에서, 똑같은 라이트 대역폭(write bandwidth)를 유지하면서 저항성 메모리 셀의 안정화 시간(tWTR)을 제3 시간(t3)만큼 확보할 수 있는 크기(M3)로 줄일 경우, 그 점유 면적 감소 효과는 매우 큼을 알 수 있다.
따라서, 고속 동작이 가능(라이트 대역폭은 유지)함과 동시에, 리드 및 라이트 동작에 신뢰성이 확보되며, 크기가 작은 메모리 장치의 구현이 가능하다.
도 21은 몇몇 실시예에 따른 메모리 장치의 라이트 동작을 설명하기 위한 순서도이다.
도 21을 참조하면, 프로그램 데이터를 제공받고(S200), 버퍼가 비어 있는지 확인한 후(S210), 버퍼와 저항성 메모리 셀에 저장된 데이터를 리드한다(S220, S230). 이는 앞서 도 13을 참조하여 설명한 메모리 장치의 라이트 동작과 실질적으로 유사하므로 중복된 설명은 생략한다.
다음, 버퍼로부터 리드한 데이터와 저항성 메모리 셀로부터 리드한 데이터가 동일한 데이터 인지 비교하여(S240), 만약 동일한 데이터가 아니라면, ECC 정정을 통해 동일한 데이터가 될 수 있는지 판단한다(S250).
즉, 본 실시예의 경우, ECC 정정을 통해 동일한 데이터로 판별 가능한 경우, 버퍼로부터 리드한 데이터와 저항성 메모리 셀로부터 리드한 데이터를 동일한 데이터로 판단하여, 프로그램 데이터를 버퍼와 저항성 메모리 셀에 라이트한다(S270). 그리고, ECC 정정을 통해서도 동일한 데이터로 판단되지 않는 경우, 버퍼의 라이트 포인터를 제어한다(S260). 프로그램 데이터를 버퍼와 저항성 메모리 셀에 라이트하는 동작(S270)과, 버퍼의 라이트 포인터를 제어하는 동작 (S260)은 앞서 충분히 설명한 바, 중복된 설명은 생략한다.
도 22는 몇몇 실시예에 따른 메모리 장치의 블록도이다.
도 22를 참조하면, 메모리 장치는 메모리 컨트롤러(400) 및 복수의 메모리 소자(300-1~300-n)를 포함할 수 있다.
메모리 컨트롤러(400)는 앞서 설명한 비교 회로(도 7의 138)과 유사한 동작을 복수의 메모리 소자(300-1~300-n)에 대해 수행하는 비교 회로(410)를 포함할 수 있다. 각각의 메모리 소자(300-1~300-n)는, 버퍼(300-1a~300-na)와 메모리 셀 어레이(300-1b~300-nb)를 포함할 수 있다.
도 23은 도 22에 도시된 메모리 장치의 동작을 설명하기 위한 도면이다.
도 23을 참조하면, 비교 회로(410)는 복수의 메모리 소자(300-1~300-n)에 대해 앞서 설명한 비교 동작을 수행할 수 있다. 예를 들어, 비교 회로(410)는, 메모리 소자(300-1)의 라이트 포인터(wPtr)가 지시하는 버퍼(300-1a)의 영역과, 이에 대응하는(예를 들어, 어드레스가 동일한) 메모리 셀 어레이(300-1b)의 저항성 메모리 셀로부터 데이터를 각각 리드하고, 데이터가 동일한지 비교할 수 있다(S301). 만약, 데이터가 동일하다면, 프로그램 데이터가 메모리 소자(300-1)의 버퍼(300-1a)와 메모리 셀 어레이(300-1b)의 저항성 메모리 셀에 라이트될 수 있다(S301).
그런데, 데이터가 동일하지 않다면, 비교 회로(410)는, 메모리 소자(300-2)의 라이트 포인터(wPtr)가 지시하는 버퍼(300-2a)의 영역과, 이에 대응하는 메모리 셀 어레이(300-2b)의 저항성 메모리 셀로부터 데이터를 각각 리드하고, 데이터가 동일한지 비교할 수 있다(S302). 만약, 데이터가 동일하다면, 프로그램 데이터가 메모리 소자(300-2)의 버퍼(300-2a)와 메모리 셀 어레이(300-2b)의 저항성 메모리 셀에 라이트될 수 있다(S302).
비교 회로(410)는, 이러한 동작을, 메모리 소자(300-n)의 라이트 포인터(wPtr)가 지시하는 버퍼(300-na)의 영역과, 이에 대응하는 메모리 셀 어레이(300-nb)의 저항성 메모리 셀에 저장된 데이터를 비교(S30n)할 때까지, 모든 메모리 소자(300-1~300-n)에 대해 수행할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100-1~100-n, 300-1~300-n: 메모리 소자
200, 400: 메모리 컨트롤러
111: 메모리 셀 어레이
122: 버퍼

Claims (20)

  1. 저항 변화에 따라 서로 다른 데이터를 저장하는 제1 및 제2 저항성 메모리 셀(resistive memory cell)을 포함하는 메모리 셀 어레이;
    상기 제1 저항성 메모리 셀에 대응되는 제1 영역과, 상기 제2 저항성 메모리 셀에 대응되는 제2 영역을 포함하는 버퍼; 및
    상기 메모리 셀 어레이에 프로그램될 프로그램 데이터를 제공받고, 상기 버퍼의 제1 영역에 저장된 제1 데이터와 상기 제1 저항성 메모리 셀에 저장된 제2 데이터를 비교하여, 상기 제1 영역과 제2 영역 중에서 상기 프로그램 데이터가 라이트될 영역을 결정하는 제어 회로를 포함하는 저항 변화 물질을 포함하는 메모리 장치.
  2. 제 1항에 있어서,
    상기 제어 회로는,
    상기 제1 데이터와 상기 제2 데이터가 동일하면 상기 프로그램 데이터를 상기 버퍼의 제1 영역에 라이트하고,
    상기 제1 데이터와 상기 제2 데이터가 동일하지 않으면 상기 프로그램 데이터를 상기 버퍼의 제2 영역에 라이트하는 저항 변화 물질을 포함하는 메모리 장치.
  3. 제 2항에 있어서,
    상기 버퍼의 제2 영역에 저장된 제3 데이터와 상기 제2 저항성 메모리 셀에 저장된 제4 데이터는 동일한 저항 변화 물질을 포함하는 메모리 장치.
  4. 제 1항에 있어서,
    상기 메모리 셀 어레이에 저장된 데이터에 ECC(Error Correction Code) 정정을 수행하는 ECC부를 더 포함하고,
    상기 제어 회로는,
    상기 제1 데이터와 상기 제2 데이터가 상기 ECC 정정에 의해 동일한 것으로 판단되면, 상기 프로그램 데이터를 상기 버퍼의 제1 영역에 라이트하고,
    상기 제1 데이터와 상기 제2 데이터가 상기 ECC 정정에 의해 동일하지 않은 것으로 판단되면 상기 프로그램 데이터를 상기 버퍼의 제2 영역에 라이트하는 저항 변화 물질을 포함하는 메모리 장치.
  5. 제 1항에 있어서,
    상기 제어 회로는, 상기 프로그램 데이터가 라이트될 상기 버퍼의 영역을 지시하는 라이트 포인터를 제어하는 포인터 제어 회로를 포함하고,
    상기 포인터 제어 회로는, 상기 제1 데이터와 상기 제2 데이터의 비교 결과에 따라 상기 라이트 포인터가 지시하는 영역을 변경하는 저항 변화 물질을 포함하는 메모리 장치.
  6. 제 1항에 있어서,
    메모리 소자에 상기 프로그램 데이터와 라이트 코맨드를 제공하는 메모리 컨트롤러를 더 포함하고,
    상기 메모리 셀 어레이, 버퍼, 및 제어 회로는 상기 메모리 소자 내에 배치되는 저항 변화 물질을 포함하는 메모리 장치.
  7. 제 1항에 있어서,
    서로 다른 제1 및 제2 메모리 소자에 상기 프로그램 데이터와 라이트 코맨드를 제공하는 메모리 컨트롤러를 더 포함하고,
    상기 제1 저항성 메모리 셀과 상기 버퍼의 제1 영역은 상기 제1 메모리 소자 내에 배치되고,
    상기 제2 저항성 메모리 셀과 상기 버퍼의 제2 영역은 상기 제2 메모리 소자 내에 배치되는 저항 변화 물질을 포함하는 메모리 장치.
  8. 제 1항에 있어서,
    상기 제1 및 제2 저항성 메모리 셀 각각은, 상변화 물질을 포함하는 가변 저항 소자와 상기 가변 저항 소자에 흐르는 전류를 제어하는 억세스 소자를 포함하는 저항 변화 물질을 포함하는 메모리 장치.
  9. 제 8항에 있어서,
    상기 억세스 소자는 OTS(Ovonic Threshold Switch)를 포함하는 저항 변화 물질을 포함하는 메모리 장치.
  10. 프로그램 데이터를 제공하는 메모리 컨트롤러; 및
    상기 프로그램 데이터를, 복수의 저장 영역을 포함하는 버퍼와, 저항 변화에 따라 서로 다른 데이터를 저장하는 복수의 저항성 메모리 셀에 라이트하는 메모리 소자를 포함하되,
    상기 메모리 소자는,
    상기 버퍼의 복수의 저장 영역 중 어느 하나에 저장된 제1 데이터와, 상기 복수의 저항성 메모리 셀 중 어느 하나에 저장된 제2 데이터를 비교하여, 상기 프로그램 데이터가 라이트될 상기 버퍼의 저장 영역을 결정하는 저항 변화 물질을 포함하는 메모리 장치.
  11. 제 10항에 있어서,
    상기 제1 데이터가 저장된 저장 영역과 상기 제2 데이터가 저장된 저항성 메모리 셀은 동일한 어드레스로 지시되는 저항 변화 물질을 포함하는 메모리 장치.
  12. 제 10항에 있어서,
    상기 복수의 저항성 메모리 셀은 상기 제2 데이터가 저장된 제1 저항성 메모리 셀과, 제2 저항성 메모리 셀을 포함하고,
    상기 복수의 저장 영역은, 상기 제1 저항성 메모리 셀과 동일한 어드레스로 지시되고 상기 제1 데이터가 저장된 제1 저장 영역과, 상기 제2 저항성 메모리 셀과 동일한 어드레스로 지시되는 제2 저장 영역을 포함하고,
    상기 메모리 소자는,
    상기 제1 데이터와 상기 제2 데이터가 동일하면, 상기 프로그램 데이터를 상기 제1 저장 영역에 라이트하고,
    상기 제1 데이터와 상기 제2 데이터가 동일하지 않으면, 상기 프로그램 데이터를 상기 제2 저장 영역에 라이트하는 저항 변화 물질을 포함하는 메모리 장치.
  13. 프로그램 데이터를 제공하고,
    라이트 포인터가 지시하는 버퍼의 제1 영역에 저장된 제1 데이터를 리드하고,
    상기 버퍼의 제1 영역에 대응되고 저항 변화에 따라 서로 다른 데이터를 저장하는 제1 저항성 메모리 셀에 저장된 제2 데이터를 리드하고,
    상기 제1 데이터와 상기 제2 데이터를 비교하고,
    상기 비교 결과가 제1 결과이면, 상기 프로그램 데이터를 상기 버퍼의 제1 영역에 라이트하고, 상기 비교 결과가 상기 제1 결과와 다른 제2 결과이면, 상기 라이트 포인터가 상기 버퍼의 상기 제1 영역과 다른 제2 영역을 지시하도록 하는 것을 포함하는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
  14. 제 13항에 있어서,
    상기 라이트 포인터가 지시하는 버퍼의 상기 제2 영역에 저장된 제3 데이터와, 상기 버퍼의 제2 영역에 대응되고 저항 변화에 따라 서로 다른 데이터를 저장하는 제2 저항성 메모리 셀에 저장된 제4 데이터를 비교하고,
    상기 비교 결과가 상기 제1 결과이면, 상기 프로그램 데이터를 상기 버퍼의 제2 영역에 라이트하고, 상기 비교 결과가 상기 제2 결과이면, 상기 라이트 포인터가 상기 버퍼의 상기 제1 및 제2 영역과 다른 제3 영역을 지시하도록 하는 것을 포함하는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
  15. 제 13항에 있어서,
    상기 버퍼의 제1 영역과 상기 제1 저항성 메모리 셀은 동일한 어드레스로 지시되는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
  16. 제 13항에 있어서,
    상기 제1 결과는 상기 제1 데이터와 상기 제2 데이터가 동일한 것을 포함하고,
    상기 제2 결과는 상기 제1 데이터와 상기 제2 데이터가 동일하지 않은 것을 포함하는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
  17. 제 16항에 있어서,
    상기 제1 데이터와 상기 제2 데이터가 동일한 것은,
    ECC 정정 후, 상기 제1 데이터와 상기 제2 데이터가 동일한 것을 포함하는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
  18. 프로그램 데이터, 제1 영역과 제2 영역을 포함하는 버퍼, 및 상기 버퍼의 제1 및 제2 영역에 각각 대응되고 저항 변화에 따라 서로 다른 데이터를 저장하는 제1 및 제2 저항성 메모리 셀을 제공하고,
    상기 버퍼의 상기 제1 영역에 저장된 제1 데이터를 리드하고,
    상기 제1 저항성 메모리 셀에 저장된 제2 데이터를 리드하고,
    상기 제1 데이터와 상기 제2 데이터를 비교하고,
    상기 비교 결과가 제1 결과이면, 상기 프로그램 데이터를 상기 버퍼의 제1 영역에 라이트하고, 상기 비교 결과가 상기 제1 결과와 다른 제2 결과이면, 상기 프로그램 데이터를 상기 버퍼의 제2 영역에 라이트하는 것을 포함하는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
  19. 제 18항에 있어서,
    상기 버퍼의 제1 및 제2 영역은 하나의 메모리 소자 내에 배치되고,
    상기 제1 및 제2 저항성 메모리 셀은 상기 하나의 메모리 소자 내에 배치되는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
  20. 제 18항에 있어서,
    상기 버퍼의 제1 영역과 상기 제1 저항성 메모리 셀은 제1 메모리 소자 내에 배치되고,
    상기 버퍼의 제2 영역과 상기 제2 저항성 메모리 셀은 상기 제1 메모리 소자와 다른 제2 메모리 소자 내에 배치되는 저항 변화 물질을 포함하는 메모리 장치의 구동 방법.
KR1020170002447A 2017-01-06 2017-01-06 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 KR102646755B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170002447A KR102646755B1 (ko) 2017-01-06 2017-01-06 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법
US15/677,052 US10074426B2 (en) 2017-01-06 2017-08-15 Memory device having resistance change material and operating method for the memory device
CN201711247786.7A CN108281167B (zh) 2017-01-06 2017-11-30 具有电阻变化材料的存储器件和该存储器件的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170002447A KR102646755B1 (ko) 2017-01-06 2017-01-06 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법

Publications (2)

Publication Number Publication Date
KR20180081333A true KR20180081333A (ko) 2018-07-16
KR102646755B1 KR102646755B1 (ko) 2024-03-11

Family

ID=62783376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170002447A KR102646755B1 (ko) 2017-01-06 2017-01-06 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법

Country Status (3)

Country Link
US (1) US10074426B2 (ko)
KR (1) KR102646755B1 (ko)
CN (1) CN108281167B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200022021A (ko) 2017-06-30 2020-03-02 에어리티 테크놀로지스, 인크. 저항성 출력 임피던스를 위한 고 이득 공진 증폭기
KR102641097B1 (ko) * 2018-12-31 2024-02-27 삼성전자주식회사 저항성 메모리 장치 및 저항성 메모리 장치의 프로그램 방법
KR20200118311A (ko) * 2019-04-05 2020-10-15 삼성전자주식회사 데이터를 스왑하기 위한 메모리 장치 및 메모리 장치의 동작 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082744A1 (en) * 2006-09-29 2008-04-03 Yutaka Nakagawa Storage system having data comparison function
US20100131708A1 (en) * 2008-11-25 2010-05-27 Samsung Electronics Co., Ltd. Semiconductor device having resistance based memory array, method of reading and writing, and systems associated therewith
US20110055486A1 (en) * 2009-09-01 2011-03-03 Samsung Electronics Co., Ltd. Resistive memory devices and related methods of operation
US20130182496A1 (en) * 2012-01-16 2013-07-18 Kabushiki Kaisha Toshiba Semiconductor storage device
US20140157065A1 (en) * 2012-02-11 2014-06-05 Adrian E. Ong Method and system for providing a smart memory architecture
US20140219034A1 (en) * 2013-02-07 2014-08-07 Seagate Technology Llc Non-Volatile Write Buffer Data Retention Pending Scheduled Verification
KR20150002949A (ko) * 2013-06-27 2015-01-08 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
KR20150017449A (ko) * 2013-08-06 2015-02-17 삼성전자주식회사 가변 저항 메모리 장치 및 그것을 포함하는 가변 저항 메모리 시스템
KR20150116285A (ko) * 2014-04-07 2015-10-15 삼성전자주식회사 비휘발성 메모리 장치의 구동 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4325275B2 (ja) 2003-05-28 2009-09-02 株式会社日立製作所 半導体装置
JP5062251B2 (ja) 2007-03-28 2012-10-31 富士通株式会社 可変抵抗メモリ及びそのデータ書込み方法
KR101469831B1 (ko) * 2007-04-30 2014-12-09 삼성전자주식회사 향상된 읽기 성능을 갖는 멀티-레벨 상변환 메모리 장치 및그것의 읽기 방법
US7911824B2 (en) * 2007-08-01 2011-03-22 Panasonic Corporation Nonvolatile memory apparatus
KR101237005B1 (ko) 2007-11-09 2013-02-26 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템, 및 이의 구동 방법
KR20090098228A (ko) 2008-03-13 2009-09-17 삼성전자주식회사 상 변화 메모리 장치 및 이의 부트 블럭 설정 방법
KR101424176B1 (ko) 2008-03-21 2014-07-31 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템
KR20090109345A (ko) 2008-04-15 2009-10-20 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템
JP5188328B2 (ja) 2008-08-29 2013-04-24 株式会社日立製作所 半導体装置
KR101448915B1 (ko) * 2008-10-17 2014-10-14 삼성전자주식회사 프로그램 및 검증 동작을 수행하는 가변 저항 메모리 장치
US8174876B2 (en) 2009-06-19 2012-05-08 Hynix Semiconductor Inc. Fusion memory device embodied with phase change memory devices having different resistance distributions and data processing system using the same
JP2011060388A (ja) 2009-09-11 2011-03-24 Toshiba Corp 不揮発性メモリ装置
TWI545587B (zh) 2010-08-06 2016-08-11 半導體能源研究所股份有限公司 半導體裝置及驅動半導體裝置的方法
US8649212B2 (en) 2010-09-24 2014-02-11 Intel Corporation Method, apparatus and system to determine access information for a phase change memory
US8467237B2 (en) 2010-10-15 2013-06-18 Micron Technology, Inc. Read distribution management for phase change memory
US9021227B2 (en) 2011-06-22 2015-04-28 Intel Corporation Drift management in a phase change memory and switch (PCMS) memory device
US9245619B2 (en) 2014-03-04 2016-01-26 International Business Machines Corporation Memory device with memory buffer for premature read protection
KR20160065661A (ko) 2014-12-01 2016-06-09 주식회사 티엘아이 메모리 컨트롤러, 이를 포함하는 시스템, 및 이의 동작 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082744A1 (en) * 2006-09-29 2008-04-03 Yutaka Nakagawa Storage system having data comparison function
US20100131708A1 (en) * 2008-11-25 2010-05-27 Samsung Electronics Co., Ltd. Semiconductor device having resistance based memory array, method of reading and writing, and systems associated therewith
US20110055486A1 (en) * 2009-09-01 2011-03-03 Samsung Electronics Co., Ltd. Resistive memory devices and related methods of operation
US20130182496A1 (en) * 2012-01-16 2013-07-18 Kabushiki Kaisha Toshiba Semiconductor storage device
US20140157065A1 (en) * 2012-02-11 2014-06-05 Adrian E. Ong Method and system for providing a smart memory architecture
US20140219034A1 (en) * 2013-02-07 2014-08-07 Seagate Technology Llc Non-Volatile Write Buffer Data Retention Pending Scheduled Verification
KR20150002949A (ko) * 2013-06-27 2015-01-08 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
KR20150017449A (ko) * 2013-08-06 2015-02-17 삼성전자주식회사 가변 저항 메모리 장치 및 그것을 포함하는 가변 저항 메모리 시스템
KR20150116285A (ko) * 2014-04-07 2015-10-15 삼성전자주식회사 비휘발성 메모리 장치의 구동 방법

Also Published As

Publication number Publication date
US10074426B2 (en) 2018-09-11
CN108281167A (zh) 2018-07-13
CN108281167B (zh) 2022-11-04
US20180197602A1 (en) 2018-07-12
KR102646755B1 (ko) 2024-03-11

Similar Documents

Publication Publication Date Title
US10720209B2 (en) Memory device comprising resistance change material and method for driving the same
US10741245B2 (en) Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system
KR102154296B1 (ko) 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치
US9691477B2 (en) Resistive memory system and method of operating the resistive memory system
KR20160014473A (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US9443586B2 (en) Nonvolatile memory device, memory system including the same and method for driving nonvolatile memory device
US9881671B2 (en) Resistive memory device, resistive memory system, and method of operating the resistive memory system
KR20150144177A (ko) 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
KR101977684B1 (ko) 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치
CN108281167B (zh) 具有电阻变化材料的存储器件和该存储器件的操作方法
CN111354397A (zh) 重写存储器设备的方法、存储器控制器及其控制方法
KR102081590B1 (ko) 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
KR101791508B1 (ko) 비휘발성 메모리 장치
KR20140091961A (ko) 저항체를 이용한 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
CN112786091A (zh) 非易失性存储器装置及其写入方法
US10121525B2 (en) Nonvolatile memory device and operating method of the same
US20190332322A1 (en) Memory system including resistive variable memory device and operating method thereof
US10629262B2 (en) Method of operating resistive memory device capable of reducing write latency
WO2023162804A1 (ja) メモリ装置およびメモリ制御方法
CN112687313A (zh) 相变存储器系统、相变存储器设备及其刷新方法

Legal Events

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