KR20140008702A - 불휘발성 메모리 장치 및 그것의 쓰기 방법 - Google Patents

불휘발성 메모리 장치 및 그것의 쓰기 방법 Download PDF

Info

Publication number
KR20140008702A
KR20140008702A KR1020120075592A KR20120075592A KR20140008702A KR 20140008702 A KR20140008702 A KR 20140008702A KR 1020120075592 A KR1020120075592 A KR 1020120075592A KR 20120075592 A KR20120075592 A KR 20120075592A KR 20140008702 A KR20140008702 A KR 20140008702A
Authority
KR
South Korea
Prior art keywords
write
data
memory
memory cell
block
Prior art date
Application number
KR1020120075592A
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 KR1020120075592A priority Critical patent/KR20140008702A/ko
Priority to US13/939,324 priority patent/US20140016397A1/en
Publication of KR20140008702A publication Critical patent/KR20140008702A/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
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/161Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1659Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing 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
    • 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/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • 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/79Array wherein the access device being a transistor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Materials Engineering (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Hall/Mr Elements (AREA)

Abstract

본 발명은 반도체 메모리 장치에 관한 것으로, 좀더 자세하게는 불휘발성 메모리 장치 및 그것의 쓰기 방법에 관한 것이다. 본 발명의 실시 예에 따른 불휘발성 메모리 장치는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이; 상기 메모리 셀 어레이에 연결되며, 비교 쓰기 동작을 지원하는 데이터 비교 쓰기 유닛; 및 상기 메모리 셀 어레이에 대한 엑세스 횟수와 디스에이블 넘버의 비교 결과에 따라, 상기 비교 쓰기 동작의 수행 여부를 결정하는 컨트롤 로직을 포함한다. 본 발명의 실시 예에 따른 불휘발성 메모리 장치는 엑세스 횟수에 기초하여 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행함으로써, 불휘발성 메모리 장치에 저장된 데이터의 손실이 방지될 수 있다.

Description

불휘발성 메모리 장치 및 그것의 쓰기 방법{NONVOLATILE MEMORY DEVICE AND WRITE METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀더 자세하게는 불휘발성 메모리 장치 및 그것의 쓰기 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다.
본 발명의 목적은 신뢰성이 향상된 불휘발성 메모리 장치 및 그것의 쓰기 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이; 상기 메모리 셀 어레이에 연결되며, 비교 쓰기 동작을 지원하는 데이터 비교 쓰기 유닛; 및 상기 메모리 셀 어레이에 대한 엑세스 횟수와 디스에이블 넘버의 비교 결과에 따라, 상기 비교 쓰기 동작의 수행 여부를 결정하는 컨트롤 로직을 포함한다.
실시 예로서, 상기 엑세스 횟수가 상기 디스에이블 넘버보다 작은 경우에, 상기 컨트롤 로직은 상기 비교 쓰기 동작을 수행한다.
실시 예로서, 상기 비교 쓰기 동작이 수행되는 경우에, 상기 데이터 비교 쓰기 유닛은 상기 복수의 메모리 셀들 중 상기 쓰기 데이터에 대응하는 메모리 셀에 저장된 데이터를 독출하고, 상기 독출된 데이터를 상기 쓰기 데이터와 비교한다.
실시 예로서, 상기 데이터 비교 쓰기 유닛은 상기 쓰기 데이터와 상기 독출된 데이터가 일치하지 않을 때 상기 쓰기 데이터를 상기 쓰기 데이터에 대응하는 메모리 셀에 기입하고, 상기 쓰기 데이터와 상기 독출된 데이터가 일치할 때 상기 쓰기 데이터를 상기 쓰기 데이터에 대응하는 메모리 셀에 기입하지 않는다.
실시 예로서, 상기 엑세스 횟수가 상기 디스에이블 넘버보다 큰 경우에, 상기 컨트롤 로직은 재기입 동작을 수행한다.
실시 예로서, 상기 재기입 동작이 수행되는 경우에, 상기 컨트롤 로직은 상기 복수의 메모리 셀들 중 상기 쓰기 데이터에 대응하는 메모리 셀에 상기 쓰기 데이터를 덮어쓴다.
실시 예로서, 상기 컨트롤 로직은 상기 메모리 셀 어레이에 대한 쓰기 단위와 상기 메모리 셀 어레이에 대한 엑세스 단위를 비교하고, 상기 쓰기 단위가 상기 엑세스 단위보다 작은 경우에 상기 복수의 메모리 셀들 중 소정 메모리 셀들에 저장된 데이터를 독출하고, 독출된 데이터를 상기 소정 메모리 셀들에 덮어쓴다.
실시 예로서, 상기 소정의 메모리 셀들은 상기 쓰기 데이터와 동일한 메모리 블록에 대응한다.
실시 예로서, 상기 메모리 셀 어레이의 각 블록에 대한 총 엑세스 횟수를 카운팅하는 엑세스 카운팅 유닛을 더 포함하며, 상기 디스에이블 넘버는 상기 각 블록에 대한 총 액세스 횟수에 따라 가변된다.
실시 예로서, 상기 디스에이블 넘버는 상기 메모리 셀 어레이의 각 블록에 따라 서로 다른 값을 갖도록 설정된다.
실시 예로서, 상기 복수의 메모리 셀들은 가변 저항 소자이다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 쓰기 방법은 상기 불휘발성 메모리 장치로 쓰기 명령 및 쓰기 데이터가 수신되는 단계; 상기 쓰기 명령에 응답하여, 상기 쓰기 데이터에 대응하는 메모리 블록의 엑세스 정보를 확인하는 단계; 및 상기 엑세스 정보에 기초하여, 비교 쓰기 동작 및 재기입 동작 중 어느 하나의 동작을 선택하는 단계를 포함한다.
실시 예로서, 상기 쓰기 데이터에 대응하는 상기 메모리 블록에 대한 엑세스 횟수가 디스에이블 넘버보다 작은 경우, 상기 비교 쓰기 동작을 수행하고, 상기 쓰기 데이터에 대응하는 상기 메모리 블록에 대한 엑세스 횟수가 디스에이블 넘버보다 큰 경우, 상기 재기입 동작을 수행한다.
실시 예로서, 상기 비교 쓰기 동작은 상기 쓰기 데이터에 대응하는 상기 메모리 블록에 저장된 데이터를 독출하는 단계; 상기 메모리 셀들에 저장된 데이터와 상기 쓰기 데이터를 비교하는 단계; 및 상기 메모리 셀들에 저장된 데이터와 상기 쓰기 데이터가 서로 상이한 경우에, 상기 쓰기 데이터를 상기 메모리 블록에 덮어쓰는 단계를 포함한다.
실시 예로서, 상기 재기입 동작은 상기 쓰기 데이터에 대응하는 상기 메모리 블록에 상기 쓰기 데이터를 기입하는 단계; 및 상기 메모리 블록에 대한 엑세스 횟수를 리셋하는 단계를 포함한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 엑세스 횟수에 기초하여 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행한다. 따라서, 불휘발성 메모리 장치에 저장된 데이터의 손실이 방지될 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1의 저장 장치를 좀더 자세히 보여주는 블록도이다.
도 3은 도 2의 메모리 셀 어레이의 구조를 좀더 자세히 보여주는 도면이다.
도 4는 도 2의 메모리 셀 어레이의 구조의 다른 실시 예를 보여주는 도면이다.
도 5는 도 3 및 도 4의 메모리 셀의 일 실시 예를 보여주는 도면이다.
도 6 및 도 7은 저장된 데이터에 따른 가변 저항 소자의 자화 방향을 나타내는 도면이다.
도 8은 STT-MRAM의 쓰기 동작을 설명하기 위한 도면이다.
도 9 및 도 10은 STT-MRAM에서 가변 저항 소자의 일 실시 예들을 나타내는 도면이다.
도 11은 STT-MRAM에서 가변 저항 소자의 다른 실시 예를 나타내는 도면이다.
도 12 및 도 13은 STT-MRAM에서 가변 저항 소자의 다른 실시 예를 나타내는 도면이다.
도 14 및 도 15는 본 발명의 실시 예에 따른 비교 쓰기 동작을 설명하기 위한 도면들이다.
도 16은 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행하는 본 발명의 실시 예에 따른 쓰기 동작을 보여주는 순서도이다.
도 17은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 18은 도 17의 저장 장치의 일 실시 예를 보여주는 도면이다.
도 19는 도 18의 저장 장치의 동작을 설명하기 위한 도면이다.
도 20은 도 17의 저장 장치의 다른 실시 예를 보여주는 도면이다.
도 21 및 도 22는 도 20의 저장 장치의 동작을 설명하기 위한 도면이다.
도 23은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 24는 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 25는 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 26은 도 1 내지 도 25를 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
이하에서는, 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예들이 첨부된 도면들을 참조하여 설명될 것이다. 또한, 동일한 구성 요소는 동일한 참조 번호를 사용하여 설명되고, 유사한 구성 요소는 유사한 참조 번호를 사용하여 설명될 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(1000)을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(1000)은 컨트롤러(1100) 및 저장 장치(1200)를 포함하며, 저장 장치(1200)는 데이터 비교 쓰기 유닛(1300) 및 재기입 관리 유닛(1400)을 포함한다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 비교 쓰기 동작을 지원한다. 따라서, 메모리 시스템(1000)은 기입 동작을 최소화하고, 반복적인 기입 동작에 따른 메모리 셀의 열화를 방지할 수 있다. 비교 쓰기 동작을 지원하기 위하여, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 데이터 비교 쓰기 유닛(1300)을 포함한다.
비교 쓰기 동작이 수행되기 위해서는, 읽기 동작이 선행되어야 한다. 이는 일반적인 읽기 동작이 수행되는 경우뿐만 아니라 쓰기 동작이 수행되는 경우에도, 읽기 디스터브(read disturb)에 의한 데이터 손상이 발생할 수 있음을 의미한다. 읽기 디스터브에 의한 데이터 손상을 방지하기 위하여, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 재기입 관리 유닛(1400)을 포함한다.
도 1을 참조하여 좀더 자세히 설명하면, 컨트롤러(1100)는 저장 장치(1200)에 전기적으로 연결되며, 저장 장치(1200)에 커맨드(CMD) 및 어드레스(ADDR)를 제공한다. 또한, 컨트롤러(1100)는 저장 장치(1200)와 데이터(Data)를 주고 받는다. 예시적으로 컨트롤러(1100)는 디램(DRAM) 컨트롤러와 동일 또는 유사하게 구현될 수 있으며, 디램 인터페이스(DRAM interface)를 통하여 저장 장치(1200)와 신호 및 데이터를 교환할 수 있다.
예를 들어, 쓰기 동작이 수행되는 경우, 컨트롤러(1100)는 쓰기 커맨드(write command) 및 쓰기 요청된 데이터(write requested data)를 저장 장치(1200)에 제공할 것이다. 이 경우, 컨트롤러(1100)는 쓰기 요청된 데이터에 대응하는 어드레스를 저장 장치(1200)에 함께 제공할 것이다.
다른 예로, 읽기 동작이 수행되는 경우, 컨트롤러(100)는 읽기 커맨드(read command) 및 읽기 요청된 영역에 대응하는 어드레스를 저장 장치(1200)에 제공할 것이다. 저장 장치(1200)는 컨트롤러(1100)로부터의 요청에 응답하여, 쓰기 동작을 수행하거나 읽기 동작을 수행할 것이다.
데이터 비교 쓰기 유닛(1300)은 쓰기 요청된 데이터에 대한 비교 쓰기 동작(comparison write operation)을 수행한다. 여기서, 비교 쓰기 동작은 쓰기 동작 시에 쓰기 요청된 데이터와 메모리 셀에 저장된 데이터를 비교하고, 비교 결과에 따라 선택적으로 데이터를 기입하는 것을 의미한다.
구체적으로, 만약 쓰기 요청된 데이터와 메모리 셀에 저장된 데이터가 다르다면, 데이터 비교 쓰기 유닛(1300)은 쓰기 요청된 데이터를 메모리 셀에 기입한다. 그러나, 만약 쓰기 요청된 데이터와 메모리 셀에 저장된 데이터가 동일하다면, 데이터 비교 쓰기 유닛(1300)은 쓰기 요청된 데이터를 메모리 셀에 기입하지 않는다.
재기입 관리 유닛(1400)은 데이터 비교 쓰기 유닛(1300)의 비교 쓰기 동작을 제어한다. 구체적으로, 재기입 관리 유닛(1400)은 컨트롤러(1100)로부터 쓰기 커맨드를 수신한 경우에, 컨트롤러(1100)로부터 저장 장치(1200)로의 엑세스 횟수를 확인한다. 이 후, 재기입 관리 유닛(1400)은 엑세스 횟수에 따라 데이터 비교 쓰기 유닛(1300)의 비교 쓰기 동작의 수행 여부를 결정한다.
예를 들어, 엑세스 횟수가 소정 횟수보다 작은 경우, 재기입 관리 유닛(1200)은 비교 쓰기 동작이 수행되도록 데이터 비교 쓰기 유닛(1300)을 제어한다.
다른 예로, 엑세스 횟수가 소정 횟수보다 큰 경우, 재기입 관리 유닛(1200)은 비교 쓰기 동작이 수행되지 않도록 데이터 비교 쓰기 유닛(1300)을 제어한다. 이 경우, 재기입 관리 유닛(1400)은 쓰기 요청된 데이터가 메모리 셀에 저장된 데이터와 동일한 지의 여부에 상관없이, 쓰기 요청된 데이터를 메모리 셀에 기입하는 재기입 동작(re-write operation)을 수행하도록 데이터 비교 쓰기 유닛(1300)을 제어한다.
도 1에서 설명된 바와 같이, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 비교 쓰기 동작을 지원한다. 따라서, 메모리 시스템(1000)은 데이터 기입 동작을 최소화하고, 메모리 셀의 열화에 따른 신뢰성의 하락을 방지할 수 있다.
또한, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 엑세스 횟수에 기초하여, 비교 쓰기 동작 또는 재기입 동작의 수행 여부를 결정한다. 엑세스 횟수가 소정 횟수보다 큰 경우에는 재기입 동작을 수행함으로써, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 읽기 디스터브(read disturb)에 의한 데이터의 손실을 방지할 수 있다.
도 2는 도 1의 저장 장치(1200)를 좀더 자세히 보여주는 블록도이다. 도 2에서는 설명의 편의상, 하나의 메모리 칩(memory chip)에 의하여 저장 장치(1200)를 구현하는 경우가 예시적으로 도시되어 있다.
도 2를 참조하면, 저장 장치(1200)는 메모리 셀 어레이(1210), 쓰기 드라이버(1220), 감지 증폭기(1230), 데이터 비교 쓰기 유닛(1240), 디코더(1250), 블록 카운터(1260), 그리고 컨트롤 로직(1270)을 포함한다. 쓰기 드라이버(1220) 및 감지 증폭기(1230)는 쓰기 및 감지 회로(1235)라 칭해질 수 있다.
도 1의 데이터 비교 쓰기 유닛(1300)은 도 2의 데이터 비교 쓰기 유닛(1240)으로 구현될 수 있고, 도 1의 재기입 관리 유닛(1400)은 도 2의 블록 카운터(1260) 및 컨트롤 로직(1270)으로 구현될 수 있다.
메모리 셀 어레이(1300)는 복수의 워드 라인들(WL)을 통하여 디코더(1250)에 연결된다. 메모리 셀 어레이(1300)는 복수의 비트 라인들(BL)을 통하여 쓰기 및 감지 회로(1235)에 연결된다. 메모리 셀 어레이(1300)는 복수의 블록들(BLK1~BLKn)을 포함하며, 각각의 블록은 데이터를 저장하는 복수의 메모리 셀들을 포함한다.
본 발명의 실시 예에 있어서, 메모리 셀 어레이(1300)는 가변 저항 소자 (Variable resistance memory)를 사용하여 구현될 수 있다. 예를 들어, 메모리 셀 어레이(1300)의 메모리 셀들은 STT-MRAM(Spin transfer magneto resistive random access memory)로 구현될 수 있다.
메모리 셀들이 STT-MRAM으로 구현되는 경우, 각 메모리 셀은 자성 물질을 갖는 자기 터널 접합 소자(magnetic tunnel junction, 이하 가변 저항 소자)를 포함할 수 있다. 메모리 셀 어레이(1210) 및 메모리 셀의 구현 예들은 이하의 도 3 내지 도 13을 참조하여 좀더 자세히 설명된다.
쓰기 드라이버(1220)는 비트 라인(BL)을 통하여 메모리 셀 어레이(1210)에 연결된다. 쓰기 동작 시에, 쓰기 드라이버(1220)는 쓰기 요청된 데이터에 대응하는 쓰기 전류(write current)를 비트 라인(BL)을 통하여 메모리 셀 어레이(1210)에 제공한다. 또한, 쓰기 드라이버(1220)는 읽기 동작 시에 비트 라인(BL)을 통하여 읽기 전류(read current)를 제공한다.
감지 증폭기(1230)는 비트 라인(BL)을 통하여 메모리 셀 어레이(1210)에 연결된다. 읽기 동작 시에, 감지 증폭기(1230)는 비트 라인(BL)을 통하여 데이터 전압을 수신하고, 수신된 데이터 전압을 증폭한다. 이를 위하여, 감지 증폭기(1230)는 데이터 전압을 센싱 및 증폭하기 위한 복수의 센싱 앰프 회로들을 포함하도록 구현될 수 있다. 예를 들어, 각각의 센싱 엠프 회로는 데이터 전압과 기준 전압(reference voltage)을 비교하고, 비교 결과를 디지털 레벨의 데이터 신호로 출력하도록 구현될 수 있다.
한편, 도 2에서 쓰기 드라이버(1220)와 감지 증폭기(1230)는 하나의 모듈로 구현될 수 있으며, 쓰기 드라이버(1220)와 감지 증폭기(1230)를 포함하는 모듈은 쓰기 및 감지 회로(1235)라 칭해질 수 있다.
계속해서 도 2를 참조하면, 데이터 비교 쓰기 유닛(1240)은 쓰기 및 감지 회로(1235)에 연결된다. 데이터 비교 쓰기 유닛(1240)은 컨트롤러(1100, 도 1 참조)로부터 데이터(Data)를 수신한다. 데이터 비교 쓰기 유닛(1240)은 컨트롤 로직(1270)의 제어에 응답하여, 비교 쓰기 동작 또는 재기입 동작을 수행하도록 쓰기 및 감지 회로(1235)를 제어한다.
예를 들어, 비교 쓰기 동작이 수행되는 경우, 데이터 비교 쓰기 유닛(1240)은 먼저 쓰기 요청된 데이터가 저장될 메모리 셀에 대한 읽기 동작(이하, 프리 읽기 동작(pre-read operation))을 수행하도록, 쓰기 드라이버(1220) 및 감지 증폭기(1230)를 제어한다.
만약 쓰기 요청된 데이터와 메모리 셀에 저장된 데이터가 동일하다면, 데이터 비교 쓰기 유닛(1240)은 메모리 셀에 저장된 데이터를 유지한다. 만약 쓰기 요청된 데이터와 메모리 셀에 저장된 데이터가 동일하지 않다면, 데이터 비교 쓰기 유닛(1240)은 쓰기 요청된 데이터가 메모리 셀에 덮어쓰기 되도록 쓰기 드라이버(1220)를 제어한다.
또한, 예를 들어, 재기입 동작이 수행되는 경우, 데이터 비교 쓰기 유닛(1240)은 메모리 셀에 저장된 데이터와 상관없이, 쓰기 요청된 데이터를 메모리 셀에 기입하는 재기입 동작을 수행하도록 쓰기 및 감지 회로(1235)를 제어한다. 즉, 재기입 동작이 수행되는 경우, 데이터 비교 쓰기 유닛(1240)은 프리 읽기 동작을 수행하지 않도록 감지 증폭기(1240)를 제어하고, 쓰기 요청된 데이터가 대응하는 메모리 셀에 덮어쓰기 되도록 쓰기 드라이버(1220)를 제어한다.
디코더(1250)는 워드 라인(WL)을 통하여 메모리 셀 어레이(1210)에 연결된다. 디코더(1250)는 컨트롤러(1100)를 통하여 어드레스(ADDR)를 수신한다. 디코더(1250)는 어드레스를 디코딩하여, 워드 라인(WL) 및 비트 라인(BL)에 의하여 선택되는 메모리 셀을 결정한다.
블록 카운터(1260)는 컨트롤러(1100)를 통하여 블록 어드레스(BLK_ADDR)를 수신한다. 블록 카운터(1260)는 해당 블록에 대한 엑세스 횟수(access number)를 카운팅하고, 이를 관리한다. 여기서, 엑세스 횟수는 해당 블록에 대한 읽기 동작과 비교 쓰기 동작이 수행된 횟수를 의미한다. 비교 쓰기 동작은 프리 읽기 동작을 포함하기 때문에, 엑세스 횟수는 프리 읽기 동작과 읽기 동작(즉, 읽기 요청에 따른 읽기 동작)이 수행된 횟수를 의미한다.
예를 들어, 제 1 블록(BLK1)에 대한 쓰기 요청 또는 읽기 요청이 있는 경우, 블록 카운터(1260)는 제 1 블록(BLK1)에 대한 카운팅 숫자를 '1' 만큼 증가시키고, 제 1 블록에 대한 카운팅 정보를 관리한다. 이와 유사하게, 제 2 블록(BLK2)에 대한 쓰기 요청 또는 읽기 요청이 있는 경우, 블록 카운터(1260)는 제 2 블록(BLK2)에 대한 카운팅 숫자를 '1' 만큼 증가시키고, 제 2 블록에 대한 카운팅 정보를 관리한다. 블록 카운터(1260)에 의하여 관리되는 블록 카운팅 정보(block counting information)는 메모리 셀 어레이(1210)의 블록들(BLK1~BLKn)의 소정 영역에 저장될 수 있다.
컨트롤 로직(1270)은 컨트롤러(1100)로부터 쓰기 커맨드(write command, W_CMD) 또는 읽기 커맨드(R_CMD)를 수신한다. 컨트롤 로직(1270)은 수신된 쓰기 커맨드 또는 읽기 커맨드에 응답하여, 저장 장치(1200)의 전반적인 쓰기 또는 읽기 동작을 제어한다.
또한, 본 발명의 기술적 사상에 따른 실시 예에 있어서, 컨트롤 로직(1270)은 컨트롤러(1100)로부터 디스에이블 넘버(Disable number)를 수신한다. 컨트롤 로직(1270)은 디스에이블 넘버와 블록 카운터(1260)에서 관리되는 엑세스 정보를 비교한다. 컨트롤 로직(1270)은 비교 결과에 기초하여, 쓰기 요청된 블록에 대한 비교 쓰기 동작 또는 재기입 동작이 선택적으로 수행되도록 저장 장치(1200)의 전반적인 동작을 제어한다.
예를 들어, 쓰기 요청된 블록에 대한 엑세스 횟수가 디스에이블 넘버보다 작은 경우, 컨트롤 로직(1270)은 쓰기 요청된 블록에 대한 비교 쓰기 동작이 수행되도록 저장 장치(1200)의 전반적인 동작을 제어한다.
다른 예로, 쓰기 요청된 블록에 대한 엑세스 횟수가 디스에이블 넘버보다 큰 경우, 컨트롤 로직(1270)은 쓰기 요청된 블록에 대한 재기입 동작이 수행되도록 저장 장치(1200)의 전반적인 동작을 제어한다.
도 2에서 설명된 바와 같이, 본 발명의 실시 예에 따른 저장 장치(1200)는 쓰기 요청된 블록에 대한 엑세스 횟수에 기초하여, 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행한다. 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행함으로써, 본 발명의 실시 예에 따른 저장 장치(1200)는 읽기 디스터브에 의한 데이터의 손실을 방지할 수 있다.
즉, 엑세스 횟수가 소정 횟수(즉, 디스에이블 넘버)를 초과하는 경우, 해당 블록에 저장된 데이터는 읽기 디스터브에 의하여 손실될 위험이 크다. 따라서, 본 발명의 실시 예에 따른 컨트롤 로직(1270)은 엑세스 횟수가 소정 횟수를 초과하는 경우에 재기입 동작을 수행하도록 제어함으로써, 읽기 디스터브에 의한 데이터 손실을 방지할 수 있다.
도 3은 도 2의 메모리 셀 어레이(1210)의 구조를 좀더 자세히 보여주는 도면이다. 도 3에서는 도 2의 메모리 셀 어레이(1210)의 소정 블록이 자세히 도시되어 있다. 설명의 편의상, 도 3의 블록(BLKi)은 4 개의 비트 라인들(BL1~BL4)에 연결된다고 가정된다.
도 3을 참조하면, 메모리 블록(BLKi)은 복수의 메모리 셀들(MC)을 포함한다. 각 메모리 셀(MC)은 가변 저항 소자(Variable resistance memory, VR)와 셀 트랜지스터(CT)를 포함한다.
가변 저항 소자(VR)는 제공되는 전류(또는 전압)의 크기 및 방향에 따라 저항 값이 가변된다. 또한, 가변 저항 소자(VR)는 전류(또는 전압)가 차단되어도, 저항 값을 그대로 유지한다. 즉, 가변 저항 소자(VR)는 불휘발성의 특성을 가진다.
가변 저항 소자(VR)는 다양한 소자들을 이용하여 구현될 수 있다. 예를 들어, 가변 저항 소자(VR)는 STT-MRAM(Spin transfer torque magneto resistive random access memory)를 이용하여 구현될 수 있다. 다른 예로, 가변 저항 소자(VR)는 상 변화 물질을 이용하는 PRAM(Phase Change Random Access Memory), 전이금속산화물질(Complex Metal Oxide)의 가변 저항 물질을 이용한 RRAM(Resistive Random Access Memory) 또는 강자성체 물질을 이용한 MRAM(Magnetic Random Access Memory)을 이용하여 구현될 수 있다.
셀 트랜지스터(CT)의 게이트는 워드 라인(WL)에 연결된다. 셀 트랜지스터(CT)는 워드 라인(WL)을 통하여 제공되는 신호에 의하여 스위칭 된다. 셀 트랜지스터(CT)의 드레인(drain)은 가변 저항 소자(VR)에 연결되며, 셀 트랜지스터(CT)의 소스(source)는 소스 라인(SL)에 연결된다.
예를 들어, 복수의 메모리 셀들(MC)의 셀 트랜지스터들(CT)의 소스들은 모두 동일한 소스 라인에 연결될 수 있다. 다른 예로, 복수의 메모리 셀들(MC)의 셀 트랜지스터들(CT)의 소스들은 각각 상이한 소스 라인들에 연결될 수 있다.
도 4는 도 2의 메모리 셀 어레이(1210)의 구조의 다른 실시 예를 보여주는 도면이다.
도 4에 도시된 바와 같이, 메모리 셀 어레이(1210)의 블록(BLKj)은 서로 다른 4 개의 메모리 셀들(MC)이 하나의 소스 라인(SL)을 공유하도록 구현될 수도 있다. 소스 라인(SL)의 연결 방식을 제외하면, 도 4의 블록(BLKj)의 구조 및 메모리 셀(MC)은 도 3의 블록(BLKi)의 구조 및 메모리 셀(MC)과 유사하디. 따라서, 자세한 설명은 이하 생략된다.
도 5는 도 3 및 도 4의 메모리 셀(MC)의 일 실시 예를 보여주는 도면이다. 도 5에서는, 메모리 셀(MC)이 STT-MRAM(Spin transfer torque magneto resistive random access memory)을 사용하여 구현된 예를 보여준다.
메모리 셀(MC)은 가변 저항 소자(VR) 및 셀 트랜지스터(CT)를 포함할 수 있다. 셀 트랜지스터(CT)의 게이트는 워드 라인(예컨대, 제 1 워드라인(WL1))에 연결되고, 셀 트랜지스터(CT)의 일 전극은 가변 저항 소자(VR)를 통해 비트라인(예컨대, 제 1 비트 라인(BL1))에 연결된다. 또한, 셀 트랜지스터(CT)의 다른 전극은 소스라인(예컨대, 제 1 소스라인 SL1)에 연결된다.
가변 저항 소자(VR)는 고정층(Pinned layer, 13)과 자유층(free layer, 11) 및 이들 사이에 터널층(12)을 포함할 수 있다. 고정층(13)의 자화 방향은 고정되어 있으며, 자유층(11)의 자화 방향은 조건에 따라 고정층(13)의 자화 방향과 같거나 역방향이 될 수 있다. 고정층(13)의 자화 방향을 고정시켜 주기 위하여, 예컨대, 반강자성층(anti-ferromagnetic layer, 미도시)이 더 구비될 수 있다.
STT-MRAM의 읽기 동작을 수행하기 위해서는, 워드 라인(WL1)에 로직 하이의 전압을 제공하여 셀 트랜지스터(CT)를 턴 온 시키고, 비트 라인(BL1)으로부터 소스 라인(SL) 방향으로 읽기 전류(read current)를 제공하여, 측정되는 저항값에 따라 가변 저항 소자(VR)에 저장된 데이터를 판별할 수 있다.
STT-MRAM의 쓰기 동작을 수행하기 위해서는, 워드 라인(WL1)에 로직 하이의 전압을 주어 셀 트랜지스터(CT)를 턴 온 시키고, 비트 라인(BL1)과 소스 라인(SL) 사이에 쓰기 전류를 제공한다.
도 6 및 도 7은 저장된 데이터에 따른 가변 저항 소자(VR)의 자화 방향을 나타내는 도면이다.
가변 저항 소자(VR)의 저항값은 자유층(11)의 자화 방향에 따라 달라진다. 가변 저항 소자에 읽기 전류(I)를 제공하면, 가변 저항 소자의 저항값에 따른 데이터 전압이 출력된다. 읽기 전류(I)의 세기는 쓰기 전류의 세기보다 매우 작기 때문에, 일반적으로 읽기 전류(I)에 의해 자유층(11)의 자화 방향이 변화되지 않는다.
도 6을 참조하면, 가변 저항 소자에서 자유층(11)의 자화 방향과 고정층(13)의 자화 방향이 평행(parallel)하게 배치된다. 따라서, 가변 저항 소자는 낮은 저항값을 가진다. 이 경우 데이터는, 예를 들어, '0'을 독출할 수 있다.
도 7을 참조하면, 가변 저항 소자(VR)는 자유층(11)의 자화 방향이 고정층(13)의 자화 방향과 반 평행(anti-parallel)으로 배치된다. 이 경우, 상기 가변 저항 소자(VR)는 높은 저항값을 가진다. 이 경우 데이터는, 예를 들어, '1'을 독출 할 수 있다.
한편, 도 6 및 도 7에서는, MTJ 셀(10)의 자유층(11)과 고정층(13)을 수평 자기 소자로 도시하였으나, 이에 한정되는 것은 아니다. 다른 실시 예로서, 자유층(11)과 고정층(13)은 수직 자기 소자를 이용할 수도 있다.
도 8은 STT-MRAM의 쓰기 동작을 설명하기 위한 도면이다.
도 8을 참조하면, 가변 저항 소자(VR)를 흐르는 쓰기 전류(WC1, WC2)의 방향에 따라 자유층(11)의 자화 방향이 결정될 수 있다. 예컨대, 제 1 쓰기 전류(WC1)가 제공되면, 고정층(13)과 동일한 스핀 방향을 갖는 자유 전자들이 자유층(11)에 토크(torque)를 인가한다. 이로 인해, 자유층(11)은 고정층(13)과 평행(Parallel)하게 자화된다.
한편, 제 2 쓰기 전류(WC2)가 제공되면, 고정층(13)과 반대의 스핀을 갖는 전자들이 자유층(11)으로 토크를 제공한다. 이로 인해, 자유층(11)은 고정층(13)과 반 평행(Anti Parallel)하게 자화된다. 즉, 가변 저항 소자(VR)에서 자유층(11)의 자화 방향은 스핀 전달 토크(STT, Spin transfer torque)에 의해 변할 수 있다.
도 9 및 도 10은 STT-MRAM에서 가변 저항 소자(VR)의 일 실시 예들을 나타내는 도면이다. 자화 방향이 수평인 가변 저항 소자는 전류의 이동 방향과 자화 용이 축(easy axis)이 실질적으로 수직한 경우이다.
도 9를 참조하면, 가변 저항 소자(VR)는 자유층(21), 터널층(22), 고정층(23) 및 반강자성층(24)을 포함할 수 있다.
자유층(Free layer, 21)은 변화 가능한 자화 방향을 갖는 물질을 포함할 수 있다. 자유층(21)의 자화 방향은 메모리 셀의 외부 및/또는 내부에서 제공되는 전기적/자기적 요인에 의해 변경될 수 있다.
자유층(21)은 코발트(Co), 철(Fe) 및 니켈(Ni) 중 적어도 하나를 포함하는 강자성 물질을 포함할 수 있다. 예를 들어, 자유층(24)은 FeB, Fe, Co, Ni, Gd, Dy, CoFe, NiFe, MnAs, MnBi, MnSb, CrO2, MnOFe2O3, FeOFe2O3, NiOFe2O3, CuOFe2O3, MgOFe2O3, EuO 및 Y3Fe5O12중 선택된 적어도 하나를 포함할 수 있다.
터널층(22)은 스핀 확산 길이(Spin Diffusion Distance) 보다 얇은 두께를 가질 수 있다. 터널층(22)은 비자성 물질을 포함할 수 있다. 일 예로, 터널층(12)은 마그네슘(Mg), 티타늄(Ti), 알루미늄(Al), 마그네슘-아연(MgZn) 및 마그네슘-붕소(MgB)의 산화물, 그리고 티타늄(Ti) 및 바나듐(V)의 질화물 중 선택된 적어도 하나를 포함할 수 있다.
고정층(pinned layer, 23)은 반강자성층(24)에 의해 고정된 자화 방향을 가질 수 있다. 또한, 고정층(23)은 강자성 물질(ferromagnetic material)을 포함할 수 있다. 예를 들어, 제 1 고정층(23)은 CoFeB, Fe, Co, Ni, Gd, Dy, CoFe, NiFe, MnAs, MnBi, MnSb, CrO2, MnOFe2O3, FeOFe2O3, NiOFe2O3, CuOFe2O3, MgOFe2O3, EuO 및 Y3Fe5O12중 선택된 적어도 하나를 포함할 수 있다.
반강자성층(pinning layer, 24)은 반 강자성 물질(anti-Ferromagnetic material)을 포함할 수 있다. 예를 들어, 반강자성층(24)은 PtMn, IrMn, MnO, MnS, MnTe, MnF2, FeCl2, FeO, CoCl2, CoO, NiCl2, NiO 및 Cr에서 선택된 적어도 하나를 포함할 수 있다.
본 발명의 다른 실시 예에 따르면, 가변 저항 소자(VR)의 자유층과 고정층은 각각 강자성체로 형성되므로 강자성체의 에지(edge)에는 표류 자기장(stray field)이 발생할 수 있다. 표류 자기장은 자기 저항을 낮아지게 하거나 자유층의 저항 자력을 증가시킬 수 있으며, 스위칭 특성에 영향을 미쳐 비대칭적인 스위칭을 형성한다. 따라서, 가변 저항 소자 내의 강자성체에서 발생되는 표류 자기장을 감소시키거나 제어시키는 구조가 필요하다.
도 10을 참조하면, 가변 저항 소자(VR)의 고정층(33)은 합성 반 강자성체(Synthetic Anti Ferromagnetic, SAF)로 제공된다. 고정층(33)은 제 1 강자성층(33_1), 결합층(33_2), 제 2 강자성층(33_3)을 포함한다. 제 1 및 제 2 강자성층은 각각 CoFeB, Fe, Co, Ni, Gd, Dy, CoFe, NiFe, MnAs, MnBi, MnSb, CrO2, MnOFe2O3, FeOFe2O3, NiOFe2O3, CuOFe2O3, MgOFe2O3, EuO 및 Y3Fe5O12중 선택된 적어도 하나를 포함할 수 있다.
이 때, 제 1 강자성층(33_1)의 자화 방향과 제 2 강자성층(33_3)의 자화 방향은 서로 다른 방향을 가지며, 각각의 자화 방향은 고정된다. 상기 결합 층(33_2)은 루테늄(Ru)을 포함할 수 있다.
도 11은 STT-MRAM에서 가변 저항 소자의 다른 실시 예를 나타내는 도면이다. 자화 방향이 수직인 가변 저항 소자는 전류의 이동 방향과 자화 용이축(easy axis)이 실질적으로 평행하다. 도 11을 참조하면, 가변 저항 소자(VR)는 자유층(41), 고정층(43) 및 터널층(42)을 포함한다.
자유층(41)의 자화 방향과 고정층(43)의 자화 방향이 평행(Parallel) 하면 저항값이 작아지고, 자유층(41)의 자화 방향과 고정층(43)의 자화 방향이 반 평행(Anti-Parallel) 하면 저항값이 커진다. 저항값에 따라 데이터가 저장될 수 있다.
자화 방향이 수직인 가변 저항 소자(VR)을 구현하기 위해서, 자유층(41)과 고정층(43)은 자기 이방성 에너지가 큰 물질로 구성되는 것이 바람직하다. 자기 이방성 에너지가 큰 물질로는, 비정질계 희토류 원소 합금, (Co/Pt)n 이나 (Fe/Pt)n과 같은 다층박막, 그리고 L10 결정 구조의 규칙격자 물질이 있다.
예를 들어, 자유층(41)은 규칙 합금(ordered alloy)일 수 있으며, 철(Fe), 코발트(Co), 니켈(Ni), 팔라듐(Pa), 및 백금(Pt) 중 적어도 어느 하나를 포함할 수 있다. 예를 들어 자유층(41)은 Fe-Pt 합금, Fe-Pd 합금, Co-Pd 합금, Co-Pt 합금, Fe-Ni-Pt 합금, Co-Fe-Pt 합금, 및 Co-Ni-Pt 합금 중 적어도 어느 하나를 포함할 수 있다. 상기 합금들은, 예를 들어 화학 정량적인 표현으로, Fe50Pt50, Fe50Pd50, Co50Pd50, Co50Pt50, Fe30Ni20Pt50, Co30Fe20Pt50, 또는 Co30Ni20Pt50 일 수 있다.
고정층(43)은 규칙합금(ordered alloy)일 수 있으며, 철(Fe), 코발트(Co), 니켈(Ni), 팔라듐(Pa), 및 백금(Pt) 중 적어도 어느 하나를 포함할 수 있다. 예를 들어 고정층(43)은 Fe-Pt 합금, Fe-Pd 합금, Co-Pd 합금, Co-Pt 합금, Fe-Ni-Pt 합금, Co-Fe-Pt 합금, 및 Co-Ni-Pt 합금 중 적어도 어느 하나를 포함할 수 있다. 상기 합금들은, 예를 들어 화학 정량적인 표현으로, Fe50Pt50, Fe50Pd50, Co50Pd50, Co50Pt50, Fe30Ni20Pt50, Co30Fe20Pt50, 또는 Co30Ni20Pt50 일 수 있다.
도 12 및 도 13은 STT-MRAM에서 가변 저항 소자의 다른 실시 예를 나타내는 도면이다. 듀얼 가변 저항 소자는 자유층을 기준으로 양 끝 단에 터널층과 고정층이 각각 배치되는 구조를 가진다.
도 12를 참조하면, 수평 자기를 형성하는 듀얼 가변 저항 소자는 제 1 고정층(51), 제 1 터널층(52), 자유층(53), 제 2 터널층(54) 및 제 2 고정층(55)을 포함할 수 있다. 각각을 구성하는 물질은 도 9의 자유층(21), 터널층(22) 및 고정층(23)과 같거나 유사하다.
이 때, 제 1 고정층(51)의 자화 방향과 제 2 고정층(55)의 자화 방향이 반대 방향으로 고정되면, 실질적으로 제 1 및 제 2 고정층에 의한 자기력이 상쇄되는 효과를 가진다. 따라서, 듀얼 가변 저항 소자는 일반 가변 저항 소자보다 더 적은 전류를 이용하여 쓰기 동작을 할 수 있다.
또한, 제 2 터널층(54)으로 인해 듀얼 가변 저항 소자는 읽기 동작 시에 더 높은 저항을 제공하므로, 명확한 데이터 값을 얻을 수 있도록 하는 장점이 있다.
도 13을 참조하면, 수직 자기를 형성하는 듀얼 가변 저항 소자는 제 1 고정층(61), 제 1 터널층(62), 자유층(63), 제 2 터널층(64) 및 제 2 고정층(65)을 포함한다. 각각을 구성하는 물질은 상술된 도 11의 자유층(41), 터널층(42) 및 고정층(43)과 각각 같거나 유사하다.
이 때, 제 1 고정층(51)의 자화 방향과 제 2 고정층(55)의 자화 방향은 반대 방향으로 고정되면, 실질적으로 제 1 및 제 2 고정층에 의한 자기력이 상쇄되는 효과를 가진다. 따라서, 듀얼 가변 저항 소자(50)는 일반 가변 저항 소자보다 더 적은 전류를 이용하여 쓰기 동작을 할 수 있다.
도 3 내지 도 13을 참조하여 설명된 바와 같이, 본 발명의 실시 예에 따른 저장 장치(1200, 도 2 참조)는 가변 저항 소자(VR)를 저장 소자로 사용할 수 있다. 가변 저항 소자(VR)에 대한 읽기 동작의 메커니즘은 쓰기 동작의 메커니즘과 유사하다. 즉, 도 6 내지 도 8을 참조하여 설명된 바와 같이, 읽기 전류와 쓰기 전류의 세기만 다를 뿐, 읽기 동작의 메커니즘과 쓰기 동작의 메커니즘은 유사하다.
따라서, 가변 저항 소자(VR)를 저장 소자로 사용하는 메모리 시스템은 읽기 디스터브에 의한 데이터 손실의 위험이 크다. 더욱이 본 발명의 실시 예에 따른 메모리 시스템(1000, 도 1 참조)은 비교 쓰기 동작을 지원하기 때문에, 더욱 큰 읽기 디스터브에 의한 데이터 손실의 위험을 갖는다.
이러한 데이터 손실의 위험을 방지하기 위하여, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 쓰기 요청된 블록에 대한 엑세스 횟수에 기초하여, 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행한다.
이하의 도 14 및 도 15에서는 본 발명의 실시 예에 따른 비교 쓰기 동작이 먼저 설명될 것이다. 이후, 도 16에서는 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행하는 쓰기 동작이 설명될 것이다. 이후, 도 17 내지 도 26에서는 본 발명의 기술적 사상의 다양한 응용 예 및 적용 예들이 설명될 것이다.
도 14 및 도 15는 본 발명의 실시 예에 따른 비교 쓰기 동작을 설명하기 위한 도면들이다. 설명의 편의상, 도 14 및 도 15에서는, 제 1 내지 제 4 메모리 셀들(MC1~MC4)에 대한 비교 쓰기 동작이 수행된다고 가정된다. 또한, 제 1 내지 제 4 메모리 셀들(MC~MC4)은 제 1 워드 라인(WL1, 도 3 참조)을 공유하며, 제 1 내지 제 4 비트 라인들(BL1~BL4, 도 3 참조)에 연결된다고 가정된다.
S110 단계에서, 쓰기 커맨드(write command) 및 쓰기 데이터(write data)가 수신된다. 예를 들어, 도 15에 도시된 바와 같이, 쓰기 데이터들은 각각 '0', '1', '1', '1'이며, 각각 제 1 내지 제 4 메모리 셀들(MC1~MC4)에 대응한다고 가정된다.
S120 단계에서, 프리-읽기 동작이 수행된다. 즉, 제 1 내지 제 4 메모리 셀들(MC1~MC4)에 저장되어 있는 데이터에 대한 읽기 동작이 수행된다. 예를 들어, 도 15에 도시된 바와 같이, 제 1 내지 제 4 메모리 셀들(MC1~MC4)로부터 각각 '1', '1', '0', '1'의 데이터가 독출된다고 가정된다. 설명의 편의상, 제 1 내지 제 4 메모리 셀들(MC1~MC4)로부터 독출된 데이터는 코어 데이터(core data)라 칭해진다.
S130 단계에서, 쓰기 데이터들과 코어 데이터들에 대한 비교 동작이 수행된다. 동일한 메모리 셀에 대응하는 쓰기 데이터와 코어 데이터가 동일한 경우, 이벤트(event) '0'이 발생한다. 동일한 메모리 셀에 대응하는 쓰기 데이터와 코어 데이터가 상이한 경우, 이벤트(event) '1'이 발생한다.
예를 들어, 도 15에 도시된 바와 같이, 제 2 메모리 셀(MC2)에 대응하는 쓰기 데이터와 코어 데이터는 서로 동일하다. 따라서, 제 2 메모리 셀(MC2)에 대해서는, 이벤트 '0'이 발생한다. 반면, 제 1 메모리 셀(MC1)에 대응하는 쓰기 데이터와 코어 데이터는 서로 상이하다. 따라서, 제 1 메모리 셀(MC1)에 대해서는, 이벤트 '1'이 발생한다.
S140 단계에서, 쓰기 데이터와 코어 데이터가 상이한 메모리 셀들에 대한 데이터 기입 동작이 수행된다. 즉, 이벤트 '0'이 발생한 메모리 셀에 대하여는 데이터 기입 동작이 수행되지 않고, 이벤트 '1'이 발생한 메모리 셀에 대해서만 데이터 기입 동작이 수행된다.
예를 들어, 도 15에 도시된 바와 같이, 쓰기 데이터와 코어 데이터가 상이한 제 1 및 제 3 메모리 셀들(MC1, MC3)에 대해서는, 쓰기 요청된 데이터(즉, 쓰기 데이터)가 기입된다. 반면, 쓰기 데이터와 코어 데이터가 동일한 제 2 및 제 4 메모리 셀들(MC2, MC4)에 대해서는, 쓰기 요청된 데이터(즉, 쓰기 데이터)가 기입되지 않고, 코어 데이터가 유지된다.
도 14 및 도 15에서 설명된 바와 같이, 본 발명의 실시 예에 따른 비교 쓰기 동작은 프리-읽기 동작을 포함한다. 따라서, 읽기 디스터브에 의한 데이터 손실의 위험이 크다.
도 16은 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행하는 본 발명의 실시 예에 따른 쓰기 동작을 보여주는 순서도이다. 본 발명의 실시 예에 따른 쓰기 동작은 엑세스 횟수에 기초하여 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행한다. 따라서, 읽기 디스터브에 의한 데이터 손실의 위험이 감소된다. 이하에서는 도 2를 참조하여, 본 발명의 실시 예에 따른 저장 장치(1200)의 쓰기 동작이 좀더 자세히 설명된다.
S210 단계에서, 저장 장치(1200)는 쓰기 커맨드(write command), 쓰기 데이터(write), 그리고 디스에이블 넘버(disable number)를 수신한다. 또한, 저장 장치(1200)는 쓰기 요청된 데이터가 저장될 메모리 셀의 어드레스(ADDR) 및 해당 메모리 셀의 블록 어드레스(BLK_ADDR)를 함께 수신한다.
S220 단계에서, 컨트롤 로직(1270)은 블록 카운터(1260)에서 관리되는 엑세스 정보를 확인한다. 즉, 컨트롤 로직(1270)은 쓰기 데이터가 대응하는 블록의 엑세스 횟수를 블록 카운터(1260)를 통하여 확인한다. 여기서, 소정 블록에 대한 엑세스는 소정 블록에 대한 비교 쓰기 동작 또는 읽기 동작을 의미하고, 소정 블록에 대한 엑세스 횟수는 소정 블록에 대한 비교 쓰기 동작이 수행된 횟수 및 읽기 동작이 수행된 횟수의 합을 의미한다.
S230 단계에서, 컨트롤 로직(1270)은 쓰기 요청된 데이터가 대응하는 블록의 엑세스 횟수(즉, 소정 블록 카운팅 횟수)와 디스에이블 넘버를 비교하고, 엑세스 횟수가 디스에이블 넘버보다 작은 지의 여부를 판단한다.
엑세스 횟수가 디스에이블 넘버보다 작다면, S231 내지 S234 단계가 수행된다. 즉, 엑세스 횟수가 디스에이블 넘버보다 작다면, 컨트롤 로직(1270)은 비교 쓰기 동작을 수행하도록 쓰기 드라이버(1220), 감지 증폭기(1230), 그리고 데이터 비교 쓰기 유닛(1240)을 제어한다.
즉, S231 단계에서, 프리-읽기 동작이 수행되고, S232 단계에서, 쓰기 데이터와 코어 데이터의 비교 동작이 수행되며, S233 단계에서, 코어 데이터와 다른 쓰기 데이터가 메모리 셀에 기입된다. S231 내지 S233 단계는 도 14 및 도 15에서 설명된 동작과 유사하므로, 자세한 설명은 이하 생략된다. 이후, S234 단계에서, 블록 카운터(1260)는 해당 블록에 대한 엑세스 횟수를 '1' 만큼 증가시킨다.
한편, 엑세스 횟수가 디스에이블 넘버보다 크다면, 컨트롤 로직(1270)은 재기입 동작이 수행되도록, 데이터 저장 장치(1200)를 제어한다.
구체적으로, S240 단계에서, 컨트롤 로직(1270)은 비교 쓰기 동작이 수행되지 않도록, 데이터 비교 쓰기 유닛(1240)을 제어한다. 이 후, S250 단계에서, 컨트롤 로직(1270)은 쓰기 단위(write unit)와 블록 단위(block unit)를 비교한다.
쓰기 단위가 블록 단위보다 작다면, 쓰기 데이터가 대응하는 블록에는 쓰기 데이터가 대응하는 메모리 셀 이외의 메모리 셀들이 존재한다. 예를 들어, 도 15와 같이, 쓰기 데이터가 제 1 내지 제 4 메모리 셀들(MC1~MC4)에 대응한다고 가정하자. 만약 쓰기 단위가 블록 단위보다 작다면, 해당 블록에는 제 1 내지 제 4 메모리 셀들(MC1~MC4) 이외의 메모리 셀들이 존재한다. 이 경우, 컨트롤 로직(1270)은 쓰기 데이터가 대응하는 메모리 블록의 모든 메모리 셀들에 대한 재기입 동작이 수행되도록 저장 장치(1200)를 제어한다.
구체적으로, S251 단계에서, 컨트롤 로직(1270)은 쓰기 데이터가 대응하는 메모리 셀들에 기입 되도록 저장 장치(1200)를 제어한다. 이 경우, 컨트롤 로직(1270)은 프리-읽기 동작을 수행하지 않고, 쓰기 데이터가 대응하는 메모리 셀들에 기입되도록 저장 장치(1200)를 제어한다.
S252 단계에서, 컨트롤 로직(1270)은 쓰기 데이터가 대응하는 메모리 블록에 대한 읽기 동작을 수행하고, 읽은 데이터를 다시 메모리 블록에 기입하는 동작을 수행한다. 이 경우, 예를 들어, 컨트롤 로직(1270)은 쓰기 데이터가 기입된 메모리 셀들을 제외하고, S251 단계의 읽기 및 기입 동작을 수행할 수 있다. 다른 예로, 컨트롤 로직(1270)은 쓰기 데이터가 기입된 메모리 블록을 포함하여, S251 단계의 읽기 및 기입 동작을 수행할 수 있다.
S253 단계에서, 컨트롤 로직(1270)은 블록 카운터(1260)에서 관리되는 엑세스 정보 중 쓰기 데이터가 대응하는 블록의 엑세스 넘버를 리셋한다.
한편, 쓰기 단위와 블록 단위가 같다면, S261 단계에서, 컨트롤 로직(1270)은 쓰기 데이터가 대응하는 메모리 셀들에 기입되도록, 저장 장치(1200)를 제어한다. 이후, S262 단계에서, 컨트롤 로직(1270)은 블록 카운터(1260)에서 관리되는 엑세스 정보 중 쓰기 데이터가 대응하는 블록의 엑세스 넘버를 리셋한다.
도 16에서 설명된 바와 같이, 본 발명의 실시 예에 따른 저장 장치(1200)는 쓰기 요청된 블록에 대한 엑세스 횟수에 기초하여, 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행한다. 따라서, 본 발명의 실시 예에 따른 저장 장치(1200)는 읽기 디스터브에 의한 데이터의 손실을 방지할 수 있다.
한편, 도 2 내지 도 16에서 설명된, 디스에이블 넘버(disable number)는 설계자에 의하여 다양하게 설정될 수 있다. 예를 들어, 메모리 셀 어레이(1210, 도 2 참조)의 메모리 셀들의 물리적 특성에 따라, 디스에이블 넘버는 다양하게 조정될 수 있다. 예를 들어, 내구성(durability)이 높은 메모리 셀들로 구성된 메모리 셀 어레이의 디스에이블 넘버는 내구성이 낮은 메모리 셀들로 구성된 메모리 셀 어레이의 디스에이블 넘버에 비하여 크게 설정될 수 있다.
또한, 디스에이블 넘버는 읽기 동작이 수행된 횟수에 따라 변경되도록 설정될 수도 있다. 예를 들어, 소정 메모리 블록에 대한 디스에이블 넘버가 초기에 10으로 설정되었다고 가정하자. 이후, 해당 메모리 블록에 대한 비교 쓰기 동작 또는 읽기 동작이 반복적으로 수행되었다고 가정하자.
이 경우, 반복적인 비교 쓰기 동작 또는 읽기 동작의 수행으로 인하여, 해당 메모리 블록의 메모리 셀들은 열화 된다. 이는 해당 메모리 블록의 메모리 셀들이 읽기 디스터브에 더욱 쉽게 영향을 받을 수 있음을 의미한다. 이 경우, 예를 들어, 본 발명의 실시 예에 따른 메모리 시스템은 디스에이블 넘버를 '10'에서 '2'로 변경함으로써, 읽기 디스터브에 의한 데이터 손실을 방지할 수 있다.
이하의 도 17 내지 도 22에서는 디스에이블 넘버를 조정하는 본 발명의 다른 실시 예들이 좀더 자세히 설명된다.
도 17은 본 발명의 다른 실시 예에 따른 메모리 시스템(2000)을 보여주는 블록도이다. 도 17의 메모리 시스템(2000)은 도 1의 메모리 시스템(1000)과 유사하다. 따라서, 이하에서는 도 1의 메모리 시스템(1000)과의 차이점이 중점적으로 설명된다.
도 17의 메모리 시스템(2000)은 엑세스 횟수에 따라 디스에이블 넘버를 조정한다. 이를 위하여, 도 17의 메모리 시스템(2000)은 도 1의 메모리 시스템(1000)에 비하여 엑세스 카운팅 유닛(2500) 및 디스에이블 넘버 관리 유닛(2600)을 더 포함한다.
엑세스 카운팅 유닛(2500)은 컨트롤러(2100)로부터 저장 장치(2200)로의 엑세스 횟수를 카운팅한다. 설명의 편의상, 이하에서는, 엑세스 횟수가 비교 쓰기 동작이 수행된 횟수와 읽기 동작이 수행된 횟수의 합을 의미한다고 가정된다. 다만, 이는 예시적인 것이며, 엑세스 횟수는 읽기 동작이 수행된 횟수는 비교 쓰기 동작이 수행된 횟수(즉, 프리 읽기 동작이 수행된 횟수)이거나, 읽기 동작이 수행된 횟수를 의미할 수도 있다.
엑세스 카운팅 유닛(2500)은 컨트롤러(2100)로부터 저장 장치(2200)로의 엑세스 횟수를 카운팅하고, 이를 디스에이블 넘버 관리 유닛(2600)에 전송한다. 디스에이블 넘버 관리 유닛(2600)은 총 엑세스 횟수에 따라 조정된 디스에이블 넘버(adjusted disable number)를 저장 장치(2200)에 제공한다.
예를 들어, 엑세스 카운팅 유닛(2500)은 엑세스 동작이 수행된 블록에 상관없이 저장 장치(2200)에 대한 총 엑세스 횟수(total access number)를 카운팅하고, 이를 디스에이블 넘버 관리 유닛(2600)에 제공할 수 있다. 이 경우, 디스에이블 넘버 관리 유닛(2600)은 총 엑세스 횟수에 기초하여 디스에이블 넘버를 조정하고, 이를 저장 장치(2200)에 제공할 수 있다. 이는 이하의 도 18 및 도 19를 통하여, 좀더 자세히 설명될 것이다.
다른 예로, 엑세스 카운팅 유닛(2500)은 각각의 블록에 대한 엑세스 횟수를 카운팅하고, 이를 디스에이블 넘버 관리 유닛(2600)에 제공할 수 있다. 이 경우, 디스에이블 넘버 관리 유닛(2600)은 각각의 블록에 대한 디스에이블 넘버를 조정하고, 이를 저장 장치(2200)에 제공할 수 있다. 이는 이하의 도 20 및 도 21을 통하여, 좀더 자세히 설명될 것이다.
다른 예로, 엑세스 카운팅 유닛(2500)은 각각의 블록에 대한 엑세스 횟수를 카운팅하고, 복수의 블록들 중 워스트 블록(worst block)에 대한 엑세스 횟수를 디스에이블 넘버 관리 유닛(2600)에 제공할 수 있다. 이 경우, 디스에이블 넘버 관리 유닛(2600)은 디스에이블 넘버를 조정하고, 이를 저장 장치(2200)에 제공할 수 있다. 이는 이하의 도 20 및 도 22를 통하여, 좀더 자세히 설명될 것이다.
도 18은 도 17의 저장 장치(2200)의 일 실시 예를 보여주는 도면이고, 도 19는 도 18의 저장 장치(2200A)의 동작을 설명하기 위한 도면이다. 도 18의 저장 장치(2200A)는 도 2의 저장 장치(1200)와 유사하다. 따라서, 이하에서는 도 2의 저장 장치(1200)와의 차이점이 중점적으로 설명된다.
도 18의 저장 장치(2200A)는 도 2의 저장 장치(1200)에 비하여, 엑세스 카운팅 유닛(2280)을 더 포함한다. 엑세스 카운팅 유닛(2280)은 컨트롤러(2100, 도 17 참조)로부터 저장 장치(2200A)로의 엑세스 횟수를 카운팅하고, 이를 컨트롤러((2100)의 디스에이블 넘버 관리 유닛(2600, 도 17 참조)에 제공한다. 디스에이블 넘버 관리 유닛(2600)은 수신된 엑세스 횟수에 기초하여 디스에이블 넘버를 조정하고, 조정된 디스에이블 넘버를 저장 장치(2200A)에 제공한다.
예를 들어, 도 19를 참조하면, 엑세스 카운팅 유닛(2280)은 컨트롤러(2100)가 저장 장치(2200A)에 엑세스한 총 엑세스 횟수(total access number)를 카운팅한다. 엑세스 카운팅 유닛(2280)은, 예를 들면, 총 엑세스 횟수가 소정 횟수에 도달하면, 해당 정보를 컨트롤러(2100)에 제공한다.
예를 들어, 도 19에 도시된 바와 같이, 엑세스 카운팅 유닛(2280)은 총 엑세스 횟수가 '1000'에 도달했을 때, 해당 정보를 컨트롤러(2100)의 디스에이블 넘버 관리 유닛(2600)에 제공할 수 있다. 이 경우, 디스에이블 넘버 관리 유닛(2600)은 디스에이블 넘버를 조정하고, 조정된 디스에이블 넘버를 저장 장치(2200A)에 제공할 수 있다. 예를 들어, 디스에이블 넘버 관리 유닛(2600)은 디스에이블 넘버를 '10'에서 '2'로 조정할 수 있다.
도 20은 도 17의 저장 장치(2200)의 다른 실시 예를 보여주는 도면이고, 도 21 및 도 22는 도 20의 저장 장치(2200B)의 동작을 설명하기 위한 도면이다. 도 20의 저장 장치(2200B)는 도 2의 저장 장치(1200)와 유사하다. 따라서, 이하에서는 도 2의 저장 장치(1200)와의 차이점이 중점적으로 설명된다.
도 20의 저장 장치(2200B)는 도 2의 저장 장치(1200)에 비하여, 엑세스 카운팅 유닛(2280)을 더 포함한다. 엑세스 카운팅 유닛(2280)은, 예를 들어, 블록 카운터(2260)와 함께 하나의 모듈로 구현될 수 있다. 엑세스 카운팅 유닛(2280)은 각 블록에 대한 총 엑세스 넘버(total access number of each block)를 카운팅하고, 이를 컨트롤러((2100)의 디스에이블 넘버 관리 유닛(2600, 도 17 참조)에 제공한다.
예를 들어, 도 21을 참조하면, 엑세스 카운팅 유닛(2280)은 각 블록에 대한 총 엑세스 횟수를 카운팅한다. 엑세스 카운팅 유닛(2280)은, 예를 들면, 각 블록에 대한 엑세스 횟수가 기준 횟수에 도달하면, 해당 정보를 컨트롤러(2100)의 디스에이블 넘버 관리 유닛(2600)에 제공한다.
설명의 편의상, 도 21에서, 제 1 블록 내지 제 4 블록(BLK1~BLK4)에 설정된 기준 횟수가 각각 '100', '300', '500', '100'이라고 가정된다. 각 블록에 대한 기준 횟수는 각 블록의 물리적 특성에 따라 다양하게 설정될 수 있을 것이다.
이 경우, 도 21에 도시된 바와 같이, 엑세스 카운팅 유닛(2280)은 각 블록에 대한 총 엑세스 횟수가 기준 엑세스 횟수에 도달했을 때, 해당 정보를 컨트롤러(2100)의 디스에이블 넘버 관리 유닛(2600)에 제공할 것이다. 디스에이블 넘버 관리 유닛(2600)은 각 블록에 대한 디스에이블 넘버를 조정하고, 각 블록에 대한 조정된 디스에이블 넘버를 저장 장치(2200B)에 제공할 것이다.
다른 예로, 도 22를 참조하면, 기준 횟수는 모든 블록에 대하여 동일하게 설정될 수 있다. 이 경우, 예를 들어, 엑세스 카운팅 유닛(2280)은 각 블록에 대한 총 엑세스 횟수를 카운팅한다. 엑세스 카운팅 유닛(2280)은 복수의 블록들 중 기준 횟수에 도달한 블록(즉, 워스트 블록(worst block))이 존재하면, 해당 정보를 컨트롤러(2100)의 디스에이블 넘버 관리 유닛(2600)에 제공할 것이다. 디스에이블 넘버 관리 유닛(2600)은 전체 블록들에 대한 디스에이블 넘버를 조정하고, 조정된 디스에이블 넘버를 저장 장치(2200B)에 제공할 것이다.
도 17 내지 도 22에서 설명된 바와 같이, 본 발명의 실시 예에 따른 저장 장치(2200)는 저장 장치(2200) 또는 각 블록에 대한 엑세스 횟수에 기초하여, 디스에이블 넘버를 조정할 수 있다. 저장 장치(2200)는 쓰기 요청된 블록에 대한 엑세스 횟수와 조정된 디스에이블 넘버의 비교 결과에 기초하여, 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행할 수 있다. 따라서, 본 발명의 실시 예에 따른 저장 장치(2200)는 읽기 디스터브에 의한 데이터의 손실을 방지할 수 있다.
한편, 본 발명의 기술적 사상은 다양하게 적용 및 응용될 수 있다. 이하의 도 23 내지 도 26에서는 본 발명의 다양한 적용 예 및 응용 예들이 좀더 자세히 설명될 것이다.
도 23은 본 발명의 다른 실시 예에 따른 메모리 시스템(3000)을 보여주는 블록도이다. 도 23의 메모리 시스템(3000)은 도 1의 메모리 시스템(1000)과 유사하다. 따라서, 이하에서는, 도 1의 메모리 시스템(1000)과의 차이점이 중점적으로 설명될 것이다.
도 23을 참조하면, 메모리 시스템(3000)은 컨트롤러(3100) 및 저장 장치(3200)를 포함하며, 컨트롤러(3100)는 재기입 관리 유닛(3400)을 포함하고, 저장 장치(3200)는 데이터 비교 쓰기 유닛(3300)을 포함한다.
도 23의 메모리 시스템(3000)은 도 1의 메모리 시스템(1000)과 달리 재기입 관리 유닛(3400)이 컨트롤러(3100) 내에 위치한다. 즉, 재기입 관리 유닛(3400)은 컨트롤러(3100) 내에 위치하도록 구현될 수 있다.
구체적으로, 호스트로부터 쓰기 요청이 있는 경우, 재기입 관리 유닛(3400)은 컨트롤러(3100)로부터 저장 장치(3200)로의 엑세스 횟수를 확인할 것이다. 이 후, 재기입 관리 유닛(3400)은 엑세스 횟수에 따라 비교 쓰기 동작 또는 재기입 동작을 선택하고, 이를 저장 장치(3200)에 제공할 것이다. 비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행함으로써, 본 발명의 실시 예에 따른 메모리 시스템(3000)은 읽기 디스터브에 의한 데이터의 손실을 방지할 수 있다.
도 24는 본 발명의 다른 실시 예에 따른 메모리 시스템(4000)을 보여주는 블록도이다. 도 24의 메모리 시스템(4000)은 도 17 및 도 23의 메모리 시스템(2000, 3000)과 유사하다. 따라서, 이하에서는, 도 17 및 도 23의 메모리 시스템(2000, 3000)과의 차이점이 중점적으로 설명될 것이다.
도 24를 참조하면, 메모리 시스템(4000)은 컨트롤러(4100) 및 저장 장치(4200)를 포함하며, 컨트롤러(4100)는 디스에이블 넘버 관리 유닛(4400), 재기입 관리 유닛(4500), 엑세스 카운팅 유닛(4600)을 포함하고, 저장 장치(4200)는 데이터 비교 쓰기 유닛(4300)을 포함한다. 도 24의 메모리 시스템(4000)은 디스에이블 넘버 관리 유닛(4400), 재기입 관리 유닛(4500)이 컨트롤러(4100) 내에 위치한다.
예를 들어, 엑세스 카운팅 유닛(4600)은 저장 장치(4200)에 대한 총 엑세스 횟수 또는 각 블록에 대한 총 엑세스 횟수를 카운팅한다. 엑세스 카운팅 유닛(4600)은 카운팅 정보를 디스에이블 넘버 관리 유닛(4400) 및 재기입 관리 유닛(4500)에 제공한다.
디스에이블 넘버 관리 유닛(4400)은 디스에이블 넘버를 조정하고, 조정된 디스에이블 넘버를 재기입 관리 유닛(4500)에 제공한다. 재기입 관리 유닛(4500)은 조정된 디스에이블 넘버 및 카운팅 정보에 기초하여, 비교 쓰기 동작 또는 재기입 동작을 선택하고, 이에 대한 명령을 저장 장치(4200)에 제공한다.
비교 쓰기 동작 또는 재기입 동작을 선택적으로 수행함으로써, 본 발명의 실시 예에 따른 메모리 시스템(4000)은 읽기 디스터브에 의한 데이터의 손실을 방지할 수 있다.
도 25는 본 발명의 다른 실시 예에 따른 메모리 시스템(5000)을 보여주는 블록도이다. 도 1 내지 도 24를 참조하여 설명된 저장 장치들은, 설명의 편의상, 하나의 불휘발성 메모리 칩을 사용하는 것으로 가정되었다. 그러나, 이는 예시적인 것이며, 도 25에 도시된 바와 같이, 본 발명의 기술적 사상은 복수의 불휘발성 메모리 칩들을 사용하는 경우에도 적용될 수 있다.
도 25를 참조하면, 메모리 시스템(5000)은 컨트롤러(5100) 및 저장 장치(5200)를 포함하며, 저장 장치(5200)는 복수의 불휘발성 메모리 칩들을 포함한다. 복수의 불휘발성 메모리 칩들은 복수의 그룹들로 분할된다.
복수의 불휘발성 메모리 칩들의 각 그룹은 하나의 공통 채널을 통해 컨트롤러(5100)와 통신하도록 구현된다. 도 25에서, 복수의 불휘발성 메모리 칩들은 제 1 내지 제 n 채널들(CH1~CHn)을 통해 컨트롤러(400)와 통신하는 것으로 도시되어 있다. 각 불휘발성 메모리 칩은 도 1 내지 도 24를 참조하여 설명된 저장 장치들과 동일 또는 유사하게 구성될 수 있다. 그리고, 컨트롤러(5100)는 도 1 내지 도 14를 참조하여 설명된 컨트롤러들과 동일 또는 유사하게 구성될 수 있다.
도 26은 도 1 내지 도 25를 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템(6000)을 보여주는 블록도이다. 도 26을 참조하면, 컴퓨팅 시스템(6000)은 중앙 처리 장치(6600), 램(6700, RAM, Random Access Memory), 사용자 인터페이스(6800), 전원(6400), 그리고 메모리 시스템(6100)을 포함한다.
메모리 시스템(6100)은 시스템 버스(6500)를 통해, 중앙처리장치(6600), 램(6700), 사용자 인터페이스(6800), 그리고 전원(6400)에 전기적으로 연결된다. 사용자 인터페이스(6800)를 통해 제공되거나, 중앙 처리 장치(6600)에 의해서 처리된 데이터는 메모리 시스템(6100)에 저장된다. 메모리 시스템(6100)은 컨트롤러(6200) 및 불휘발성 메모리 장치(6300)를 포함한다.
예시적으로, 컴퓨팅 시스템(6000)은 도 1 내지 도 25를 참조하여 설명된 메모리 시스템들(1000, 2000, 3000, 4000, 5000)을 모두 포함하도록 구성될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
ADDR: 어드레스
CMD: 커맨드
Data: 데이터
BLK_ADDR: 블록 어드레스
W_cmd: 쓰기 커맨드
R_cmd: 읽기 커맨드
WL: 워드 라인
BL: 비트 라인
BLK: 메모리 블록

Claims (10)

  1. 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 연결되며, 비교 쓰기 동작을 지원하는 데이터 비교 쓰기 유닛; 및
    상기 메모리 셀 어레이에 대한 엑세스 횟수와 디스에이블 넘버의 비교 결과에 따라, 상기 비교 쓰기 동작의 수행 여부를 결정하는 컨트롤 로직을 포함하는 불휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 엑세스 횟수가 상기 디스에이블 넘버보다 작은 경우에, 상기 컨트롤 로직은 상기 비교 쓰기 동작을 수행하는 불휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 비교 쓰기 동작이 수행되는 경우에, 상기 데이터 비교 쓰기 유닛은 상기 복수의 메모리 셀들 중 상기 쓰기 데이터에 대응하는 메모리 셀에 저장된 데이터를 독출하고, 상기 독출된 데이터를 상기 쓰기 데이터와 비교하는 불휘발성 메모리 장치.
  4. 제 3 항에 있어서,
    상기 데이터 비교 쓰기 유닛은 상기 쓰기 데이터와 상기 독출된 데이터가 일치하지 않을 때 상기 쓰기 데이터를 상기 쓰기 데이터에 대응하는 메모리 셀에 기입하고, 상기 쓰기 데이터와 상기 독출된 데이터가 일치할 때 상기 쓰기 데이터를 상기 쓰기 데이터에 대응하는 메모리 셀에 기입하지 않는 불휘발성 메모리 장치.
  5. 제 1 항에 있어서,
    상기 엑세스 횟수가 상기 디스에이블 넘버보다 큰 경우에, 상기 컨트롤 로직은 재기입 동작을 수행하는 불휘발성 메모리 장치.
  6. 제 5 항에 있어서,
    상기 재기입 동작이 수행되는 경우에, 상기 컨트롤 로직은 상기 복수의 메모리 셀들 중 상기 쓰기 데이터에 대응하는 메모리 셀에 상기 쓰기 데이터를 덮어쓰는 불휘발성 메모리 장치.
  7. 제 6 항에 있어서,
    상기 컨트롤 로직은 상기 메모리 셀 어레이에 대한 쓰기 단위와 상기 메모리 셀 어레이에 대한 엑세스 단위를 비교하고, 상기 쓰기 단위가 상기 엑세스 단위보다 작은 경우에 상기 복수의 메모리 셀들 중 소정 메모리 셀들에 저장된 데이터를 독출하고, 독출된 데이터를 상기 소정 메모리 셀들에 덮어쓰는 불휘발성 메모리 장치.
  8. 제 7 항에 있어서,
    상기 소정의 메모리 셀들은 상기 쓰기 데이터와 동일한 메모리 블록에 대응하는 불휘발성 메모리 장치.
  9. 불휘발성 메모리 장치의 쓰기 방법에 있어서:
    상기 불휘발성 메모리 장치로 쓰기 명령 및 쓰기 데이터가 수신되는 단계;
    상기 쓰기 명령에 응답하여, 상기 쓰기 데이터에 대응하는 메모리 블록의 엑세스 정보를 확인하는 단계; 및
    상기 엑세스 정보에 기초하여, 비교 쓰기 동작 및 재기입 동작 중 어느 하나의 동작을 선택하는 단계를 포함하는 불휘발성 메모리 장치의 쓰기 방법.
  10. 제 9 항에 있어서,
    상기 쓰기 데이터에 대응하는 상기 메모리 블록에 대한 엑세스 횟수가 디스에이블 넘버보다 작은 경우, 상기 비교 쓰기 동작을 수행하고, 상기 쓰기 데이터에 대응하는 상기 메모리 블록에 대한 엑세스 횟수가 디스에이블 넘버보다 큰 경우, 상기 재기입 동작을 수행하는 불휘발성 메모리 장치의 쓰기 방법.
KR1020120075592A 2012-07-11 2012-07-11 불휘발성 메모리 장치 및 그것의 쓰기 방법 KR20140008702A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120075592A KR20140008702A (ko) 2012-07-11 2012-07-11 불휘발성 메모리 장치 및 그것의 쓰기 방법
US13/939,324 US20140016397A1 (en) 2012-07-11 2013-07-11 Nonvolatile memory device and write method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120075592A KR20140008702A (ko) 2012-07-11 2012-07-11 불휘발성 메모리 장치 및 그것의 쓰기 방법

Publications (1)

Publication Number Publication Date
KR20140008702A true KR20140008702A (ko) 2014-01-22

Family

ID=49913874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120075592A KR20140008702A (ko) 2012-07-11 2012-07-11 불휘발성 메모리 장치 및 그것의 쓰기 방법

Country Status (2)

Country Link
US (1) US20140016397A1 (ko)
KR (1) KR20140008702A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160097049A (ko) * 2015-02-06 2016-08-17 삼성전자주식회사 메모리 장치, 그것의 동작 및 제어 방법
KR20170097010A (ko) * 2014-12-22 2017-08-25 인텔 코포레이션 스핀 전달 토크 메모리에서의 기입 동작들
US10872665B2 (en) 2018-12-11 2020-12-22 Samsung Electronics Co., Ltd. Memory device performing data comparison write and memory system including the same

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102069274B1 (ko) * 2014-02-05 2020-01-22 삼성전자주식회사 메모리 제어 방법
US9679627B2 (en) * 2014-09-30 2017-06-13 Everspin Technologies, Inc. Write verify programming of a memory device
EP3223167B1 (en) * 2014-12-16 2018-11-21 Huawei Technologies Co., Ltd. Storage space management method and device
US20160188292A1 (en) * 2014-12-30 2016-06-30 Voicebox Technologies Corporation System and method for interpreting natural language inputs based on storage of the inputs
KR102275710B1 (ko) 2015-02-02 2021-07-09 삼성전자주식회사 오버-라이트가 가능한 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
US9666257B2 (en) 2015-04-24 2017-05-30 Intel Corporation Bitcell state retention
KR102636091B1 (ko) * 2016-10-14 2024-02-14 에스케이하이닉스 주식회사 저항성 메모리 장치, 이를 위한 선택적 쓰기 장치 및 동작 방법
KR102553264B1 (ko) 2018-09-03 2023-07-07 삼성전자 주식회사 메모리 컨트롤러 및 이의 동작 방법
US11456033B2 (en) * 2018-09-12 2022-09-27 Micron Technology, Inc. Dedicated commands for memory operations
US11200113B2 (en) 2020-01-14 2021-12-14 Intel Corporation Auto-increment write count for nonvolatile memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539050B2 (en) * 2006-11-22 2009-05-26 Qimonda North America Corp. Resistive memory including refresh operation
EP2077559B1 (en) * 2007-12-27 2012-11-07 Hagiwara Solutions Co., Ltd. Refresh method of a flash memory
KR101411499B1 (ko) * 2008-05-19 2014-07-01 삼성전자주식회사 가변 저항 메모리 장치 및 그것의 관리 방법
US7818525B1 (en) * 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
JP5426581B2 (ja) * 2011-01-14 2014-02-26 株式会社東芝 半導体記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170097010A (ko) * 2014-12-22 2017-08-25 인텔 코포레이션 스핀 전달 토크 메모리에서의 기입 동작들
KR20160097049A (ko) * 2015-02-06 2016-08-17 삼성전자주식회사 메모리 장치, 그것의 동작 및 제어 방법
US10872665B2 (en) 2018-12-11 2020-12-22 Samsung Electronics Co., Ltd. Memory device performing data comparison write and memory system including the same

Also Published As

Publication number Publication date
US20140016397A1 (en) 2014-01-16

Similar Documents

Publication Publication Date Title
KR20140008702A (ko) 불휘발성 메모리 장치 및 그것의 쓰기 방법
KR101997079B1 (ko) 가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법
TWI690926B (zh) 記憶體裝置以及包含該裝置的記憶體系統
US9147500B2 (en) Semiconductor memory device having resistive memory cells and method of testing the same
US20160147599A1 (en) Memory Systems that Perform Rewrites of Resistive Memory Elements and Rewrite Methods for Memory Systems Including Resistive Memory Elements
KR102265464B1 (ko) 분리 센싱 타입의 센싱 회로를 가지는 반도체 메모리 장치 및 그에 따른 데이터 센싱 방법
US9036406B2 (en) Magneto-resistive memory device including source line voltage generator
US10224086B2 (en) Memory device with temperature-dependent reading of a reference cell
KR101987426B1 (ko) 불휘발성 메모리 모듈, 불휘발성 메모리 모듈을 포함하는 메모리 시스템, 그리고 불휘발성 메모리 모듈의 제어 방법
CN109712655B (zh) 具有电压相关的面内磁各向异性的mram
US20140056052A1 (en) Resistive memory device performing selective refresh and method of refreshing resistive memory device
US9311981B2 (en) Semiconductor memory device having variable resistance memory and operating method
US11139012B2 (en) Resistive memory device having read currents for a memory cell and a reference cell in opposite directions
KR20190104865A (ko) 자기접합 및 하이브리드 캡핑층을 갖는 자기장치, 이를 이용하는 자기메모리 및 자기장치의 제공방법
TW201834283A (zh) 磁性記憶裝置
JP6829172B2 (ja) 半導体記憶装置
KR20170133072A (ko) 저항성 메모리 장치 및 이를 포함하는 집적 회로
US20140339660A1 (en) Magnetoresistive element and memory device including the same
US20200273510A1 (en) Perpendicular spin transfer torque mram memory cell
US11515357B2 (en) Magnetic junction memory device and reading method thereof
US20210027823A1 (en) Magnetic junction memory device and writing method thereof
KR102666047B1 (ko) 비휘발성 메모리 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid