KR20150144177A - 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법 - Google Patents

저항성 메모리 장치 및 저항성 메모리 장치의 동작방법 Download PDF

Info

Publication number
KR20150144177A
KR20150144177A KR1020140072973A KR20140072973A KR20150144177A KR 20150144177 A KR20150144177 A KR 20150144177A KR 1020140072973 A KR1020140072973 A KR 1020140072973A KR 20140072973 A KR20140072973 A KR 20140072973A KR 20150144177 A KR20150144177 A KR 20150144177A
Authority
KR
South Korea
Prior art keywords
recovery
memory
memory cell
data
cell array
Prior art date
Application number
KR1020140072973A
Other languages
English (en)
Other versions
KR102142590B1 (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 KR1020140072973A priority Critical patent/KR102142590B1/ko
Priority to US14/619,992 priority patent/US9646687B2/en
Publication of KR20150144177A publication Critical patent/KR20150144177A/ko
Application granted granted Critical
Publication of KR102142590B1 publication Critical patent/KR102142590B1/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/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • 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/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • 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/0092Write characterized by the shape, e.g. form, length, amplitude of the write pulse
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/77Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used

Abstract

저항성 메모리 장치 및 저항성 메모리 장치의 동작방법이 개시된다. 본 발명의 기술적 사상에 따른 저항성 메모리 장치의 동작방법에 있어서, 상기 저항성 메모리 장치는 메모리 셀 어레이를 포함하고, 기록 싸이클을 검출하는 단계와, 검출된 기록 싸이클을 기 설정된 제1 기준값에 도달했는지에 따라 리커버리 수행 여부를 판단하는 단계 및 상기 판단 결과에 기반하여 상기 메모리 셀 어레이의 적어도 일부의 메모리 셀에 대한 리커버리 동작을 수행하는 단계를 구비하는 것을 특징으로 한다.

Description

저항성 메모리 장치 및 저항성 메모리 장치의 동작방법{Resistive Memory Device and Operating Method thereof}
본 발명의 기술적 사상은 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법에 관한 것으로서, 더욱 상세하게는, 효율적인 리커버리 동작을 수행하는 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법에 관한 것이다.
메모리 장치의 고용량화 및 저전력화의 요구에 따라 비휘발성인 동시에 리프레쉬가 필요 없는 차세대 메모리 장치들에 대한 연구가 진행되고 있다. 이러한 차세대 메모리 장치는 DRAM(Dynamic Random Access Memory)의 고집적성, 플래쉬 메모리의 비휘발성, SRAM(Static RAM)의 고속성 등을 갖출 것이 요구된다. 차세대 메모리 장치로서, PRAM(Phase change RAM), NFGM(Nano Floating Gate Memory), PoRAM(Polymer RAM), MRAM(Magnetic RAM), FeRAM(Ferroelectric RAM), RRAM(Resistive RAM) 등이 상술한 요구 사항에 부응하는 차세대 메모리 장치로 거론되고 있다.
본 발명의 기술적 사상이 해결하려는 과제는, 데이터 신뢰성을 향상한 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법을 제공하는 데에 있다.
본 발명의 기술적 사상에 따른 저항성 메모리 장치의 동작방법에 있어서, 상기 저항성 메모리 장치는 메모리 셀 어레이를 포함하고, 기록 싸이클을 검출하는 단계와, 검출된 기록 싸이클을 기 설정된 제1 기준값에 도달했는지에 따라 리커버리 수행 여부를 판단하는 단계 및 상기 판단 결과에 기반하여 상기 메모리 셀 어레이의 적어도 일부의 메모리 셀에 대한 리커버리 동작을 수행하는 단계를 구비하는 것을 특징으로 한다.
일 실시예로서, 상기 저항성 메모리 장치의 동작방법은, 기록 커맨드가 수신될 때마다 상기 기록 싸이클을 나타내는 카운팅 값을 증가시키는 단계 및 상기 리커버리 동작이 수행됨에 따라 상기 카운팅 값을 리셋시키는 단계를 더 구비하고, 상기 카운팅 값이 상기 제1 기준값에 도달할 때 마다 상기 리커버리 동작이 수행되는 것을 특징으로 한다.
일 실시예로서, 상기 메모리 셀 어레이는 다수 개의 셀 영역들을 포함하고, 수신된 어드레스의 적어도 일부의 비트를 확인한 결과에 따라, 상기 셀 영역들 각각에 대해 별도로 리커버리 동작이 수행되는 것을 특징으로 한다.
일 실시예로서, 상기 어드레스에 의해 지정되는 메모리 셀이 포함되는 셀 영역의 기록 싸이클이 상기 제1 기준값에 도달할 때, 상기 셀 영역에 대하여 상기 리커버리 동작이 수행되는 것을 특징으로 한다.
일 실시예로서, 상기 어드레스에 의해 지정되는 메모리 셀의 기록 싸이클이 상기 제1 기준값에 도달할 때, 상기 메모리 셀이 속하는 셀 영역에 대하여 상기 리커버리 동작이 수행되는 것을 특징으로 한다.
일 실시예로서, 상기 리커버리 동작을 수행하는 단계는, 상기 메모리 셀 어레이의 적어도 일부의 메모리 셀로부터 독출된 데이터를 일시 저장하는 단계와, 상기 적어도 일부의 메모리 셀들에 대해 리커버리 펄스를 인가하는 단계 및 상기 일시 저장된 데이터를 상기 적어도 일부의 메모리 셀들에 기록하는 단계를 포함하는 것을 특징으로 한다.
일 실시예로서, 상기 저항성 메모리 장치의 동작방법은, 기록 커맨드에 대응하는 검증 동작을 위하여 데이터를 독출하는 단계와, 독출된 데이터에 대한 에러 검출을 수행하는 단계 및 에러 검출 결과에 기반하여 상기 리커버리 수행 여부를 판단하는 단계를 더 구비하는 것을 특징으로 한다.
일 실시예로서, 독출된 데이터에 대해 발생된 에러 개수가 기 설정된 제2 기준값을 초과할 때, 상기 리커버리 동작이 수행되는 것을 특징으로 한다.
일 실시예로서, 제1 및 제2 리커버리 동작이 일련하게 수행되고, 상기 제2 리커버리 동작에 이용되는 제2 리커버리 펄스는, 상기 제1 리커버리 동작에 이용되는 제1 리커버리 펄스와 펄스 폭 및 펄스 레벨 중 적어도 하나가 다른 값을 갖는 것을 특징으로 한다.
본 발명의 다른 기술적 사상에 따른 저항성 메모리 장치의 동작방법은, 제1 커맨드에 응답하여, 메모리 셀 어레이에 저장된 데이터를 독출하는 단계와, 독출된 데이터에 대한 에러 검출 결과에 따라 리커버리 수행 여부를 판단하는 단계 및 상기 판단 결과에 기반하여 상기 메모리 셀 어레이의 적어도 일부의 메모리 셀에 대한 리커버리 동작을 수행하는 단계를 구비하는 것을 특징으로 한다.
본 발명의 기술적 사상에 따른 저항성 메모리 장치는, 저항성 메모리 셀들을 포함하는 메모리 셀 어레이 및 상기 메모리 셀 어레이에 대한 기록, 독출 및 리커버리 동작을 제어하고, 기록 싸이클 검출 결과 및 독출 데이터에 대한 에러 검출 결과 중 적어도 하나에 기반하여, 상기 메모리 셀 어레이에 대한 리커버리 수행 여부를 판단하는 제어 로직을 구비하는 것을 특징으로 한다.
본 발명의 다른 기술적 사상에 따른 저항성 메모리 장치는, 저항성 메모리 셀들을 포함하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 대한 기록 및 독출 동작을 제어하는 제어 로직 및 기록 커맨드 수신에 따른 기록 싸이클 검출 결과 및 독출 데이터에 대한 에러 검출 결과 중 적어도 하나에 기반하여, 상기 메모리 셀 어레이에 대한 리커버리 수행 여부를 판단하는 리커버리 제어부를 구비하는 것을 특징으로 한다.
본 발명의 기술적 사상에 따른 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법은, 적절한 시기에 리커버리 동작이 수행되도록 함으로써 리셋 웨어 아웃 현상이 발생되는 것을 미연에 방지하므로 데이터의 신뢰성을 향상할 수 있는 효과가 있다.
또한, 본 발명의 기술적 사상에 따른 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법은, 개선된 리커버리 펄스를 적용함에 의해 리커버리 동작이 수행되므로, 리커버리 주기를 증가시킴으로써 파워 소모를 감소할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 저항성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 장치의 일 구현 예를 나타내는 블록도이다.
도 3은 도 2의 메모리 셀 어레이의 일 구현예를 나타내는 회로도이다.
도 4a 내지 도 4c는 도 3의 메모리 셀의 변형 예들을 나타내는 회로도들이다.
도 5는 도 3의 메모리 셀의 저항 레벨 분포를 나타내는 그래프이다.
도 6은 도 2의 메모리 장치의 다른 구현 예를 나타내는 블록도이다.
도 7a,b는 본 발명의 일 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 8은 본 발명의 실시예에 따라 리커버리 동작이 수행되는 타이밍을 나타내는 그래프이다.
도 9는 도 7b의 싸이클 검출부의 일 구현 예를 나타내는 블록도이다.
도 10a,b는 본 발명의 실시예에 따라 셀 영역 별로 리커버리가 수행되는 예를 나타내는 도면이다.
도 11은 도 7b의 에러 검출부의 일 구현 예를 나타내는 블록도이다.
도 12는 도 7a의 펄스 생성부의 일 구현 예를 나타내는 블록도이다.
도 13은 본 발명의 일 실시예에 따른 ISPP 리커버리에 이용되는 리커버리 펄스의 일 예를 나타내는 그래프이다.
도 14는 본 발명의 일 실시예에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
도 15는 본 발명의 다른 실시예에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
도 16은 본 발명의 또 다른 실시예에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
도 17은 본 발명의 다른 실시예에 따른 메모리 시스템 및 메모리 장치를 개략적으로 나타내는 블록도이다.
도 18은 본 발명의 다른 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 19a,b는 도 1의 메모리 셀 어레이의 일 구현예를 나타내는 구조도 및 회로도이다.
도 20은 본 발명의 실시예에 따른 저항성 메모리 시스템을 메모리 카드 시스템에 적용한 예를 나타내는 블록도이다.
도 21은 본 발명의 일 실시예에 따른 저항성 메모리 모듈을 나타내는 도면이다.
도 22는 본 발명의 실시예들에 따른 저항성 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 저항성 메모리 장치를 포함하는 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 저항성 메모리 장치(100, 이하 메모리 장치로 지칭함) 및 메모리 콘트롤러(200)를 포함할 수 있다. 메모리 장치(100)는 메모리 셀 어레이(110), 기록/독출 회로(120) 및 제어 로직(130)을 포함할 수 있다. 메모리 셀 어레이(110)가 저항성 메모리 셀들을 포함함에 따라, 메모리 시스템(10)은 저항성 메모리 시스템으로 지칭될 수 있다.
메모리 콘트롤러(200)는 호스트(Host)로부터의 기록/독출 요청에 응답하여 메모리 장치(100)에 저장된 데이터를 독출하거나, 또는 메모리 장치(100)에 데이터를 기록하도록 메모리 장치(100)를 제어할 수 있다. 구체적으로, 메모리 콘트롤러(200)는 메모리 장치(100)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(100)에 대한 프로그램(program)(또는 기록), 독출(read) 및 소거(erase) 동작을 제어할 수 있다. 또한, 기록될 데이터(DATA)와 독출된 데이터(DATA)가 메모리 콘트롤러(200)와 메모리 장치(100) 사이에서 송수신될 수 있다.
도시되지는 않았으나, 메모리 콘트롤러(200)는 램(RAM), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface) 및 메모리 인터페이스(memory interface)를 포함할 수 있다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 수 있다. 프로세싱 유닛은 메모리 콘트롤러(200)의 동작을 제어할 수 있다. 호스트 인터페이스는 호스트(Host) 및 메모리 콘트롤러(200) 사이의 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 수 있다. 예를 들어, 메모리 콘트롤러(200)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 외부(HOST)와 통신하도록 구성될 수 있다.
메모리 셀 어레이(110)는 복수의 제1 신호 라인들과 복수의 제2 신호 라인들이 교차하는 영역들에 각각 배치되는 복수의 메모리 셀들(미도시)을 포함할 수 있다. 일 실시예에서, 복수의 제1 신호 라인들은 복수의 비트 라인들일 수 있고, 복수의 제2 신호 라인들은 복수의 워드 라인들일 수 있다. 다른 실시예에서, 복수의 제1 신호 라인들은 복수의 워드 라인들일 수 있고, 복수의 제2 신호 라인들은 복수의 비트 라인들일 수 있다.
본 실시예에서, 복수의 메모리 셀들 각각은 하나의 비트를 저장하는 싱글레벨 셀(SLC, single level cell)일 수 있으며, 또는 적어도 2 비트 이상의 데이터를 저장할 수 있는 멀티레벨 셀(MLC, multi level cell)일 수 있다. 또는, 메모리 셀 어레이(110)는 싱글레벨 셀과 멀티레벨 셀을 함께 포함하여도 무방하다. 하나의 메모리 셀에 하나의 비트의 데이터가 기록되는 경우, 메모리 셀들은 기록된 데이터에 따라 두 개의 저항 레벨 분포를 가질 수 있다. 또는, 하나의 메모리 셀에 2 개의 비트의 데이터가 기록되는 경우, 메모리 셀들은 기록된 데이터에 따라 네 개의 저항 레벨 분포를 가질 수 있다. 또 다른 실시예에서, 하나의 메모리 셀에 3 비트의 데이터가 저장되는 트리플 레벨 셀(TLC, triple level cell)의 경우, 메모리 셀들은 기록된 데이터에 따라 여덟 개의 저항 레벨 분포를 가질 수 있다 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 메모리 셀들은 4 비트 이상의 데이터를 각각 저장할 수 있는 메모리 셀들을 포함할 수 있다.
또한, 일 실시예에서, 메모리 셀 어레이(110)는 2차원 수평 구조의 메모리 셀들을 포함할 수 있다. 다른 실시예에서, 메모리 셀 어레이(110)는 3차원 수직 구조의 메모리 셀들을 포함할 수 있다.
한편, 메모리 셀 어레이(110)는 가변 저항을 갖는 가변 저항 소자(미도시)를 포함하는 저항형 메모리 셀들 또는 저항성 메모리 셀들을 포함할 수 있다. 예를 들어, 가변 저항 소자가 상변화(phase change) 물질(GST, Ge-Sb-Te)로서 온도에 따라 저항이 변화하는 경우에는 저항성 메모리 장치는 PRAM이 될 수 있다. 다른 예를 들어, 가변 저항 소자가 상부 전극, 하부 전극 및 그 사이에 있는 전이금속 산화물(complex metal oxide)로 형성된 경우에는 저항성 메모리 장치는 RRAM이 될 수 있다. 또 다른 예를 들어, 가변 저항 소자가 자성체의 상부 전극, 자성체의 하부 전극 및 그 사이에 있는 유전체로 형성된 경우에는 저항성 메모리 장치는 MRAM이 될 수 있다.
기록/독출 회로(120)는 메모리 셀들에 대한 기록 및 독출 동작을 수행한다. 기록/독출 회로(120)는 다수의 비트 라인들을 통해 메모리 셀들에 연결되며, 메모리 셀들에 데이터를 기록하기 위한 기록 드라이버와, 메모리 셀들로부터 독출된 데이터를 증폭하는 센스 앰프를 포함할 수 있다.
제어로직(130)은 메모리 장치(100)의 전반적인 동작을 제어할 수 있으며, 또한 기록 및 독출 등의 메모리 동작을 수행하기 위하여 기록/독출 회로(120)를 제어할 수 있다. 또한, 제어로직(130)은 리셋 웨어 아웃(Reset wear out) 현상에 의해 데이터의 신뢰도가 낮아지는 것을 방지하기 위하여, 메모리 셀들에 대한 리커버리 동작을 제어할 수 있다. 리셋 웨어 아웃(Reset wear out) 및 리커버리 동작에 대하여 설명하면 다음과 같다.
RRAM 등의 저항성 메모리의 경우, 반복적으로 기록 동작을 수행함으로써 기록 싸이클이 증가함에 따라 리셋 웨어 아웃(Reset wear out) 현상이 발생될 수 있다. 리셋 웨어 아웃(Reset wear out) 현상은, 메모리 셀을 리셋 상태로 변동하기 위한 리셋 기록 동작시에 필라멘트가 끊기지 않아 고저항 상태로 변동되지 못하는 현상을 말한다. 리셋 웨어 아웃(Reset wear out) 현상은 리셋 기록 펄스보다 강한 리커버리 펄스를 인가함으로써 개선될 수 있다.
본 발명의 일 실시예에 따르면, 제어로직(130)은 메모리 장치(100)의 리커버리 동작을 제어할 수 있으며, 예컨대 리커버리 동작의 수행 타이밍 및 리커버리 펄스의 레벨 및/또는 폭을 적절히 조절함으로써 효율적인 리커버리 동작이 수행되도록 한다. 리커버리 동작의 수행 타이밍을 제어함에 있어서, 제어로직(130)은 메모리 장치(100)의 기록 및 독출 등의 메모리 동작을 모니터링하고, 메모리 장치(100)의 메모리 셀 어레이(110)에 대한 리커버리 수행이 필요한지 여부를 판단할 수 있다. 다른 실시예로서, 메모리 셀 어레이(110)는 다수 개의 셀 영역들을 포함할 수 있으며, 제어로직(130)은 메모리 셀 어레이(110)의 셀 영역 단위로서 리커버리를 수행할 수 있다. 이 경우, 셀 영역 단위 별로 메모리 동작을 모니터링함으로써, 셀 영역 별로 리커버리 수행 필요성을 판단할 수 있다.
일 실시예로서, 제어로직(130)은 메모리 컨트롤러(200)로부터 기록 커맨드가 수신되는 경우, 메모리 셀 어레이(110)에 대한 기록 싸이클을 검출하고, 그 검출 결과에 기반하여 리커버리 수행 여부를 판단할 수 있다. 예컨대, 메모리 셀 어레이(110)에 대한 기록 싸이클이 특정 값(예컨대, 제1 기준값)을 가질 때마다, 제어로직(130)은 메모리 셀 어레이(110)에 대해 리커버리 동작이 수행되도록 제어할 수 있다. 만약 A 회의 기록 동작이 수행될 때마다 리커버리 동작이 수행되는 경우, 제어로직(130)은 기록 커맨드에 응답하여 카운팅 동작 등을 수행함에 의하여 기록 싸이클이 소정의 값에 도달하였는지를 판단하고, 그 판단 결과에 따라 리커버리 동작을 수행할 수 있다. 리커버리 동작이 수행되는 경우 카운팅 값이 리셋됨에 따라, 기록 싸이클 값이 처음부터 카운팅될 수 있다.
리커버리 동작을 수행하기 위하여, 제어로직(130)은 리커버리 펄스가 생성되도록 제어 동작을 수행할 수 있다. 예컨대, 메모리 장치(100)는 기록, 독출 및 리커버리 동작 등을 위한 다양한 펄스들을 발생하는 펄스 발생부(미도시)를 구비할 수 있다. 상기 펄스 발생부(미도시)는 제어로직(130) 내부에 구비되어도 무방하며, 또는 제어로직(130) 외부에 구비되어도 무방하다. 상기 생성된 리커버리 펄스를 이용하여, 메모리 셀 어레이(110)의 적어도 일부의 메모리 셀에 대한 리커버리 동작이 수행된다. 전술한 바와 같이, 메모리 셀 어레이(110)에 구비되는 전체 셀들에 리커버리 동작이 수행될 수 있으며, 또는 메모리 셀 어레이(110)의 셀 영역 단위별로 리커버리 동작이 수행되어도 무방하다.
다른 실시예로서, 제어로직(130)은 메모리 셀 어레이(110)의 적어도 일부의 메모리 셀들로부터 독출된 데이터에 대한 에러 검출 동작을 수행하고, 에러 검출 결과에 기반하여 리커버리 수행 여부를 판단할 수 있다. 리커버리 수행 여부는 다양하게 판단될 수 있으며, 예컨대 일정 단위의 메모리 셀들(예컨대, 에러 검출 및 정정 단위의 메모리 셀들)로부터 데이터를 독출하고, 독출 데이터에 대해 발생된 에러 개수가 기 설정된 값(예컨대, 제2 기준값)을 초과할 때(또는, 이상일 때) 리커버리 동작이 수행되도록 제어될 수 있다.
독출 데이터에 대한 에러 검출 동작의 일 예로서, 메모리 셀들에 대해 리셋 페일 비트가 발생되었는지가 검출될 수 있다. 예컨대, 저저항을 갖는 메모리 셀들에 대해 리셋 기록 동작을 수행하고, 리셋 기록 동작에 따라 해당 메모리 셀이 고저항 상태로 변동되었는지가 검출될 수 있다. 독출 데이터로부터 리셋 페일 비트의 개수가 검출되고, 검출 결과와 제2 기준값을 서로 비교함에 의하여 리커버리 수행 여부가 판단될 수 있다.
한편, 리커버리 수행 단위로서 메모리 셀 어레이(110)의 적어도 일부의 메모리 셀에 대해 리커버리 동작이 수행될 수 있다. 예컨대, 메모리 셀 어레이(110)는 다수의 셀 영역들을 포함하고, 각각의 셀 영역은 다수 개의 에러 검출/정정 단위의 메모리 셀들을 포함할 수 있다. 하나의 에러 검출/정정 단위의 메모리 셀들로부터 독출된 데이터로부터 리커버리 수행 여부가 판단되는 경우, 해당 에러 검출/정정 단위의 메모리 셀들에 대해 리커버리 동작이 수행되도록 제어될 수 있다. 또는, 다른 실시예로서, 해당 에러 검출/정정 단위의 메모리 셀들이 포함되는 셀 영역에 대해 리커버리 동작이 수행되도록 제어될 수 있다.
한편, 독출된 데이터에 대한 에러 검출 결과에 기반하여 리커버리 수행 여부가 판단되는 경우, 메모리 컨트롤러(200)로부터의 독출 커맨드에 응답하여 독출된 데이터가 이용될 수 있다. 또는, 메모리 컨트롤러(200)로부터의 기록 커맨드에 응답하여 메모리 셀 어레이(110)의 적어도 일부의 메모리 셀에 대한 기록 동작이 수행되고, 기록 검증 동작을 위하여 상기 적어도 일부의 메모리 셀로부터 독출된 데이터가 리커버리 수행 여부 판단에 이용될 수 있다. 다시 말하면, 메모리 컨트롤러(200)로부터의 기록 커맨드 및 독출 커맨드 각각에 의한 메모리 동작에 기반하여 리커버리 수행 여부가 판단되어도 무방하다.
한편, 메모리 컨트롤러(200) 및 메모리 장치(100)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 메모리 컨트롤러(200) 및 메모리 장치(100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들어, 메모리 컨트롤러(200) 및 메모리 장치(100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS) 등을 구성할 수 있다. 다른 예를 들면, 메모리 컨트롤러(200) 및 메모리 장치(100)는 하나의 반도체 장치로 집적되어 SSD(Solid State Disk/Drive)를 구성할 수 있다.
상기와 같이 구성될 수 있는 저항성 메모리 시스템(10)에 구비되는 메모리 장치(100)의 구체적인 동작 예를 나타내면 다음과 같다. 도 2는 도 1의 메모리 장치의 일 구현 예를 나타내는 블록도이다.
도 2를 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 기록/독출 회로(120) 및 제어로직(130)을 포함할 수 있다. 또한, 메모리 장치(100)는 로우 디코더(140) 및 칼럼 디코더(150)를 더 포함할 수 있다. 또한, 기록/독출 회로(120)는 센스 앰프(121) 및 기록 드라이버(122)를 포함할 수 있으며, 제어로직(130)은 펄스 생성부(131) 및 리커버리 제어부(132)를 포함할 수 있다. 전술한 바와 같이, 펄스 생성부(131) 및 리커버리 제어부(132) 중 적어도 하나는 제어로직(130)의 외부에 구비되어도 무방하다. 즉, 제어로직(130)은 메모리 장치(100)의 전반적인 동작을 제어하기 위한 각종 하드웨어적 및 소프트웨어적인 수단을 구비하는 것으로 설명될 수 있으며, 제어로직(130)의 실제 구현 예 및 기능 범위가 본 발명의 도면에 도시된 것으로 한정될 필요는 없다.
도 2에 도시된 메모리 장치(100)의 구성 및 일 동작 예는 다음과 같다.
메모리 셀 어레이(110)는 복수의 제1 신호 라인들 및 복수의 제2 신호 라인들에 연결될 수 있다. 또한, 메모리 셀 어레이(110)는 복수의 제1 신호 라인들과 복수의 제2 신호 라인들이 교차하는 영역들에 각각 배치되는 복수의 메모리 셀들을 포함할 수 있다. 이하에서는, 복수의 제1 신호 라인들은 비트 라인들(BL)이고, 복수의 제2 신호 라인들은 워드 라인들(WL)인 경우를 예로 하여 본 발명의 실시예들을 상술하기로 한다.
억세스될 메모리 셀을 지시하기 위한 어드레스(ADDR)가 수신될 수 있으며, 어드레스(ADDR)는 메모리 셀 어레이(110)의 워드 라인을 선택하기 위한 로우 어드레스(X_ADDR)와 메모리 셀 어레이(110)의 비트 라인을 선택하기 위한 칼럼 어드레스(Y_ADDR)를 포함할 수 있다. 로우 디코더(140)는 로우 어드레스(X_ADDR)에 응답하여 워드 라인 선택 동작을 수행하며, 칼럼 디코더(150)는 칼럼 어드레스(Y_ADDR)에 응답하여 비트 라인 선택 동작을 수행한다.
기록/독출 회로(120)는 비트 라인(BL)에 연결되어 메모리 셀에 데이터를 기록하거나, 메모리 셀로부터 데이터를 독출할 수 있다. 예컨대, 기록/독출 회로(120)는 제어로직(130)으로부터 기록 펄스를 수신할 수 있으며, 기록 드라이버(122)는 수신된 기록 펄스(pulse)에 따라 기록 전압이나 기록 전류를 칼럼 디코더(150)를 통해 메모리 셀 어레이(110)로 제공할 수 있다. 구체적으로는, 셋(set) 펄스가 수신되는 경우, 기록 드라이버(122)는 셋(set) 펄스에 응답하여 셋 전류나 셋 전압을 메모리 셀 어레이(110)로 제공할 수 있다. 또한, 리셋(reset) 펄스가 수신되는 경우, 기록 드라이버(122)는 리셋(reset) 펄스에 응답하여 리셋 전류나 리셋 전압을 메모리 셀 어레이(110)로 제공할 수 있다.
한편, 데이터 독출 동작시 기록/독출 회로(120)는 독출 동작을 위한 독출 전류(또는 독출 전압)를 생성하고 이를 메모리 셀로 제공할 수 있다. 센스 앰프(121)는 전류 생성부(또는 전압 생성부)를 구비할 수 있으며, 또한 데이터를 판정하기 위하여 비트 라인의 일 노드(예컨대, 센싱 노드)에 연결되는 비교부를 구비할 수 있다. 비교부의 일 단은 센싱 노드에 연결되고, 타 단은 기준 전압에 연결됨에 따라 데이터 값을 판정할 수 있다.
제어 로직(130)은 메모리 컨트롤러(200)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(110)에 데이터를 기록하거나 메모리 셀 어레이(110)로부터 데이터를 독출하기 위한 각종 제어 신호(CTRL_RW)를 출력할 수 있다. 이로써, 제어 로직(140)은 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다. 본 발명의 일 실시예로서, 메모리 셀 어레이(110)에 대한 리커버리 동작은 다양한 형태로 수행될 수 있으며, 예컨대 메모리 셀 어레이(110)에 구비된 전체 메모리 셀에 대해 리커버리 동작이 수행되거나, 셀 영역 단위로 리커버리 동작이 수행되거나, 또는 셀 단위로 리커버리 동작이 수행되어도 무방하다. 상기 각종 제어 신호(CTRL_RW)는 본 발명의 실시예에 따른 리커버리 동작을 수행하기 위한 제어 신호를 포함할 수 있다.
한편, 제어 로직(130)은 본 발명의 실시예에 따라 메모리 셀 어레이(110)에 대한 리커버리 동작을 제어할 수 있다. 펄스 생성부(131)는 기록/독출에 관련된 각종 펄스를 생성할 수 있으며, 또한 리커버리 동작에 이용되는 리커버리 펄스를 생성할 수 있다. 또한, 리커버리 제어부(132)는 리커버리 동작의 수행 타이밍을 판단하기 위한 동작을 수행할 수 있다.
예컨대, 리커버리 제어부(132)는 리커버리 수행 타이밍을 판단하기 위하여 외부로부터 제공되는 커맨드(CMD) 및 어드레스(ADDR) 중 적어도 하나를 이용할 수 있다. 또한, 리커버리 제어부(132)는 리커버리 수행 타이밍을 판단하기 위하여 메모리 셀로부터 독출된 데이터(Dout)를 이용할 수 있다. 도 2에서는 기록/독출 회로(120)로 입출력되는 데이터(DATA)와, 리커버리 수행 여부 판단을 위해 메모리 셀로부터 독출되어 제어 로직(130)으로 제공되는 독출 데이터(Dout)가 구분되어 도시되었으나, 기록/독출 회로(120)로부터 출력되는 데이터(DATA)가 제어 로직(130)으로 제공되는 것으로 설명되어도 무방하다.
제어 로직(130)은 기록 싸이클을 검출함에 의하여 리커버리 수행 여부를 판단할 수 있다. 예컨대, 리커버리 제어부(132)는 외부로부터의 커맨드(CMD)가 데이터 기록을 요청하는 기록 커맨드인지를 판단하고, 기록 커맨드가 수신될 때마다 카운팅 동작 등의 처리를 수행함에 의하여 기록 싸이클을 검출할 수 있다. 리커버리 제어부(132)는 검출된 기록 싸이클을 소정의 값과 비교함에 의하여 리커버리 수행 여부를 판단할 수 있으며, 예컨대 기록 싸이클이 제1 기준 값에 도달할 때마다 리커버리 동작이 수행되도록 제어할 수 있다.
한편, 리커버리 수행 여부의 판단에 있어서 어드레스(ADDR)가 더 이용될 수 있다. 예컨대, 메모리 셀 어레이(110)가 다수의 셀 영역들을 포함하고, 셀 영역 단위로 리커버리 수행 여부가 판단될 수 있다. 리커버리 제어부(132)는 어드레스(ADDR)의 적어도 일부의 비트 값을 확인하고, 확인 결과에 따라 데이터가 억세스될(또는, 기록될) 메모리 셀이 속하는 셀 영역이 검출될 수 있다. 셀 영역 각각에 대한 기록 싸이클이 별도로 검출되고, 소정의 셀 영역에 대한 기록 싸이클이 제1 기준 값에 도달할 때마다 해당 셀 영역에 대해 리커버리 동작이 수행되도록 제어할 수 있다.
상기 어드레스(ADDR)에 포함되는 로우 어드레스(X_ADDR)의 일부의 비트 값과, 상기 어드레스(ADDR)에 포함되는 칼럼 어드레스(Y_ADDR)의 일부의 비트 값을 확인함에 의해, 억세스될 메모리 셀이 포함되는 셀 영역이 검출될 수 있다. 다른 실시예로서, 로우 어드레스(X_ADDR)의 일부 비트 값만을 확인하여 셀 영역이 검출될 수도 있으며, 또는 칼럼 어드레스(Y_ADDR)의 일부 비트 값만을 확인하여 셀 영역이 검출될 수도 있다. 예컨대, 메모리 셀 어레이(110)가 다수의 페이지들을 포함하고, 각각의 페이지는 동일한 워드 라인에 연결되는 다수의 메모리 셀들을 포함하는 경우, 로우 어드레스(X_ADDR)의 일부 비트 값만을 확인함으로써 하나 이상의 페이지 단위로 리커버리 동작이 수행되어도 무방하다.
다른 실시예로서, 로우 어드레스(X_ADDR)와 칼럼 어드레스(Y_ADDR)의 모든 비트 값을 확인하는 경우, 메모리 셀 단위로 리커버리 동작이 수행될 수도 있다.
한편, 제어 로직(130)은 독출 데이터(Dout)에 대한 에러를 검출함에 의하여 리커버리 수행 여부를 판단할 수 있다. 예컨대, 외부로부터의 커맨드(CMD)에 응답하여 메모리 셀 어레이(110)에 대해 독출 동작이 수행될 수 있으며, 독출 데이터(Dout)가 리커버리 제어부(132)로 제공될 수 있다. 독출 데이터(Dout)에 대한 에러를 검출하기 위한 수단이 리커버리 제어부(132) 내에 구비되거나 외부에 구비될 수 있다. 리커버리 제어부(132) 내에 에러 검출부(미도시)가 구비되는 경우, 독출 데이터(Dout)에 발생된 에러 개수(또는, 리셋 페일 비트의 개수)를 카운팅하고, 그 카운팅 결과를 소정의 값(예컨대, 제2 기준 값)과 비교할 수 있다. 비교 결과, 에러 개수가 제2 기준 값 이상이거나 또는 제2 기준 값을 초과하는 경우 리커버리 동작이 수행되도록 제어할 수 있다.
다른 실시예로서, 메모리 셀 어레이(110)에 대한 일련의 독출 동작이 수행될 때, 이전의 독출 동작(예컨대, 제1 독출 동작)을 통해 얻어진 독출 데이터(Dout)에 대한 에러 검출 결과와 다음의 독출 동작(예컨대, 제2 독출 동작)을 통해 얻어진 독출 데이터(Dout)에 대한 에러 검출 결과가 서로 비교될 수 있다. 제어 로직(130)은, 제2 독출 동작시 발생된 에러 개수가 제1 독출 동작시 발생된 에러 개수보다 소정의 값(예컨대, 제3 기준 값) 이상이거나 큰 것으로 판단할 때, 리커버리 동작이 수행되도록 제어할 수 있다.
또한, 다른 실시예로서, 독출 데이터(Dout)에 대한 에러 검출 동작은 셀 영역별로 수행될 수 있다. 일예로서, 각각의 셀 영역이 다수 개의 에러 검출/정정 단위의 메모리 셀들을 포함하는 경우, 어느 하나의 에러 검출/정정 단위의 메모리 셀들로부터 독출된 독출 데이터(Dout)에 기준 값 이상의 에러가 발생된 경우, 상기 에러 검출/정정 단위의 메모리 셀들이 속한 셀 영역에 대해 리커버리 동작이 수행될 수 있다. 또한 제1 독출 동작시의 에러 검출 결과와 제2 독출 동작시의 에러 검출 결과가 서로 비교되는 경우, 동일한 셀 영역에서의 제1 독출 동작시의 에러 검출 결과와 제2 독출 동작시의 에러 검출 결과가 서로 비교되고, 그 비교 결과에 따라 해당 셀 영역에 대한 리커버리 동작이 수행될 수 있다.
상기와 같은 본 발명의 실시예에 따르면, 제어 로직(130)은 일정 기록 싸이클마다 리커버리 동작이 수행되도록 제어할 수 있으며, 또는 독출 데이터(Dout)에 대한 에러 검출 결과에 기반하여 리커버리 동작이 수행되도록 제어할 수 있다. 기록 싸이클 및 에러 검출 결과가 모두 이용되는 경우에는, 제어 로직(130)은 일정 기록 싸이클마다 리커버리 동작을 수행함과 함께, 독출 데이터(Dout)에 에러 개수(예컨대, 리셋 페일 비트의 개수)가 비정상적으로 증가하게 될 때 리커버리 동작을 추가로 수행할 수 있다. 이에 따라, 리커버리 펄스가 일정한 기록 싸이클마다 제공되거나 리셋 페일 비트의 개수가 기준 값을 넘을 때마다 제공됨으로써, 웨어 아웃(wear out)이 심각한 수준에 도달하기 이전에 이를 예방할 수 있다. 또한, 리셋 페일 비트 개수를 확인함에 의하여, 비정상적으로 웨어 아웃(wear out)이 급속히 발생된 경우에 이를 빠르게 복구할 수 있다.
도 3은 도 2의 메모리 셀 어레이(110)의 일 구현예를 나타내는 회로도이다. 메모리 셀 어레이(110)는 다수 개의 메모리 블록들을 포함할 수 있으며, 도 3은 하나의 메모리 블록을 나타낼 수 있다.
도 3을 참조하면, 메모리 블록(BLK1)은 수평 구조의 메모리 셀들을 포함할 수 있다. 이때, 나머지 메모리 블록들 또한, 도 3에 도시된 메모리 블록과 동일하게 구현될 수 있다. 메모리 블록(BLK1)은 복수의 워드 라인들(WL1 ∼ WLn), 복수의 비트 라인들(BL1 ∼ BLm) 및 복수의 메모리 셀들(MC)을 포함할 수 있다. 여기서, 워드 라인들(WL)의 개수, 비트 라인들(BL)의 개수 및 메모리 셀들(MC)의 개수는 실시예에 따라 다양하게 변경될 수 있다. 또한, 동일한 워드라인에 선택되는 메모리 셀들(MC)을 페이지(PAGE) 단위로 정의할 수 있다.
본 실시예에 따르면, 복수의 메모리 셀들(MC)의 각각은 가변 저항 소자(R) 및 선택 소자(D)를 포함할 수 있다. 여기서, 가변 저항 소자(R)는 가변 저항 물질이라고 지칭할 수 있고, 선택 소자(D)는 스위칭 소자라고 지칭할 수 있다.
일 실시예에서, 가변 저항 소자(R)는 복수의 비트 라인들(BL1 ∼ BLm) 중 하나와 선택 소자(D)의 사이에 연결되며, 선택 소자(D)는 가변 저항 소자(R)와 복수의 워드 라인들(WL1 ∼ WLn) 중 하나의 사이에 연결될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 선택 소자(D)가 복수의 비트 라인들(BL1 ∼ BLm) 중 하나와 가변 저항 소자(R) 사이에 연결되고, 가변 저항 소자(R)가 선택 소자(D)와 복수의 워드 라인들(WL1 ∼ WLn) 중 하나의 사이에 연결될 수 있다.
본 실시예에 따르면, 가변 저항 소자(R)는 인가되는 전기적 펄스에 의해 복수 개의 저항 상태들 중 하나로 스위칭될 수 있다. 일 실시예에서, 가변 저항 소자(R)는 전류 량에 따라 결정 상태가 변화하는 상변화 물질(phase-change material)을 포함할 수 있다. 상변화 물질은 2개의 원소를 화합한 GaSb, InSb, InSe. Sb2Te3, GeTe, 3개의 원소를 화합한 GeSbTe, GaSeTe, InSbTe, SnSb2Te4, InSbGe, 4개의 원소를 화합한 AgInSbTe, (GeSn)SbTe, GeSb(SeTe), Te81Ge15Sb2S2 등 다양한 종류의 물질을 사용할 수 있다.
이러한 상변화 물질은 비교적 저항이 높은 비정질 상태(amorphous state)와 비교적 저항이 낮은 결정 상태(crystal state)를 가질 수 있다. 이러한 상변화 물질은 전류의 양에 따라 발생되는 주울 열(Joule's heat) 의해 상(phase)이 변화될 수 있다. 그리고, 이와 같은 상변화를 이용하여 데이터를 기입할 수 있다.
한편, 다른 실시예에서, 가변 저항 소자(R)는 상변화 물질 대신, 페로브스카이트(perovskite) 화합물들, 전이 금속 산화물(transition metal oxide), 자성체 물질(magnetic materials), 강자성(ferromagnetic) 물질들 또는 반강자성(antiferromagnetic) 물질들을 포함할 수도 있다.
선택 소자(D)는 복수의 워드 라인들(WL1 ∼ WLm) 중 어느 하나와 가변 저항 소자(R) 사이에 연결될 수 있으며, 연결된 워드 라인과 비트 라인에 인가되는 전압에 따라 가변 저항 소자(R)로의 전류 공급을 제어할 수 있다. 일 실시예에서, 선택 소자(D)는 PN 접합 또는 PIN 접합 다이오드일 수 있으며, 다이오드의 애노드(anode)가 가변 저항 소자(R)에 연결되고, 다이오드의 캐소드(cathode)가 복수의 워드 라인들(WL1 ∼ BLm) 중 하나에 연결될 수 있다. 이때, 다이오드의 애노드와 캐소드 사이의 전압 차가 다이오드의 문턱 전압보다 커지면, 다이오드가 턴 온되어 가변 저항 소자(R)에 전류가 공급될 수 있다.
도 4a 내지 도 4c는 도 3의 메모리 셀(MC)의 변형 예들을 나타내는 회로도들이다.
도 4a를 참조하면, 메모리 셀(MCa)은 가변 저항 소자(Ra)를 포함하고, 가변 저항 소자(Ra)는 비트 라인(BL)과 워드 라인(WL) 사이에 연결될 수 있다. 메모리 셀(MCa)은 비트 라인(BL)과 워드 라인(WL)에 각각 인가되는 전압들에 의해서 데이터를 저장할 수 있다.
도 4b를 참조하면, 메모리 셀(MCb)은 가변 저항 소자(Rb)와 양방향 다이오드(Db)를 포함할 수 있다. 가변 저항 소자(Rb)는 데이터를 저장하기 위한 저항 물질을 포함할 수 있다. 양방향 다이오드(Db)는 가변 저항 소자(Rb)와 워드 라인(WL) 사이에 연결되며, 가변 저항 소자(Rb)는 비트 라인(BL)과 양방향 다이오드(Db) 사이에 연결될 수 있다. 양방향 다이오드(Db)와 가변 저항 소자(Rb)의 위치는 서로 바뀔 수도 있다. 양방향 다이오드(Db)를 통해서 비선택 저항 셀에 흐르게 되는 누설 전류를 차단할 수 있다.
도 4c를 참조하면, 메모리 셀(MCc)은 가변 저항 소자(Rc)와 트랜지스터(TR)를 포함할 수 있다. 트랜지스터(TR)는 워드 라인(WL)의 전압에 따라 가변 저항 소자(Rc)에 전류를 공급 또는 차단하는 선택 소자, 즉, 스위칭 소자일 수 있다. 트랜지스터(TR)는 가변 저항 소자(Rc)와 워드 라인(WL) 사이에 연결되며, 가변 저항 소자(R)는 비트 라인(BL)과 트랜지스터(TR) 사이에 연결될 수 있다. 트랜지스터(TR)와 가변 저항 소자(Rc)의 위치는 서로 바뀔 수도 있다. 메모리 셀(MCc)은 워드 라인(WL)에 의해서 구동되는 트랜지스터(TR)의 온/오프 여부에 따라 선택 또는 비선택될 수 있다.
도 5는 도 3의 메모리 셀(MC)의 저항 레벨 분포를 나타내는 그래프이다. 일 예로서, 도 5는 메모리 셀(MC)이 멀티 레벨 셀인 경우에서의 메모리 셀(MC)의 저항 레벨 분포를 나타낸다.
도 5를 참조하면, 가로축은 저항을 나타내고, 세로축은 메모리 셀들(MC)의 개수를 나타낸다. 예를 들어, 메모리 셀(MC)이 2 비트로 프로그램되는 멀티 레벨 셀(MLC)인 경우, 메모리 셀(MC)의 저항 값은 제1 저항 상태(RS1), 제2 저항 상태(RS2), 제3 저항 상태(RS3) 및 제4 저항 상태(RS4) 중 하나를 가질 수 있다.
본 실시예에서, 제1 임계 저항 레벨(Vth1)은 제2 저항 상태(RS2)와 제3 저항 상태(RS3) 사이의 저항 레벨을 가질 수 있다. 이 때, 제1 임계 저항 레벨(Vth1) 이하의 제1 저항 상태(RS1) 및 제2 저항 상태(RS2)는 저저항 상태(LRS)라고 지칭할 수 있고, 제1 임계 저항 레벨(Vth1)보다 큰 제3 저항 상태(RS3) 및 제4 저항 상태(RS4)는 고저항 상태(HRS)라고 지칭할 수 있다. 또한, 제2 임계 저항 레벨(Vth2)은 제1 저항 상태(RS1)와 제2 저항 상태(RS2) 사이의 저항 레벨을 가질 수 있다. 제2 임계 저항 레벨(Vth2)에 따라, 저저항 상태(LRS)의 메모리 셀(MC) 중 제1 저항 상태(RS1)와 제2 저항 상태(RS2)를 갖는 메모리 셀(MC)이 판별될 수 있다. 또한, 제3 임계 저항 레벨(Vth3)은 제3 저항 상태(RS3)와 제4 저항 상태(RS4) 사이의 저항 레벨을 가질 수 있다. 제3 임계 저항 레벨(Vth3)에 따라, 고저항 상태(HRS)의 메모리 셀(MC) 중 제3 저항 상태(RS3)와 제4 저항 상태(RS4)를 갖는 메모리 셀(MC)이 판별될 수 있다.
각각의 저항 상태(RS1, RS2, RS3, RS4)는 데이터 '00', 데이터 '01', 데이터 '10' 및 데이터 '11' 중 어느 하나에 해당할 수 있다. 일 실시예에서, 저항 레벨은 데이터 '11', 데이터 '01', 데이터 '00', 데이터 '10'의 순서로 커질 수 있다. 즉, 제1 저항 상태(RS1)는 데이터 '11'에 해당하고, 제2 저항 상태(RS2)는 데이터 '01'에 해당하고, 제3 저항 상태(RS3)는 데이터 '00'에 해당하며, 제4 저항 상태(RS4)는 데이터 '10'에 해당할 수 있다.
도 6은 도 2의 메모리 장치(100)의 다른 구현 예를 나타내는 블록도이다. 도 6에 도시된 바와 같이, 펄스 발생부(131) 및 리커버리 제어부(132) 중 적어도 하나는 제어 로직(130)의 외부에 구비되어도 무방하다. 펄스 발생부(131)는 기록, 독출 및 리커버리 동작을 위한 하나 이상의 펄스를 생성하여 제어 로직(130)으로 제공할 수 있다. 제어 로직(130)은 펄스 발생부(131)를 제어함으로써, 펄스 발생부(131)에서 기록, 독출 및 리커버리 동작들 각각에 대응하는 펄스가 생성되도록 한다. 또한, 제어 로직(130)은 수신한 펄스를 기록/독출 회로(120)로 제공할 수 있다.
한편, 리커버리 제어부(132)는 각종 정보에 응답하여 리커버리 수행 여부를 판단할 수 있다. 전술한 바와 같이, 리커버리 제어부(132)는 커맨드(CMD), 어드레스(ADDR) 및 출력 데이터(Dout) 중 적어도 하나를 수신할 수 있으며, 소정의 설정된 판단 기준에 따라 메모리 셀들(MC)에 대한 리커버리 수행 여부를 판단할 수 있다.
도 7a,b는 본 발명의 일 실시예에 따른 메모리 장치를 나타내는 블록도이다. 도 7a,b에 도시된 메모리 장치(300)의 구성 및 동작을 설명함에 있어서, 도 2에 도시된 메모리 장치(100)와 동일 또한 유사한 구성은, 그 동작이 동일 또는 유사하므로, 이에 대한 자세한 설명은 생략한다.
도 7a에 도시된 바와 같이, 메모리 장치(300)는 메모리 셀 어레이(310), 기록/독출 회로(320) 및 제어 로직(330)을 포함할 수 있다. 또한, 메모리 장치(300)는 로우 디코더(340) 및 칼럼 디코더(350)를 더 포함할 수 있다. 또한, 기록/독출 회로(320)는 입력 데이터나 출력 데이터(DATA)를 일시 저장하기 위한 버퍼 유닛(321)을 포함할 수 있다. 또한, 제어 로직(330)은 펄스 생성부(370) 및 리커버리 제어부(360)를 포함할 수 있다. 전술한 바와 같이, 펄스 생성부(370) 및 리커버리 제어부(360) 중 적어도 하나는 제어 로직(330)의 외부에 구비되어도 무방하다. 또한, 메모리 셀 어레이(310)는 다수의 셀 영역들(Region 1 ∼ Region A)을 포함할 수 있다.
제어 로직(330)은 전술한 실시예에 따라 일정한 기록 싸이클마다 리커버리 동작이 수행되도록 제어할 수 있으며, 또한 리셋 페일 비트의 개수가 기준 값을 초과할 때 리커버리 동작이 수행되도록 제어할 수 있다. 리커버리 수행 여부를 판단하기 위하여, 커맨드(CMD)가 기록 커맨드에 해당하는지 검출할 수 있으며, 또한 어드레스(ADDR)를 확인함으로써 리커버리를 수행할 셀 영역이 검출될 수 있다. 또한, 독출 데이터(Dout)에 대한 에러 검출 동작을 수행함에 의하여 리커버리 수행 여부를 판단할 수 있다.
일예로서, 제2 셀 영역(Region 2)에 대해 리커버리 동작이 수행되는 경우, 데이터 독출 동작에 의하여 제2 셀 영역(Region 2)에 저장된 데이터가 독출되고, 독출된 데이터가 버퍼 유닛(321)에 일시 저장될 수 있다. 또한, 펄스 생성부(370)는 리커버리 수행을 위한 리커버리 펄스를 생성하며, 생성된 리커버리 펄스는 기록/독출 회로(320)로 제공된다. 리커버리 펄스에 대응하는 펄스 전류(또는, 펄스 전압)가 비트 라인들을 통해 제2 셀 영역(Region 2)의 메모리 셀들로 제공됨에 따라 상기 메모리 셀들에 대해 리커버리 동작이 수행된다. 펄스 전류(또는, 펄스 전압)가 제2 셀 영역(Region 2)의 메모리 셀들로 제공된 후, 버퍼 유닛(321)에 일시 저장된 데이터에 따라 제2 셀 영역(Region 2)의 메모리 셀들에 기록 동작이 수행됨으로써, 원래의 데이터가 다시 제2 셀 영역(Region 2)의 메모리 셀들에 저장될 수 있다.
도 7b는 도 7a의 리커버리 제어부(360)의 일 구현예를 나타낸다. 도 7b에 도시된 바와 같이, 리커버리 제어부(360)는 싸이클 검출부(361), 에러 검출부(362) 및 리커버리 판단부(363)를 포함할 수 있다.
싸이클 검출부(361)는 커맨드(CMD) 및 어드레스(ADDR) 중 적어도 하나를 이용하여 기록 싸이클을 검출한다. 싸이클 검출부(361)는 그 내부에 카운터(미도시)를 포함할 수 있으며, 커맨드(CMD)를 확인한 결과에 따라 카운팅 동작을 수행할 수 있다. 전술한 바와 같이, 일정한 기록 싸이클마다 리커버리가 수행되는 경우, 커맨드(CMD)가 기록 커맨드에 해당하는지가 검출될 수 있다. 또한, 셀 영역 별로 리커버리가 수행되는 경우, 싸이클 검출부(361)는 어드레스(ADDR)의 적어도 일부의 비트를 확인함에 의하여, 리커버리가 수행될 필요가 있는 셀 영역을 검출할 수 있다.
한편, 에러 검출부(362)는 독출 데이터(Dout)에 대한 에러 검출 동작을 수행하고, 검출된 에러의 개수(예컨대, 리셋 페일 비트의 개수)를 검출한다. 또한, 검출된 에러의 개수가 소정의 기준 값을 초과하는지 비교 동작을 수행하고 그 비교 결과를 출력할 수 있다. 리커버리 판단부(363)는 싸이클 검출부(361)와 에러 검출부(362)로부터의 각종 검출 결과나 비교 결과를 수신하고, 메모리 셀 어레이(310)에 대한 리커버리 수행 여부를 최종 판단하여 판단 결과를 발생할 수 있다. 제어 로직(330)은 상기 판단 결과에 기반하여 리커버리 동작이 수행되도록 제어할 수 있다.
도 8은 본 발명의 실시예에 따라 리커버리 동작이 수행되는 타이밍을 나타내는 그래프이다. 도 8에서, 가로 축은 기록 싸이클을 나타내며, 세로 축은 독출 데이터에 발생된 리셋 페일 비트의 개수를 나타낸다. 기록 동작에 대한 검증을 위하여 다수 회의 독출 동작이 수행될 수 있으며, 도 8에서는 첫 번째 검증에 따른 독출 동작시 발생된 리셋 페일 비트의 개수가 도시된다.
도 8에 도시된 바와 같이, 기록 싸이클이 증가함에 따라 리셋 페일 비트의 개수가 증가될 수 있다. 일정한 기록 싸이클마다 리커버리 펄스를 인가함에 의하여 리커버리 동작이 수행되고, 이에 따라 다음의 기록 동작시에는 리셋 페일 비트의 개수가 감소될 수 있다. 즉, 웨어 아웃(wear out)이 심각한 수준에 도달하는 것을 사전에 예방할 수 있다.
또한, 기록 싸이클이 기준 값을 도달하기 전에도 웨어 아웃(wear out)이 급속히 발생됨에 따라 리셋 페일 비트가 기준 값을 초과할 수 있다. 본 발명의 실시예에 따르면, 일정한 기록 싸이클 이외에도 리셋 페일 비트의 개수를 검출함에 의하여 리커버리가 수행되므로, 웨어 아웃(wear out)이 심각한 수준에 도달한 경우에 빠르게 이를 회복할 수 있다.
한편, 본 발명의 실시예에 따르면, 리커버리 동작이 수행될 때마다 리커버리 펄스의 폭 및/또는 레벨이 변동될 수 있다. 리커버리 펄스의 폭 및/또는 레벨을 변동하여 리커버리 동작을 수행하는 경우를 ISPP 리커버리로 정의할 수 있으며, 일정한 폭 및 레벨의 리커버리 펄스를 이용하는 경우를 일정 리커버리(steady recovery)로 정의할 수 있다. 본 발명의 실시예에 따르면 ISPP 리커버리를 적용할 수 있으며, 이에 따라 점선으로 도시된 바와 같은 일정 리커버리(steady recovery) 동작에 비하여 리커버리 수행 주기를 증가시킬 수 있다. 상기와 같은 ISPP 리커버리에 관련된 구체적인 동작은 후술한다.
도 9는 도 7b의 싸이클 검출부의 일 구현 예를 나타내는 블록도이다. 도 9에 도시된 바와 같이, 싸이클 검출부(361)는 커맨드 검출부(361_1), 어드레스 확인부(361_2) 및 싸이클 정보 저장부(361_3)를 포함할 수 있다.
커맨드 검출부(361_1)는 커맨드(CMD)에 대한 검출 동작을 수행함으로써 커맨드(CMD)가 기록 커맨드에 해당하는지를 검출한다. 검출 결과에 따라, 싸이클 정보 저장부(361_3)에 저장된 기록 싸이클에 관련된 정보가 업데이트될 수 있다. 또한, 전술한 실시예에서와 같이 셀 영역 별로 리커버리가 수행되는 경우, 리커버리가 수행될 셀 영역을 검출할 필요가 있으며, 이에 따라 어드레스 확인부(361_2)는 수신되는 어드레스(ADDR)의 적어도 일부의 비트를 확인할 수 있다. 기록 커맨드가 수신되고, 데이터가 기록될 메모리 셀이 속하는 셀 영역이 확인될 수 있으며, 셀 영역들마다 기록 싸이클에 관련된 정보가 싸이클 정보 저장부(361_3)에 저장될 수 있다. 리커버리 판단부(363)는 싸이클 정보 저장부(361_3)에 저장된 정보를 수신하고 이를 분석함에 의하여, 리커버리의 수행 여부를 판단함과 함께, 리커버리가 수행될 셀 영역을 판단할 수 있다. 상기 설명에서는, 커맨드가 수신될 때 싸이클 정보 저장부(361_3)의 정보가 업데이트되고 해당 정보가 분석되는 것으로 설명되었으나, 본 발명의 다른 실시예로서 커맨드의 수신과 무관하게 주기적으로 싸이클 정보 저장부(361_3)에 저장된 정보에 따라 리커버리 수행 여부가 판단될 수도 있다.
도 10a,b는 본 발명의 실시예에 따라 셀 영역 별로 리커버리가 수행되는 예를 나타내는 도면이다. 도 10a에서는 어드레스(ADDR)의 일부의 비트들을 확인하여 셀 영역들 각각의 기록 싸이클을 검출하는 예가 도시되며, 도 10b에서는 각 셀 영역마다 기준 셀을 배치하고, 어드레스(ADDR)의 모든 비트들을 확인함에 의하여 상기 기준 셀의 기록 싸이클을 검출하는 예가 도시된다.
다수의 셀 영역들(Region 1 ∼ Region A) 각각은 어드레스(ADDR)의 일부의 비트들에 의해 선택될 수 있다. 일예로서, 로우 어드레스(X_ADDR)의 일부의 비트와, 칼럼 어드레스(Y_ADDR)의 일부의 비트를 이용하여, 현재 억세스되는 메모리 셀이 속하는 셀 영역이 검출될 수 있다. 구체적으로는, 다수의 셀 영역들(Region 1 ∼ Region A) 각각에 대해 기록 싸이클에 관련된 정보가 카운팅되어 저장될 수 있으며, 일예로서 제2 셀 영역(Region 2)에 속하는 메모리 셀에 대한 기록 동작이 요청되는 경우, 제2 셀 영역(Region 2)의 기록 싸이클을 증가시킬 수 있다. 제2 셀 영역(Region 2)의 기록 싸이클이 기준 값을 초과하는 경우에, 상기 제2 셀 영역(Region 2)에 대하여 리커버리 동작이 수행되도록 제어된다.
한편, 도 10b에 도시된 바와 같이, 다수의 셀 영역들(Region 1 ∼ Region A) 각각에 대해 기준 셀이 배치되고, 상기 기준 셀에 대응하는 어드레스(ADDR)가 수신되는 경우, 해당 기준 셀을 포함하는 셀 영역의 기록 싸이클을 증가시킬 수 있다. 이에 따라, 특정 셀 영역에 포함되는 기준 셀에 대한 기록 동작이 일정 횟수 수행될 때마다, 상기 기준 셀이 포함된 셀 영역에 대해 리커버리 동작이 수행되도록 제어할 수 있다.
도 11은 도 7b의 에러 검출부의 일 구현 예를 나타내는 블록도이다. 도 11에 도시된 바와 같이, 에러 검출부(362)는 리셋 페일 비트 검출부(362_1) 및 에러 개수 비교부(362_2)를 포함할 수 있다.
리셋 페일 비트 검출부(362_1)는 독출 데이터(Dout)에 대해 발생된 리셋 페일 비트의 검출 동작을 수행할 수 있다. 예컨대, 리셋 페일 비트는 메모리 셀에 포함되는 가변 저항이 저저항 상태(예컨대, 데이터 0)에서 고저항 상태(예컨대, 데이터 1)로 변동되지 못한 경우에 발생되며, 리셋 페일 비트 검출부(362_1)는 데이터 1을 기록하도록 요청된 메모리 셀로부터 독출된 데이터를 확인함으로써 해당 메모리 셀에 리셋 페일 비트가 발생되었는지 검출할 수 있다. 소정의 에러 검출/정정 단위에 해당하는 다수의 메모리 셀들로부터 독출된 데이터(Dout)로부터 검출된 리셋 페일 비트의 개수 정보가 에러 개수 비교부(362_2)로 제공될 수 있으며, 에러 개수 비교부(362_2)는 수신된 리셋 페일 비트의 개수를 기 설정된 기준 값과 비교하여 그 비교 결과를 발생할 수 있다. 리커버리 판단부(363)는 상기 비교 결과에 응답하여 리커버리 수행 여부를 판단할 수 있다.
도 12는 도 7a의 펄스 생성부의 일 구현 예를 나타내는 블록도이다. 도 12에 도시된 바와 같이, 펄스 생성부(370)는 펄스 폭 제어부(371), 펄스 레벨 제어부(372) 및 펄스 출력부(373)를 포함할 수 있다.
전술한 바와 같이, 본 발명의 일 실시예에 따르면, 리커버리 동작이 수행될 때마다 리커버리 펄스의 폭 및/또는 레벨이 변동될 수 있다. 펄스 폭 제어부(371) 및 펄스 레벨 제어부(372) 각각은 그 내부에 리커버리 싸이클에 관련된 정보를 저장할 수 있으며, 이에 따라 리커버리 동작이 수행될 때마다 리커버리 펄스의 폭 및/또는 레벨을 변동하기 위한 제어 정보를 출력할 수 있다. 펄스 출력부(373)는 펄스 폭 제어부(371) 및 펄스 레벨 제어부(372)로부터의 제어 정보에 기반하여, 펄스 폭 및/또는 펄스 레벨이 조절된 리커버리 펄스를 생성할 수 있다.
도 13은 본 발명의 일 실시예에 따른 ISPP 리커버리에 이용되는 리커버리 펄스의 일 예를 나타내는 그래프이다. 리커버리가 수행될 때마다 리커버리 펄스의 폭 및/또는 레벨이 제어될 수 있으며, 도 13에 도시된 바와 같이 특정 리커버리 동작시에는 펄스의 폭이 변동된 리커버리 펄스가 생성되거나, 다른 특정 리커버리 동작시에는 펄스의 레벨이 변동된 리커버리 펄스가 생성될 수 있다. 또는, 다른 특정 리커버리 동작시에는 펄스의 폭과 레벨이 모두 변동된 리커버리 펄스가 생성될 수 있다.
도 12 및 도 13에 도시된 실시예에 따르면, 도 8에 도시된 바와 같이 리커버리 동작의 수행 주기를 증가시킬 수 있다. 도 8을 다시 참조하면, 점선으로 도시된 바와 같이 일정 리커버리(steady recovery) 방식에 따를 경우, 리커버리 싸이클이 진행함에 따라서 복구되는 메모리 셀들의 개수가 줄어들 수 있으며, 이에 따라 리커버리 펄스를 인가해야 하는 주기가 감소될 수 있다. 반면에, 본 발명의 일 실시예에 따라 ISPP 리커버리가 적용되는 경우, 리커버리 싸이클이 진행하더라도 실제 복구되는 메모리 셀들의 개수를 대략 일정하게 유지하는 것이 가능하다. 이에 따라, 리커버리 동작의 주기를 감소함으로써(또는, 리커버리 횟수를 감소함으로써) 기록 동작의 성능을 향상시키고 파워 소모를 감소시킬 수 있다.
도 14는 본 발명의 일 실시예에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
호스트로부터의 데이터 억세스 요청에 따라 메모리 콘트롤러는 커맨드를 생성할 수 있으며, 예컨대 데이터 기록 요청에 따라 메모리 콘트롤러는 기록 커맨드를 생성하여 메모리 장치로 제공할 수 있다. 메모리 장치는 기록 커맨드를 수신하고(S11), 커맨드 확인 동작에 따라 해당 커맨드가 기록 커맨드에 해당하는지를 판단할 수 있다. 또한 기록 커맨드에 수반되는 어드레스를 수신하고, 수신된 어드레스를 확인함에 의하여 억세스 요청되는 메모리 셀이 속하는 셀 영역이 판단될 수 있다(S12).
상기 커맨드 및 어드레스 확인 결과에 따라 기록 싸이클이 검출될 수 있다(S13). 전술한 실시예에서와 같이, 기록 싸이클은 메모리 셀 어레이 전체의 기록 싸이클을 나타내거나, 또는 메모리 셀 어레이의 셀 영역 별 기록 싸이클을 나타낼 수 있다. 상기 기록 싸이클을 검출한 결과에 따라 리커버리 수행이 필요한지가 판단될 수 있다(S14).
판단 결과, 리커버리 수행이 필요한 경우에는 리커버리 펄스가 생성되고(S15), 리커버리 펄스가 메모리 셀 어레이로 제공됨에 따라 메모리 셀 어레이의 적어도 일부의 메모리 셀에 대한 리커버리 동작이 수행된다(S16). 메모리 셀에 대한 리커버리 동작이 완료된 후, 메모리 콘트롤러부터의 기록 커맨드에 대응하는 데이터 기록 동작이 수행될 수 있다(S17). 반면에, 리커버리 수행이 필요하지 않은 경우에는, 별도의 리커버리 동작 없이 데이터가 기록될 수 있다.
도 15는 본 발명의 다른 실시예에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
메모리 장치는 메모리 콘트롤러로부터 기록 커맨드를 수신하고(S21), 기록 커맨드에 응답하여 데이터 기록 동작을 수행한다. 기록된 데이터에 대한 검증 동작을 위하여 검증 독출 동작이 수행되며(S22), 독출 데이터에 대한 에러 검출 동작이 수행된다(S23). 에러 검출 결과에 따라 에러 개수가 판단될 수 있으며, 예컨대 리셋 페일 비트의 개수가 판단될 수 있다(S24).
에러 개수를 검출한 결과에 따라 리커버리 수행이 필요한지가 판단될 수 있으며(S25), 리커버리 수행이 필요한 경우에는 리커버리 펄스가 메모리 셀 어레이로 제공됨에 따라 메모리 셀 어레이의 적어도 일부의 메모리 셀에 대한 리커버리 동작이 수행된다(S26). 메모리 셀에 대한 리커버리 동작이 완료된 후, 데이터 기록 동작이 재차 수행될 수 있다(S27). 반면에, 독출 데이터에 대해 기준 값 이하의 에러만이 발생된 경우에는, 별도의 리커버리 수행 없이 기록 동작을 완료할 수 있다.
본 실시예에서는, 리커버리 수행 여부가 검증 독출 동작을 통해 판단되는 예가 도시되었으나, 본 발명의 실시예는 이에 한정될 필요가 없다. 예컨대, 전술한 바와 같이, 메모리 콘트롤러로부터의 독출 명령을 통해 데이터가 독출될 수 있으며, 독출 명령에 대응하는 독출 데이터에 대한 에러 검출 동작을 통해서 리커버리 수행 여부가 판단되어도 무방하다.
또한, 도 14 및 도 15에서는 리커버리 수행 여부의 판단 동작이 기록 싸이클을 검출한 결과를 이용하는 실시예와 독출 데이터에 대한 에러 검출 결과를 이용하는 실시예가 별도로 도시되었으나, 전술한 실시예에서와 같이 리커버리 수행 여부의 판단은 기록 싸이클 검출 및 에러 검출 결과를 모두 이용하여도 무방하다.
도 16은 본 발명의 또 다른 실시예에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
메모리 장치는 제1 기록 커맨드를 수신하고(S31), 제1 기록 커맨드에 응답하여 전술한 다양한 실시예들 중 어느 하나를 적용함에 의하여 리커버리 수행 여부가 판단될 수 있다(S32). 기록 싸이클 검출 결과나 독출 데이터에 대한 에러 검출 결과에 따라 리커버리 동작이 일련하게 수행될 수 있으며, 예컨대 제1 리커버리 동작이 수행된 후 이후에 수행되는 리커버리 동작을 제2 리커버리 동작으로 지칭할 수 있다.
제1 리커버리 펄스가 생성됨에 따라(S33) 제1 리커버리 동작이 수행된다(S34). 또한, 다음의 제2 기록 커맨드가 수신되고(S35), 리커버리 수행 여부가 판단되며(S36), 판단 결과에 따라 제2 리커버리 수행을 위해 제2 리커버리 펄스가 생성된다(S37). 제2 리커버리 펄스는 제1 리커버리 펄스와 서로 다른 폭을 가지거나, 또는 서로 다른 레벨을 가질 수 있다. 또한, 제2 리커버리 펄스는 제1 리커버리 펄스와 폭 및 레벨이 모두 다를 수 있다. 상기와 같이 생성되는 제2 리커버리 펄스에 따라 제2 리커버리 동작이 수행될 수 있다(S38).
도 17은 본 발명의 다른 실시예에 따른 메모리 시스템(20) 및 메모리 장치(400)를 개략적으로 나타내는 블록도이다.
도 17에 도시된 바와 같이, 메모리 시스템(20)은 메모리 장치(400)와 메모리 콘트롤러(401)를 포함할 수 있다. 메모리 장치(400)는 메모리 셀 어레이(410), 기록/독출 회로(420) 및 제어 로직(430)을 포함할 수 있다. 또한, 메모리 콘트롤러(401)는 에러 정정 회로부(ECC Unit, 402)를 포함할 수 있다. 도 17에는 도시되지 않았으나, 제어 로직(430)은 본 발명의 실시예에 따른 리커버리 수행 여부를 판단하기 위한 수단(예컨대, 리커버리 제어부)을 포함할 수 있으며, 다른 실시예로서 리커버리 제어부는 제어 로직(430) 외부에 구비되어도 무방하다. 전술한 실시예에서와 유사하게, 제어 로직(430)은 기록 싸이클을 검출한 결과에 따라 리커버리 동작을 수행할 수 있으며, 또한 독출 데이터(Dout)에 발생된 에러 개수에 따라 리커버리 동작을 수행할 수 있다.
독출 데이터(Dout)에 발생된 에러 개수에 따라 리커버리 수행 여부를 판단함에 있어서, 독출 데이터(Dout)는 메모리 콘트롤러(401)로 제공될 수 있으며, 에러 정정 회로부(402)는 독출 데이터(Dout)에 대한 에러 검출 동작 및 에러 정정 동작을 수행할 수 있다. 에러 정정 회로부(402)는 독출 데이터(Dout)에 대한 에러 검출 동작을 수행함과 함께, 전술한 실시예에서와 유사하게 에러 개수와 소정의 기준 값을 비교한 비교 결과(COM_Err)를 메모리 장치(400)로 제공할 수 있다. 제어 로직(430)은 비교 결과(COM_Err)에 따라 리커버리 수행 여부를 판단하고, 판단 결과에 따라 메모리 셀 어레이(410)의 적어도 일부의 메모리 셀에 대한 리커버리 동작을 수행할 수 있다.
전술한 실시예에 따르면, 메모리 장치(400)는 메모리 콘트롤러(401)로부터의 커맨드를 확인하여 기록 싸이클을 검출함으로써 자체적으로 리커버리 수행 여부를 판단할 수 있으며, 또한 메모리 장치(400)는 메모리 콘트롤러(401)에서 검출된 에러 개수에 대한 비교 결과(COM_Err)를 수신하고, 이에 기반하여 리커버리 수행 여부를 판단할 수 있다.
도 18은 본 발명의 다른 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 18에 도시된 바와 같이, 메모리 장치(500)는 리커버리 수행 여부를 판단하기 위한 수단을 포함할 수 있으며, 일예로서 메모리 장치(500)는 에러 검출부(510) 및 리커버리 판단부(520)를 포함할 수 있다. 또한, 에러 검출부(510)는 리셋 페일 비트 검출부(511), 에러 정보 저장부(512) 및 에러 개수 비교부(513)를 포함할 수 있다. 도 18에는 도시되지 않았으나, 기록 싸이클을 검출하기 위한 싸이클 검출부(미도시)가 메모리 장치(500)에 더 구비될 수 있다. 또한, 에러 검출부(510) 및 리커버리 판단부(520)는 제어 로직 내에 그 기능이 구비되어도 무방하며, 제어 로직과 별개의 기능 블록으로 구현되어도 무방하다.
리셋 페일 비트 검출부(511)는 독출 데이터(Dout)에 대해 발생된 리셋 페일 비트의 검출 동작을 수행할 수 있다. 일예로서, 리셋 페일 비트 검출부(511)는 데이터 1을 기록하도록 요청된 메모리 셀로부터 독출된 데이터가 0 의 값을 가질 때 해당 메모리 셀을 리셋 페일 비트가 발생된 메모리 셀로 검출할 수 있다. 에러 정보 저장부(512)는 에러 검출 결과에 따른 정보를 저장할 수 있으며, 예컨대 소정의 크기의 에러 검출/정정 단위의 데이터들에 발생된 리셋 페일 비트의 개수에 관련된 정보가 에러 정보 저장부(512)에 저장될 수 있다.
일련하게 수행되는 에러 검출 동작에 있어서, 제1 독출 동작에 의해 독출된 데이터에 발생된 리셋 페일 비트의 개수와, 이후의 제2 독출 동작에 의해 독출된 데이터에 발생된 리셋 페일 비트의 개수가 서로 비교될 수 있다. 예컨대, 제2 독출 동작에 의해 독출된 데이터에 발생된 리셋 페일 비트의 검출 결과는 에러 개수 비교부(513)로 제공되고, 또한 제1 독출 동작에 의해 독출된 데이터에 발생된 리셋 페일 비트의 개수에 관련된 정보는 에러 정보 저장부(512)로부터 에러 개수 비교부(513)로 제공될 수 있다. 에러 개수 비교부(513)는, 제1 및 제2 독출 동작에서의 리셋 페일 비트의 개수를 서로 비교하고, 그 차이가 소정의 기준 값을 초과하는 지를 검출한다. 리커버리 판단부(520)는 상기 검출 결과에 따라 리커버리 수행 여부를 판단할 수 있다.
도 18의 실시예에 따르면, 현재 독출 동작에서 발생된 리셋 페일 비트의 개수가 소정의 기준 값을 초과하지 않더라도, 이전의 독출 동작에서보다 리셋 페일 비트의 발생이 급격히 증가하였는지를 판단하여 리커버리 동작을 수행하므로, 웨어 아웃(wear out)이 심각한 수준에 도달하기 전에 미리 복구 동작을 수행할 수 있는 효과가 있다.
도 19a,b는 도 1의 메모리 셀 어레이(110)의 일 구현예를 나타내는 구조도 및 회로도이다.
도 19a,b를 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함할 수 있다. 각각의 메모리 블록은 3차원 구조(또는 수직 구조)를 가질 수 있다. 또한, 각각의 메모리 블록은 기판과 수직한 방향을 따라 신장된 복수의 셀 스트링들을 포함할 수 있다.
하나의 메모리 블록의 셀 스트링들은 복수의 비트 라인들, 복수의 스트링 선택 라인들 및 복수의 워드 라인들에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)의 셀 스트링들은 복수의 비트 라인들(BL)을 공유할 수 있다.
메모리 블록들(BLK1~BLKz)은 도 2에 도시된 로우 디코더(140) 및/또는 칼럼 디코더(150)에 의해 선택될 수 있다. 예를 들면, 로우 디코더(140)는 메모리 블록들(BLK1~BLKz) 중 로우 어드레스(X_ADDR)에 대응하는 워드라인에 연결된 메모리 블록을 선택하도록 구성될 수 있다. 한편, 저항성 메모리 장치(100)에서, 소거 동작은 메모리 블록 단위로 수행될 수 있으며, 메모리 블록에 대한 소거 동작을 수행하기 위해서 메모리 블록에 리셋 펄스(Reset Pulse)가 인가될 수 있다.
도 19b는 도 19a의 메모리 블록들을 구현하는 일 예를 나타내며, 설명의 편의상 도 19b에는 다이오드나 트랜지스터 등으로 구현될 수 있는 선택 소자의 도시는 생략된다.
도 19b을 참조하면, 메모리 셀 어레이(110)는 3차원 형태로 적층되는 복수의 메모리 블록들(BLK1~ BLK3)을 포함할 수 있다. 또한, 메모리 셀 어레이(110)는 z 축 방향으로 나란히 연장되는 복수의 로컬 비트 라인들(LBL1~LBL4) 및 z축 방향에 수직한 y 축 방향으로 나란히 연장되는 복수의 로컬 워드 라인들(LWL1~LWL4)을 포함할 수 있다. 또한, 로컬 비트 라인들(LBL1~LBL4)은 글로벌 비트 라인들(GBL1~GBL4)에 연결될 수 있다.
제1 메모리 블록(BLK1)을 참조하면, 메모리 셀 어레이의 메모리 셀들은 로컬 워드 라인들(LWL1~LWL4) 및 로컬 비트 라인들(LBL1~LBL4) 사이에 연결된다. 메모리 셀들은 로컬 워드 라인들(LWL1~LWL4) 및/또는 로컬 비트 라인들(LBL1~LBL4)에 인가되는 전류(또는 전압)에 의해서 기록 또는 독출 동작이 수행될 수 있다. 또한, 본 발명의 실시예에 따른 리커버리 동작을 위하여, 리커버리 펄스에 따른 리커버리 전류(또는 리커버리 전압)가 로컬 워드 라인들(LWL1~LWL4) 및/또는 로컬 비트 라인들(LBL1~LBL4)에 인가될 수 있다. 리커버리 수행 단위로서, 적어도 두 개의 메모리 블록에 대해 리커버리를 수행하거나, 하나의 메모리 블록에 대해 리커버리를 수행하거나, 또는 하나의 메모리 블록 내의 일부의 셀 영역 단위로 리커버리를 수행할 수 있는 등, 다양하게 변형이 가능하다.
도 20은 본 발명의 실시예에 따른 저항성 메모리 시스템을 메모리 카드 시스템(600)에 적용한 예를 나타내는 블록도이다.
도 20을 참조하면, 메모리 카드 시스템(600)은 호스트(610) 및 메모리 카드(620)를 포함할 수 있다. 호스트(610)는 호스트 컨트롤러(611) 및 호스트 접속부(612)를 포함할 수 있다. 메모리 카드(620)는 카드 접속부(621), 카드 컨트롤러(622) 및 메모리 장치(623)를 포함할 수 있다. 이 때, 메모리 카드(620)는 도 1 내지 도 19에 도시된 실시예들을 이용하여 구현될 수 있으며, 이에 따라 메모리 카드(620)는 기록 싸이클 및/또는 에러 검출 결과에 기반하여 리커버리 수행 여부를 제어할 수 있다.
호스트(610)는 메모리 카드(620)에 데이터를 기록하거나, 메모리 카드(620)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(611)는 커맨드(CMD), 호스트(610) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(612)를 통해 메모리 카드(620)로 전송할 수 있다.
카드 컨트롤러(622)는 카드 접속부(621)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(622) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(623)에 저장할 수 있다. 메모리 장치(623)는 호스트(610)로부터 전송된 데이터를 저장할 수 있다.
메모리 카드(620)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 21은 본 발명의 일 실시예에 따른 저항성 메모리 모듈을 나타내는 도면이다. 도 21을 참조하면, 메모리 모듈(700)은 메모리 장치들(721~724)들 및 제어 칩(710)을 포함할 수 있다. 메모리 장치들(721~724)들 각각은 도 1 내지 도 19에 도시된 실시예들을 이용하여 구현될 수 있다. 제어 칩(710)은 외부의 메모리 컨트롤러로부터 전송되는 각종 신호에 응답하여, 메모리 장치들(721~724)을 제어할 수 있다. 예를 들어, 제어 칩(710)은 외부로부터 전송되는 각종 커맨드 및 어드레스에 따라, 이에 대응되는 메모리 장치들(721~724)을 활성화하여 기록 및 독출 동작을 제어할 수 있다. 또한, 제어 칩(710)은 각 메모리 장치들(721~724)에서 출력되는 독출 데이터에 대한 각종 후속 처리를 수행할 수 있으며, 예컨대 독출 데이터에 대한 에러 검출 및 정정 동작을 수행할 수 있다.
본 발명의 실시예에 따라, 메모리 장치들(721~724)은 기록 싸이클 및/또는 에러 검출 결과에 기반하여 리커버리 수행 여부를 제어할 수 있다. 다른 실시예로서, 에러 검출 동작은 제어 칩(710)에서 수행될 수 있으며, 에러 검출 결과가 메모리 장치들(721~724) 각각으로 제공될 수 있다. 메모리 장치들(721~724) 각각은 제어 칩(710)으로부터의 에러 검출 결과를 이용하여 리커버리 수행 여부를 판단할 수도 있다.
도 22는 본 발명의 실시예들에 따른 저항성 메모리 시스템을 포함하는 컴퓨팅 시스템(800)을 나타내는 블록도이다.
도 22를 참조하면, 컴퓨팅 시스템(800)은 메모리 시스템(810), 프로세서(820), RAM(830), 입출력 장치(840) 및 전원 장치(850) 포함할 수 있다. 또한, 메모리 시스템(810)은 메모리 장치(811) 및 메모리 콘트롤러(822)를 포함할 수 있다. 한편, 도 22에는 도시되지 않았지만, 컴퓨팅 시스템(800)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(800)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(820)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(820)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(820)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(860)를 통하여 RAM(830), 입출력 장치(840) 및 메모리 시스템(810)과 통신을 수행할 수 있다. 이 때, 메모리 시스템(810) 및/또는 RAM(830)은 도 1 내지 도 19에 도시된 실시예들을 이용하여 구현될 수 있다.
일 실시예에 따라, 프로세서(820)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(830)는 컴퓨팅 시스템(800)의 동작에 필요한 데이터를 저장할 수 있다. 전술한 바와 같이, RAM(830)는 본 발명의 실시예에 따른 메모리 장치가 적용될 수 있으며, 또는 다른 메모리로서 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 엠램(MRAM) 등이 RAM(830)으로 이용될 수 있다.
입출력 장치(840)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(850)는 컴퓨팅 시스템(800)의 동작에 필요한 동작 전압을 공급할 수 있다.
상기한 실시예의 설명은 본 발명의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 발명을 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.

Claims (20)

  1. 저항성 메모리 장치의 동작방법에 있어서, 상기 저항성 메모리 장치는 메모리 셀 어레이를 포함하고,
    기록 싸이클을 검출하는 단계;
    검출된 기록 싸이클을 기 설정된 제1 기준값에 도달했는지에 따라 리커버리 수행 여부를 판단하는 단계; 및
    상기 판단 결과에 기반하여 상기 메모리 셀 어레이의 적어도 일부의 메모리 셀에 대한 리커버리 동작을 수행하는 단계를 구비하는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  2. 제1항에 있어서,
    기록 커맨드가 수신될 때마다 상기 기록 싸이클을 나타내는 카운팅 값을 증가시키는 단계; 및
    상기 리커버리 동작이 수행됨에 따라 상기 카운팅 값을 리셋시키는 단계를 더 구비하고,
    상기 카운팅 값이 상기 제1 기준값에 도달할 때 마다 상기 리커버리 동작이 수행되는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  3. 제1항에 있어서,
    상기 메모리 셀 어레이는 다수 개의 셀 영역들을 포함하고,
    수신된 어드레스의 적어도 일부의 비트를 확인한 결과에 따라, 상기 셀 영역들 각각에 대해 별도로 리커버리 동작이 수행되는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  4. 제3항에 있어서,
    상기 어드레스에 의해 지정되는 메모리 셀이 포함되는 셀 영역의 기록 싸이클이 상기 제1 기준값에 도달할 때, 상기 셀 영역에 대하여 상기 리커버리 동작이 수행되는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  5. 제1항에 있어서, 상기 리커버리 동작을 수행하는 단계는,
    상기 메모리 셀 어레이의 적어도 일부의 메모리 셀로부터 독출된 데이터를 일시 저장하는 단계;
    상기 적어도 일부의 메모리 셀들에 대해 리커버리 펄스를 인가하는 단계; 및
    상기 일시 저장된 데이터를 상기 적어도 일부의 메모리 셀들에 기록하는 단계를 포함하는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  6. 제1항에 있어서,
    기록 커맨드에 대응하는 검증 동작을 위하여 데이터를 독출하는 단계;
    독출된 데이터에 대한 에러 검출을 수행하는 단계; 및
    에러 검출 결과에 기반하여 상기 리커버리 수행 여부를 판단하는 단계를 더 구비하는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  7. 제6항에 있어서,
    독출된 데이터에 대해 발생된 에러 개수가 기 설정된 제2 기준값을 초과할 때, 상기 리커버리 동작이 수행되는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  8. 제1항에 있어서,
    제1 및 제2 리커버리 동작이 일련하게 수행되고,
    상기 제2 리커버리 동작에 이용되는 제2 리커버리 펄스는, 상기 제1 리커버리 동작에 이용되는 제1 리커버리 펄스와 펄스 폭 및 펄스 레벨 중 적어도 하나가 다른 값을 갖는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  9. 저항성 메모리 장치의 동작방법에 있어서,
    제1 커맨드에 응답하여, 메모리 셀 어레이에 저장된 데이터를 독출하는 단계;
    독출된 데이터에 대한 에러 검출 결과에 따라 리커버리 수행 여부를 판단하는 단계; 및
    상기 판단 결과에 기반하여 상기 메모리 셀 어레이의 적어도 일부의 메모리 셀에 대한 리커버리 동작을 수행하는 단계를 구비하는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  10. 제9항에 있어서,
    상기 제1 커맨드는 독출 커맨드인 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  11. 제9항에 있어서,
    상기 제1 커맨드은 기록 커맨드이며,
    상기 데이터를 독출하는 단계는, 상기 기록 커맨드에 응답하여 기록된 데이터에 대한 검증 독출 동작을 수행하는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  12. 제9항에 있어서,
    상기 리커버리 수행 여부를 판단하는 단계는, 상기 독출된 데이터에 대해 리셋 페일 비트의 개수를 검출함에 의해 상기 리커버리 수행 여부를 판단하는 것을 특징으로 하는 저항성 메모리 장치의 동작방법.
  13. 저항성 메모리 셀들을 포함하는 메모리 셀 어레이; 및
    상기 메모리 셀 어레이에 대한 기록, 독출 및 리커버리 동작을 제어하고, 기록 싸이클 검출 결과 및 독출 데이터에 대한 에러 검출 결과 중 적어도 하나에 기반하여, 상기 메모리 셀 어레이에 대한 리커버리 수행 여부를 판단하는 제어 로직을 구비하는 것을 특징으로 하는 저항성 메모리 장치.
  14. 제13항에 있어서,
    상기 기록 싸이클이 기 설정된 제1 기준값에 도달할 때 마다 상기 리커버리 동작이 수행되는 것을 특징으로 하는 저항성 메모리 장치.
  15. 제14항에 있어서,
    상기 메모리 셀 어레이는 다수 개의 셀 영역들을 포함하고,
    기록 커맨드에 수반되는 어드레스를 검출한 결과에 따라, 상기 셀 영역들 각각에 대해 별도로 리커버리 동작이 수행되는 것을 특징으로 하는 저항성 메모리 장치.
  16. 제14항에 있어서,
    상기 독출 데이터에 대한 에러 검출 결과, 발생된 에러 개수가 기 설정된 제2 기준값을 초과할 때 상기 리커버리 동작이 수행되는 것을 특징으로 하는 저항성 메모리 장치.
  17. 제13항에 있어서,
    상기 제어 로직은 상기 리커버리 수행 여부를 판단하는 리커버리 제어부를 포함하고,
    상기 리커버리 제어부는,
    기록 커맨드 수신에 따라 상기 메모리 셀 어레이에 대한 기록 싸이클이 제1 기준값에 도달하였는지를 검출하는 싸이클 검출부;
    상기 독출 데이터에 대한 에러 검출 동작을 수행하는 에러 검출부; 및
    상기 싸이클 검출부 및 에러 검출부의 검출 결과들을 이용하여 리커버리 수행 여부를 판단하는 리커버리 판단부를 포함하는 것을 특징으로 하는 저항성 메모리 장치.
  18. 제13항에 있어서,
    상기 에러 검출부는, 리셋 페일 비트가 발생된 메모리 셀들의 개수를 검출하는 것을 특징으로 하는 저항성 메모리 장치.
  19. 제13항에 있어서,
    상기 리커버리 동작을 위한 리커버리 펄스를 생성하는 펄스 생성부를 더 구비하는 것을 특징으로 하는 저항성 메모리 장치.
  20. 제19항에 있어서,
    제1 및 제2 리커버리 동작이 일련하게 수행되고,
    상기 제1 리커버리 동작에 이용되는 제1 리커버리 펄스는, 상기 제2 리커버리 동작에 이용되는 제2 리커버리 펄스와 펄스 폭 및 펄스 레벨 중 적어도 하나가 다른 값을 갖는 것을 특징으로 하는 저항성 메모리 장치.
KR1020140072973A 2014-06-16 2014-06-16 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법 KR102142590B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140072973A KR102142590B1 (ko) 2014-06-16 2014-06-16 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
US14/619,992 US9646687B2 (en) 2014-06-16 2015-02-11 Resistive memory device and operating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140072973A KR102142590B1 (ko) 2014-06-16 2014-06-16 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법

Publications (2)

Publication Number Publication Date
KR20150144177A true KR20150144177A (ko) 2015-12-24
KR102142590B1 KR102142590B1 (ko) 2020-08-07

Family

ID=54836231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140072973A KR102142590B1 (ko) 2014-06-16 2014-06-16 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법

Country Status (2)

Country Link
US (1) US9646687B2 (ko)
KR (1) KR102142590B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170139187A (ko) * 2016-06-08 2017-12-19 에스케이하이닉스 주식회사 메모리 장치, 이의 동작 방법 및 메모리 콘트롤러의 동작 방법
KR20180008219A (ko) * 2016-07-15 2018-01-24 삼성전자주식회사 Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043577B2 (en) * 2016-03-08 2018-08-07 Toshiba Memory Corporation Semiconductor memory device
US9786349B1 (en) * 2016-07-01 2017-10-10 Micron Technology, Inc. Cell performance recovery using cycling techniques
US10431315B2 (en) * 2016-11-29 2019-10-01 Samsung Electronics Co., Ltd. Operation method of a nonvolatile memory device for controlling a resume operation
US9959928B1 (en) * 2016-12-13 2018-05-01 Macronix International Co., Ltd. Iterative method and apparatus to program a programmable resistance memory element using stabilizing pulses
KR20180094170A (ko) * 2017-02-13 2018-08-23 에스케이하이닉스 주식회사 식별자를 생성하기 위한 메모리 장치, 메모리 컨트롤러, 및 그의 동작 방법
KR20190047451A (ko) * 2017-10-27 2019-05-08 에스케이하이닉스 주식회사 저항 변화 메모리 장치를 구비한 반도체 메모리 시스템 및 그 구동 방법
KR20200000904A (ko) * 2018-06-26 2020-01-06 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 이를 포함하는 반도체 시스템 및 이의 동작 방법
US10725862B2 (en) 2018-07-06 2020-07-28 Macronix International Co., Ltd. Data recovery method to error correction code in memory
KR20200071916A (ko) * 2018-12-11 2020-06-22 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11217303B2 (en) * 2019-09-24 2022-01-04 Micron Technology, Inc. Imprint recovery for memory arrays

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058018A1 (en) * 2008-09-02 2010-03-04 Qimonda Ag Memory Scheduler for Managing Internal Memory Operations
JP5400253B1 (ja) * 2012-03-23 2014-01-29 パナソニック株式会社 抵抗変化型不揮発性記憶素子の書き込み方法および抵抗変化型不揮発性記憶装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718041A (en) * 1986-01-09 1988-01-05 Texas Instruments Incorporated EEPROM memory having extended life
US6483736B2 (en) 1998-11-16 2002-11-19 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
US6972985B2 (en) 2004-05-03 2005-12-06 Unity Semiconductor Corporation Memory element having islands
KR101128246B1 (ko) 2004-05-03 2012-04-12 유니티 세미컨덕터 코포레이션 비-휘발성 프로그램 가능한 메모리
US20060250836A1 (en) 2005-05-09 2006-11-09 Matrix Semiconductor, Inc. Rewriteable memory cell comprising a diode and a resistance-switching material
JP4894757B2 (ja) 2005-07-29 2012-03-14 富士通株式会社 抵抗記憶素子及び不揮発性半導体記憶装置
US8344475B2 (en) 2006-11-29 2013-01-01 Rambus Inc. Integrated circuit heating to effect in-situ annealing
EP2191473A2 (en) 2007-09-05 2010-06-02 Rambus Inc. Method and apparatus to repair defects in nonvolatile semiconductor memory devices
KR101453969B1 (ko) * 2008-07-31 2014-10-22 삼성전자주식회사 저항성 메모리 장치 및 그것의 쓰기 방법
US7835173B2 (en) 2008-10-31 2010-11-16 Micron Technology, Inc. Resistive memory
US20100220512A1 (en) 2009-03-02 2010-09-02 Seagate Technology Llc Programmable power source using array of resistive sense memory cells
CN102077296B (zh) * 2009-06-08 2014-04-02 松下电器产业株式会社 电阻变化型非易失性存储元件的成形方法及电阻变化型非易失性存储装置
KR20120059569A (ko) 2009-08-21 2012-06-08 램버스 인코포레이티드 인-시츄 메모리 어닐링
US20110193043A1 (en) 2010-02-05 2011-08-11 Albert Chin Ultra-Low Energy RRAM with Good Endurance and Retention
JP2011187144A (ja) * 2010-03-11 2011-09-22 Toshiba Corp 半導体記憶装置
JP5467270B2 (ja) * 2010-04-28 2014-04-09 国立大学法人 東京大学 データ入出力制御装置および半導体記憶装置システム
US8891293B2 (en) * 2011-06-23 2014-11-18 Macronix International Co., Ltd. High-endurance phase change memory devices and methods for operating the same
EP2761465B1 (en) 2011-09-30 2022-02-09 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
US8804399B2 (en) 2012-03-23 2014-08-12 Micron Technology, Inc. Multi-function resistance change memory cells and apparatuses including the same
KR101961318B1 (ko) * 2012-09-07 2019-07-17 삼성전자주식회사 중앙처리장치에서의 점유시간을 최소화하는 방어코드 운영 방법 및 그에 따른 메모리 시스템
US9032137B2 (en) * 2012-11-21 2015-05-12 Intel Corporation Flexible wear management for non-volatile memory
US9009531B2 (en) * 2012-12-05 2015-04-14 Intel Corporation Memory subsystem data bus stress testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058018A1 (en) * 2008-09-02 2010-03-04 Qimonda Ag Memory Scheduler for Managing Internal Memory Operations
JP5400253B1 (ja) * 2012-03-23 2014-01-29 パナソニック株式会社 抵抗変化型不揮発性記憶素子の書き込み方法および抵抗変化型不揮発性記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170139187A (ko) * 2016-06-08 2017-12-19 에스케이하이닉스 주식회사 메모리 장치, 이의 동작 방법 및 메모리 콘트롤러의 동작 방법
KR20180008219A (ko) * 2016-07-15 2018-01-24 삼성전자주식회사 Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법

Also Published As

Publication number Publication date
KR102142590B1 (ko) 2020-08-07
US9646687B2 (en) 2017-05-09
US20150363257A1 (en) 2015-12-17

Similar Documents

Publication Publication Date Title
KR102142590B1 (ko) 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
KR102131324B1 (ko) 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
KR102188061B1 (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
KR102151183B1 (ko) 저항성 메모리 장치 및 저항성 메모리 장치의 동작방법
US10741245B2 (en) Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system
US9646685B2 (en) Resistive memory device, resistive memory, and operating method of the resistive memory device
KR102242561B1 (ko) 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법
KR102285785B1 (ko) 저항성 메모리 장치 및 상기 저항성 메모리 장치를 포함하는 메모리 시스템
KR102217243B1 (ko) 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법
KR102245129B1 (ko) 멀티레벨 셀을 포함하는 크로스 포인트 메모리 장치 및 크로스 포인트 메모리 장치의 동작방법
KR102251814B1 (ko) 메모리 장치, 그것의 동작 및 제어 방법
KR102178832B1 (ko) 저항성 메모리 장치 및 저항성 메모리 장치의 동작 방법
KR102238647B1 (ko) 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법
KR20160010211A (ko) 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법
US10770138B2 (en) Method of operating resistive memory device reducing read disturbance
KR102298607B1 (ko) 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법
KR102292643B1 (ko) 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법
KR102217244B1 (ko) 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법

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