KR20160062809A - 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법 - Google Patents

재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법 Download PDF

Info

Publication number
KR20160062809A
KR20160062809A KR1020140165384A KR20140165384A KR20160062809A KR 20160062809 A KR20160062809 A KR 20160062809A KR 1020140165384 A KR1020140165384 A KR 1020140165384A KR 20140165384 A KR20140165384 A KR 20140165384A KR 20160062809 A KR20160062809 A KR 20160062809A
Authority
KR
South Korea
Prior art keywords
memory
cell
data
error
rewriting
Prior art date
Application number
KR1020140165384A
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 KR1020140165384A priority Critical patent/KR20160062809A/ko
Priority to US14/814,076 priority patent/US20160147599A1/en
Publication of KR20160062809A publication Critical patent/KR20160062809A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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
    • 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/14Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using thin-film elements
    • G11C11/15Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using thin-film elements using multiple magnetic layers
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Computer Security & Cryptography (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Hall/Mr Elements (AREA)

Abstract

본 발명은 저항성 메모리 등과 같은 불휘발성 메모리 장치의 재쓰기 방법을 개시한다. 불휘발성 메모리 장치의 재쓰기 방법은, 저항성 메모리 셀들로부터 읽혀진 데이터를 에러 정정 코드(ECC)처리하여 소프트 에러 셀이 존재하는 지의 여부를 검출하는 단계를 포함한다. 또한, 소프트 에러 셀이 검출되면 소프트 에러 셀의 어드레스를 저장한 후 읽기 동작의 종료를 체크하고, 읽기 동작이 종료되면 상기 저장된 어드레스에 대응되는 소프트 에러 셀로 에러 정정된 데이터를 선택적으로 재쓰기 하는 단계를 포함함에 의해, 불휘발성 메모리 장치의 로우(raw) 비트 에러 레이트가 개선된다.

Description

재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법{MEMORY SYSTEM FOR IMPROVING RAW BIT ERROR RATE THROUGH REWRITE AND THEREFORE REWRITE METHOD}
본 발명은 불휘발성 메모리 장치를 포함하는 메모리 시스템에 관한 것으로, 좀 더 자세하게는 저항성 메모리에서 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치는 일반적으로 DRAM, SRAM 등과 같은 휘발성 메모리 장치와 EEPROM, FRAM, PRAM, MRAM, 플래시 메모리 등과 같은 불휘발성 메모리 장치로 구분될 수 있다.
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), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다.
불휘발성 메모리 장치들 중에서 특히, MRAM, PRAM, 및 ReRAM 은 메모리 셀의 고저항 혹은 저저항 상태에 따라 데이터가 구별되므로 저항성 메모리로서 종종 불려진다.
본 발명이 해결하고자 하는 기술적 과제는, 불휘발성 메모리 장치의 로우(raw) 비트 에러 레이트를 개선할 수 있는 메모리 시스템 및 그에 따른 재쓰기 방법을 제공함에 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 일 양상(an aspect)에 따라, 불휘발성 메모리 장치의 재쓰기 방법은,
저항성 메모리 셀들로부터 읽혀진 데이터를 에러 정정 코드(ECC)처리하여 소프트 에러 셀이 존재하는 지의 여부를 검출하고;
소프트 에러 셀이 검출되면 소프트 에러 셀의 어드레스를 저장한 후 읽기 동작의 종료를 체크하고;
상기 읽기 동작이 종료되면 상기 저장된 어드레스에 대응되는 소프트 에러 셀로 에러 정정된 데이터를 선택적으로 재쓰기 한다.
본 발명의 일실시 예에서, 상기 저항성 메모리 셀들은 MRAM 셀들일 수 있다.
본 발명의 일실시 예에서, 상기 MRAM 셀들은 각기 자기 터널 접합(MTJ) 소자를 포함할 수 있다.
본 발명의 일실시 예에서, 상기 소프트 에러 셀은 리드 에러 레이트에 의해 발생된 에러 셀일 수 있다.
본 발명의 일실시 예에서, 상기 재쓰기는 설정된 주기마다 수행될 수 있다.
본 발명의 일실시 예에서, 상기 에러 정정 코드(ECC)처리는 1비트 에러를 정정할 수 있다.
본 발명의 일실시 예에서, 상기 재쓰기의 성공을 검증하기 위해 리드 베리파이가 더 수행될 수 있다.
본 발명의 일실시 예에서, 상기 소프트 에러 셀에 대한 재쓰기의 선택은 로우(raw) 비트 에러 레이트에 따라 결정될 수 있다.
본 발명의 일실시 예에서, 상기 불휘발성 메모리 장치는 타이밍 컨트롤러에 데이터 저장소자로서 탑재될 수 있다.
본 발명의 일실시 예에서, 상기 타이밍 컨트롤러는 디스플레이 장치 내에서 디스 플레이 회로 블록을 제어할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 또 다른 양상에 따라, 불휘발성 메모리 장치의 재쓰기 방법은,
저항성 메모리 셀들에 데이터를 쓴 후 저항성 메모리 셀들에 쓰여진 데이터를 리드하고;
상기 리드된 데이터로부터 읽혀진 데이터를 에러 정정 코드(ECC)처리하여 소프트 에러 셀이 존재하는 지의 여부를 검출하고;
소프트 에러 셀이 검출되면 상기 소프트 에러 셀로 에러 정정된 데이터를 선택적으로 재쓰기 한다.
본 발명의 일실시 예에서, 상기 저항성 메모리 셀들은 STT-MRAM 셀들일 수 있다.
본 발명의 일실시 예에서, 상기 MRAM 셀들은 각기 자기 터널 접합(MTJ) 소자와 셀 트랜지스터로 이루어진 메모리 셀을 포함할 수 있다.
본 발명의 일실시 예에서, 상기 소프트 에러 셀은 라이트 에러 레이트에 의해 발생된 에러 셀일 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 개념의 또 다른 양상에 따른 메모리 시스템은,
복수의 메모리 셀들을 포함하는 메모리 셀 어레이를 구비하는 저항성 메모리 장치; 및
에러 정정 코드 처리를 위한 ECC 엔진과, 상기 에러 정정 코드(ECC)처리를 통해 상기 복수의 메모리 셀들 중에서 소프트 에러 셀이 존재할 때 에러 정정된 데이터가 상기 소프트 에러 셀로 선택적으로 재쓰기되도록 하는 재쓰기 매니징 부를 포함하는 메모리 컨트롤러를 구비한다.
본 발명의 일실시 예에서, 상기 저항성 메모리 셀들은 STT-MRAM 셀들일 수 있다.
본 발명의 일실시 예에서, 상기 저항성 메모리 셀들은 PRAM 셀들일 수 있다.
본 발명의 일실시 예에서, 상기 저항성 메모리 셀들은 ReRAM 셀들일 수 있다.
본 발명의 일실시 예에서, 상기 소프트 에러 셀은 리드 에러 레이트에 의해 발생된 에러 셀일 수 있다.
본 발명의 실시 예들의 구성에 따르면, 메모리 셀에 요구되는 리드 에러 레이트 특성이 완화되어 불휘발성 메모리 장치의 로우 비트 에러 레이트가 개선된다. 따라서, 불휘발성 메모리 장치를 포함하는 메모리 시스템의 신뢰성이 보장된다.
도 1은 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 메모리 장치를 예시적으로 보여주는 블록도이다.
도 3은 도 2중 메모리 셀 어레이의 예시적 구체 블록도이다.
도 4는 도 2중 메모리 셀 어레이의 다른 예시적 구체 블록도이다.
도 5는 도 2중 메모리 셀 어레이 내의 메모리 셀의 구성을 보여주는 예시도이다.
도 6 및 도 7은 저장된 데이터에 따른 가변 저항 소자의 자화 방향을 나타내는 도면이다.
도 8은 STT-MRAM의 쓰기 동작을 설명하기 위한 도면이다.
도 9 및 도 10은 STT-MRAM에서 가변 저항 소자의 일 실시 예들을 나타내는 도면이다.
도 11은 STT-MRAM에서 가변 저항 소자의 다른 실시 예를 나타내는 도면이다.
도 12 및 도 13은 STT-MRAM에서 가변 저항 소자의 또 다른 실시 예를 나타내는 도면이다.
도 14는 도 1중 컨트롤러의 예시적 구성을 보여주는 구체적 블록도이다.
도 15는 본 발명의 실시 예에 따른 읽기동작 수행 시의 재쓰기 제어 플로우챠트이다.
도 16은 본 발명의 실시 예에 따른 쓰기 동작 수행 시의 재쓰기 제어 플로우챠트이다.
도 17은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 18은 본 발명의 다른 실시 예에 따라 멀티 채널을 갖는 불휘발성 메모리 시스템을 보여주는 블록도이다.
도 19는 도 18의 불휘발성 메모리 시스템을 포함하는 전자장치를 보여주는 블록도이다.
위와 같은 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은, 이해의 편의를 제공할 의도 이외에는 다른 의도 없이, 개시된 내용이 보다 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 소자 또는 라인들이 대상 소자 블록에 연결된다 라고 언급된 경우에 그것은 직접적인 연결뿐만 아니라 어떤 다른 소자를 통해 대상 소자 블록에 간접적으로 연결된 의미까지도 포함한다.
또한, 각 도면에서 제시된 동일 또는 유사한 참조 부호는 동일 또는 유사한 구성 요소를 가급적 나타내고 있다. 일부 도면들에 있어서, 소자 및 라인들의 연결관계는 기술적 내용의 효과적인 설명을 위해 나타나 있을 뿐, 타의 소자나 회로블록들이 더 구비될 수 있다.
여기에 설명되고 예시되는 각 실시 예는 그것의 상보적인 실시 예도 포함될 수 있으며, MRAM 과 같은 저항성 메모리의 읽기, 쓰기 동작 등과 같은 기본적 동작 및 그러한 기본적 동작을 수행하기 위한 내부 기능회로에 관한 세부는 본 발명의 요지를 모호하지 않도록 하기 위해 상세히 설명되지 않음을 유의(note)하라.
도 1은 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 1을 참조하면, 본 발명에 따른 메모리 시스템(1000)은 메모리 컨트롤러로서 기능하는 컨트롤러(1100)와 상기 컨트롤러(1100)에 의해 동작이 제어되는 메모리 장치(1200)를 포함한다.
상기 메모리 장치(1200)는 저항성 메모리 등과 같은 불휘발성 메모리일 수 있다. 상기 메모리 장치(1200)는 상기 컨트롤러(1100)에 의해서 제어되며, 컨트롤러(1100)의 요청에 대응하는 동작들(예를 들면, 읽기 또는 쓰기 동작 등)을 수행할 수 있다.
상기 컨트롤러(1100)는 ECC 엔진(1120)과 재쓰기 매니징 부(1140)를 포함한다. ECC 엔진(1120)은 에러 정정 코드 처리를 수행한다. 재쓰기 매니징 부(1140)는 재쓰기 동작을 제어한다. 상기 재쓰기 매니징 부(1140)는 상기 에러 정정 코드(ECC)처리를 통해 메모리 셀 어레이(1210)내의 복수의 메모리 셀들 중에서 소프트 에러 셀(soft error cell)이 존재할 때 에러 정정된 데이터가 상기 소프트 에러 셀로 선택적으로 재쓰기되도록 한다.
여기서 소프트 에러 셀은 읽기 동작 시에 쓰여진 데이터가 빈번히 정상적으로 읽혀지지 않는 메모리 셀을 의미한다. 임의의 메모리 셀이 소프트 에러 셀인 경우에 데이터 1로 쓰여진 메모리 셀은 데이터 0으로 빈번히 읽혀질 수 있다. 반대로, 데이터 0으로 쓰여진 메모리 셀은 데이터 1로 빈번히 읽혀질 수 있다. 저항성 메모리의 경우 메모리 셀에 인가되는 쓰기 전류는 읽기 전류보다 크다. 그러나 읽기 전류에 의해서도 메모리 셀에 데이터가 쓰여질 확률이 존재하게 되는데 이를 리드 에러 레이트(read error rate)라 한다. 리드 에러 레이트를 줄이기 위해 저항성 메모리의 메모리 셀을 구성하는 자기 터널 접합(MTJ) 소자의 써말 배리어(thermal barrier)를 높이는 방법이 있다. 그러나 써말 배리어를 높이는 방법의 경우에는 쓰기 동작 시에 쓰기 전류를 크게 하여야 하므로 쓰기 동작 시의 전력 소모가 많아진다. 상기 소프트 에러 셀은 리드 에러 레이트에 의해 발생될 수 있으므로 리드 에러 레이트를 낮게 하여 메모리 셀 자체가 가져야 하는 로우(raw) 비트 에러 레이트의 특성을 완화하는 것이 필요하게 된다.
본 발명의 실시 예에서는 읽기동작 또는 쓰기 동작에서 재쓰기가 실행될 수 있다.
먼저, 읽기동작의 경우에, 메모리 시스템(1000)은,
저항성 메모리 셀들로부터 읽혀진 데이터를 에러 정정 코드(ECC)처리하여 소프트 에러 셀이 존재하는 지의 여부를 검출한다. 그리고, 소프트 에러 셀이 검출되면 소프트 에러 셀의 어드레스를 저장한 후 읽기 동작의 종료를 체크한다. 읽기 동작이 종료되면 상기 저장된 어드레스에 대응되는 소프트 에러 셀로 에러 정정된 데이터를 선택적으로 재쓰기(rewrite)한다.
쓰기 동작의 경우에, 메모리 시스템(1000)은,
저항성 메모리 셀들에 데이터를 쓴 후, 저항성 메모리 셀들에 쓰여진 데이터를 리드한다. 그리고, 상기 리드된 데이터로부터 읽혀진 데이터를 에러 정정 코드(ECC)처리하여 소프트 에러 셀이 존재하는 지의 여부를 검출한다. 소프트 에러 셀이 검출되면 상기 소프트 에러 셀로 에러 정정된 데이터를 선택적으로 재쓰기한다.
상기 컨트롤러(1100)는 호스트와 연결될 수 있다. 상기 컨트롤러(1100)는 호스트의 요청에 응답하여 메모리 장치(1200)에 대한 읽기 및 쓰기 동작 들을 제어하기 위해 메모리 장치(1200)로 커맨드(CMD; command), 어드레스(ADDR; address), 및 데이터(Data)를 제공할 수 있다.
예를 들어, 쓰기 동작이 수행되는 경우, 컨트롤러(1100)는 쓰기 커맨드(write command) 및 쓰기 요청된 데이터(write requested data)를 메모리 장치(1200)에 제공할 수 있다. 이 경우, 컨트롤러(1100)는 쓰기 요청된 데이터에 대응하는 어드레스를 메모리 장치(1200)로 함께 제공할 수 있다.
다른 예로, 읽기 동작이 수행되는 경우, 컨트롤러(100)는 읽기 커맨드(read command) 및 읽기 요청된 영역에 대응하는 어드레스를 메모리 장치(1200)에 제공할 수 있다.
예시적으로 컨트롤러(1100)는 디램(DRAM) 컨트롤러와 동일 또는 유사하게 구현될 수 있으며, 디램 인터페이스(DRAM interface)를 통하여 메모리 장치(1200)와 신호 및 데이터를 교환할 수 있다.
본 발명의 실시 예에서 상기 재쓰기는 설정된 주기마다 수행될 수 있다. 일정한 시간 단위로 재쓰기가 수행되거나 혹은 리드 동작이나 라이트 동작의 사이에서 재쓰기가 수행될 수 있다.
한편, 에러 정정 코드(ECC)처리에 의해서는 1비트 또는 2비트 에러가 정정될 수 있으며, 소프트 에러 셀에 대한 재쓰기의 선택은 로우(raw) 비트 에러 레이트에 따라 결정될 수 있다. 예를 들어 소프트 에러 셀의 경우라 하더라도 무조건 재쓰기가 실시되는 것이 아니라, 리드 억세스 횟수에 따라 로우 비트 에러 레이트를 관리하고 로우 비트 에러 레이트가 일정 레이트 이상인 소프트 에러 셀을 대상으로 재쓰기가 행해질 수 있다.
본 발명의 실시 예에서 불휘발성 메모리 장치는 디스플레이 장치 내에서의 타이밍 컨트롤러에 SRAM을 대신하여 데이터 저장소자로서 탑재될 수도 있다.
상기 타이밍 컨트롤러는 디스플레이 장치 내에서 디스 플레이 회로 블록을 제어하는 역할을 수행한다.
도 1과 같은 메모리 시스템에 따르면, 메모리 셀에 요구되는 리드 에러 레이트 특성이 완화되어 불휘발성 메모리 장치의 로우 비트 에러 레이트가 개선된다. 따라서, 불휘발성 메모리 장치를 포함하는 메모리 시스템의 신뢰성이 보장된다.
도 2는 도 1에 도시된 메모리 장치를 예시적으로 보여주는 블록도이다.
도 2에서는 설명의 편의상, 하나의 메모리 칩(memory chip)으로써 메모리 장치(1200)를 구현하는 경우가 예시적으로 도시되어 있다.
도 2를 참조하면, 메모리 장치(1200)는 메모리 셀 어레이(1210), 쓰기 드라이버(120), 감지 증폭기(1230), 입출력 회로(1240), 디코더(1250), 블록 카운터(1260), 그리고 컨트롤 로직(1270)을 포함할 수 있다. 쓰기 드라이버(1220) 및 감지 증폭기(1230)는 쓰기 및 감지 회로(1235)라 칭해질 수 있다.
메모리 셀 어레이(1210)는 복수의 워드 라인들(WL)을 통하여 디코더(1250)에 연결된다. 메모리 셀 어레이(1210)는 복수의 비트 라인들(BL)을 통하여 쓰기 및 감지 회로(1235)에 연결된다. 메모리 셀 어레이(1210)는 복수의 블록들(BLK1~BLKn)을 포함하며, 각각의 블록은 데이터를 저장하는 복수의 메모리 셀들을 포함한다.
본 발명의 실시 예에 있어서, 메모리 셀 어레이(1210)는 저항성 메모리로서 가변 저항 메모리(Variable resistance memory)를 사용하여 구현될 수 있다. 예를 들어, 메모리 셀 어레이(1300)의 메모리 셀들은 STT-MRAM(Spin transfer magneto resistive random access memory)셀로 구현될 수 있다.
메모리 셀들이 STT-MRAM으로 구현되는 경우, 각 메모리 셀은 자성 물질을 갖는 자기 터널 접합 소자(magnetic tunnel junction, 이하 가변 저항 소자)를 포함할 수 있다. 메모리 셀 어레이(1210) 및 메모리 셀의 구현 예들은 도 3 내지 도 5와 같은 도면들을 참조로 하여 좀더 자세히 설명될 것이다.
쓰기 드라이버(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)라 칭해질 수 있다.
입출력 회로(1240)은 쓰기 및 감지 회로(1235)에 연결된다. 입출력 회로(1240)는 컨트롤러(1100, 도 1 참조)로부터 데이터(Data)를 수신하거나, 메모리 셀을 읽은 데이터를 컨트롤러(1100, 도 1 참조)로 제공한다.
디코더(1250)는 워드 라인(WL)을 통하여 메모리 셀 어레이(1210)에 연결된다. 디코더(1250)는 컨트롤러(1100)를 통하여 어드레스(ADDR)를 수신한다. 디코더(1250)는 어드레스를 디코딩하여, 워드 라인(WL)들 및 비트 라인(BL)들에 연결된 메모리 셀들 중 하나를 선택한다.
블록 카운터(1260)는 컨트롤러(1100)를 통하여 블록 어드레스(BLK_ADDR)를 수신하고, 해당 블록에 대한 엑세스 횟수(access number) 등을 관리할 수 있다.
컨트롤 로직(1270)은 컨트롤러(1100)로부터 쓰기 커맨드(write command, W_CMD) 또는 읽기 커맨드(R_CMD)를 수신한다. 컨트롤 로직(1270)은 수신된 쓰기 커맨드 또는 읽기 커맨드에 응답하여, 데이터 장치(1200)의 전반적인 쓰기 또는 읽기 동작을 제어한다.
도 3은 도 2중 메모리 셀 어레이의 예시적 구체 블록도이다.
도 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)의 가변 저항 물질을 이용한 ReRAM(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중 메모리 셀 어레이의 다른 예시적 구체 블록도이다.
도 4에 도시된 바와 같이, 메모리 셀 어레이(1210)의 블록(BLKj)은 서로 다른 4 개의 메모리 셀들(MC)이 하나의 소스 라인(SL)을 공유하도록 구현될 수도 있다. 소스 라인(SL)의 연결 방식을 제외하면, 도 4의 블록(BLKj)의 구조 및 메모리 셀(MC)은 도 3의 블록(BLKi)의 구조 및 메모리 셀(MC)과 유사하디. 따라서, 자세한 설명은 생략된다.
도 5는 도 2중 메모리 셀 어레이 내의 메모리 셀의 구성을 보여주는 예시도이다. 도 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)에 연결된다.
MTJ 소자로서 구현되는 가변 저항 소자(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)의 저항값은 자유층(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에서 가변 저항 소자의 일 실시 예들을 나타내는 도면이다.
자화 방향이 수평인 가변 저항 소자는 전류의 이동 방향과 자화 용이 축(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)는 일반 가변 저항 소자보다 더 적은 전류를 이용하여 쓰기 동작을 할 수 있다.
도 6 내지 도 13을 참조하여 설명된 바와 같이, 본 발명의 실시 예에 따른 메모리 장치(1200, 도 2 참조)는 가변 저항 소자(VR)를 저장 소자로 사용할 수 있다. 가변 저항 소자(VR)에 대한 읽기 동작의 메커니즘은 쓰기 동작의 메커니즘과 유사하다. 즉, 도 6 내지 도 8을 참조하여 설명된 바와 같이, 읽기 전류와 쓰기 전류의 세기만 다를 뿐, 읽기 동작의 메커니즘과 쓰기 동작의 메커니즘은 유사하다.
도 14는 도 1중 컨트롤러의 예시적 구성을 보여주는 구체적 블록도이다.
도 14를 참조하면, 컨트롤러(1100)는 프로세서(1141), 버퍼 메모리(1160), ECC 엔진(1120), 시스템 버스(1150), 호스트 인페이스(1170), 및 메모리 인터페이스(1180)를 포함할 수 있다.
상기 프로세서(1141)는 컨트롤러(1100)의 제반 동작을 제어하며 펌웨어나 소프트 웨어에 의해 구현되는 도 1의 재쓰기 매니징 부(1140)로서의 역할을 수행할 수 있다.
시스템 버스(150)는 프로세서(1141), 버퍼 메모리(1160), ECC 엔진(1120), 호스트 인페이스(1170), 및 메모리 인터페이스(1180) 사이에 채널을 제공한다.
호스트 인터페이스(1170)는 특정한 통신 규격에 따라 호스트와 통신할 수 있다. 예시적으로, 호스트 인터페이스(1170)은 USB (Universal Serial Bus), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), 그리고 파이어와이어(Firewire) 등과 같은 다양한 통신 규격들 중 적어도 하나를 통해 호스트와 통신할 수 있다.
프로세서(1141)는 호스트로부터 호스트 데이터 및 커맨드를 입력받아, 메모리 컨트롤러(1100)의 제반 동작을 제어할 수 있다.
버퍼 메모리(1160)는 SRAM, DRAM, 또는 MRAM으로 구현될 수 있으며, 컨트롤러(1100)의 내부 동작의 동작 메모리, 캐시 메모리, 또는 버퍼 메모리 중 적어도 하나로 이용될 수 있다.
ECC 엔진(1120)은 호스트로부터 수신되는 데이터나 메모리 장치(1200)로부터 수신되는 데이터를 에러 정정 코딩 알고리즘을 통해 에러 정정 코딩 처리할 수 있다. ECC 인코딩 및 ECC 디코딩 동작은 ECC 동작(ECC operation)이라고 칭해질 수 있다. ECC 엔진(1120)은 1비트 또는 2비트의 에러를 에러 정정 코딩 알고리즘을 통해 원래의 데이터로 복구할 수 있다.
메모리 인터페이스(1180)는 메모리 장치(1200)와 인터페이싱한다. 예를 들면, 메모리 장치(1200)가 저항성 메모리인 경우에 메모리 인터페이스(1180)는 디램 인터페이스 등을 포함할 수 있다.
도 15는 본 발명의 실시 예에 따른 읽기동작 수행 시의 재쓰기 제어 플로우챠트이다.
도 15를 참조하면, 먼저, 읽기동작의 경우에, 메모리 시스템(1000)은, S1510 단계와 S1520 단계를 차례로 수행하여 읽기동작을 수행하고 ECC 동작을 실행한다.
S1530 단계에서, 소프트 에러 셀이 존재하는 지의 여부가 검출된다. 상기 검출 동작은 상기 ECC 엔진(1120)이 저항성 메모리 셀들로부터 읽혀진 데이터를 에러 정정 코드(ECC)처리함에 의해 달성된다. 소프트 에러 셀이 검출되면 소프트 에러 셀의 어드레스가 S1540 단계에서 저장된다. 이 경우에 상기 소프트 에러 셀의 어드레스는 도 14의 버퍼 메모리(1160)에 저장될 수 있다.
메모리 시스템(1000)은 S1550 단계에서, 읽기 동작의 종료를 체크한다.
읽기 동작이 종료되고 S1560 단계의 재쓰기 구간이면 S1570 단계가 수행된다.
S1570 단계에서 메모리 시스템(1000)은 상기 저장된 어드레스에 대응되는 소프트 에러 셀로 에러 정정된 데이터를 선택적으로 재쓰기한다. 이 경우에 재쓰기되는 데이터는 에러 정정된 데이터이다. 예컨대 데이터 1이 읽혀져서 에러로 판명된 경우에 대응되는 소프트 에러 셀에는 데이터 0이 쓰여진다. 한편, 데이터 0이 읽혀져서 에러로 판명된 경우에 대응되는 소프트 에러 셀에는 데이터 1이 쓰여진다.
재쓰기 동작은 전술한 쓰기 동작과 동일 또는 유사하므로 구체적인 설명은 생략한다.
재쓰기가 완료된 후, 리드 베리파이 동작이 추가적으로 수행될 수 있다. 이 경우에 S1580 단계에서 리드 베리파이가 성공되었는 지가 ECC 엔진(1120)을 통해 체크될 수 있다.
저항성 메모리의 경우 메모리 셀에 인가되는 읽기 전류는 쓰기 전류보다 작다. 그러나 상대적으로 작은 읽기 전류에 의해서도 메모리 셀에 데이터가 쓰여질 확률이 존재하게 된다. 리드 에러 레이트를 줄이기 위해 저항성 메모리의 메모리 셀을 구성하는 자기 터널 접합(MTJ) 소자의 써말 배리어(thermal barrier)를 높이는 방법이 있지만, 이 경우에는 쓰기 동작 시에 쓰기 전류를 크게 하여야 하므로 쓰기 동작 시의 전력 소모가 많아진다. 소프트 에러 셀은 리드 에러 레이트에 의해 발생될 수 있으므로 도 15와 같은 재쓰기 동작을 통해 리드 에러 레이트를 낮게 하면 메모리 셀 자체가 가져야 하는 로우(raw) 비트 에러 레이트의 특성이 완화된다.
예를 들어, ECC 처리를 행한 후에 1초 마다 재쓰기를 실행하고 10년 신뢰성을 보장 조건으로 가정할 경우에, ECC 처리만을 행하고 재쓰기를 실행하지 않는 경우에 비해 로우(raw) 비트 에러 레이트가 대폭적으로 낮아진다. 이는 결국, 메모리 셀의 써말 배리어가 감소되는 효과를 초래한다.
도 16은 본 발명의 실시 예에 따른 쓰기 동작 수행 시의 재쓰기 제어 플로우챠트이다.
도 16을 참조하면, 쓰기 동작의 경우에, 메모리 시스템(1000)은, S1610 단계에서 쓰기 동작을 수행한다. 쓰기 동작의 수행 중 혹은 쓰기 동작의 완료 후에 S1620 단계에서 메모리 시스템(1000)은 데이터가 정상적으로 쓰여졌는 지를 체크하기 위해 메모리 셀로부터 데이터를 리드하여 ECC 동작을 실행할 수 있다.
S1630 단계에서, 소프트 에러 셀이 존재하는 지의 여부가 검출된다. 소프트 에러 셀이 검출되면 소프트 에러 셀의 어드레스가 S1640 단계에서 저장된다. 이 경우에 상기 소프트 에러 셀의 어드레스는 도 14의 버퍼 메모리(1160)에 저장될 수 있다.
메모리 시스템(1000)은 S1650 단계에서, 재쓰기 구간인 지를 체크한다.
S1650 단계에서 재쓰기 구간이면 S1660 단계가 수행된다.
S1660 단계에서 메모리 시스템(1000)은 상기 저장된 어드레스에 대응되는 소프트 에러 셀로 데이터를 선택적으로 재쓰기한다. 이 경우에 재쓰기되는 데이터는 에러 정정된 데이터 또는 오리지널 쓰기 데이터이다. 예컨대 데이터 1이 읽혀져서 에러로 판명된 경우에 대응되는 소프트 에러 셀에는 데이터 0이 쓰여진다. 한편, 데이터 0이 읽혀져서 에러로 판명된 경우에 대응되는 소프트 에러 셀에는 데이터 1이 쓰여진다. 재쓰기 동작은 전술한 쓰기 동작과 동일 또는 유사하므로 구체적인 설명은 생략한다. 재쓰기 시에 인가되는 재쓰기 전류는 쓰기 전류의 크기와 동일하거나 작을 수 있다.
재쓰기가 완료된 후, 리드 베리파이 동작이 추가적으로 수행될 수 있다. 이 경우에 S1670 단계에서 리드 베리파이가 성공되었는 지가 ECC 엔진(1120)을 통해 체크될 수 있다.
도 17은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 17을 참조하면, 메모리 시스템(3000)은 컨트롤러(3100)와 메모리 장치(3200)를 포함한다. 상기 컨트롤러(3100)는 ECC 엔진(1120)을 포함한다. 상기 메모리 장치(3200)는 재쓰기 매니징 부(1140)를 포함할 수 있다.
상기 컨트롤러(3100)는 호스트의 요청에 응답하여 메모리 장치(3200)에 대한 읽기 및 쓰기 동작 들을 제어하기 위해 메모리 장치(3200)로 커맨드(CMD; command), 어드레스(ADDR; address), 및 데이터(Data)를 제공할 수 있다.
상기 컨트롤러(3100)는 전술한 도 14와 같이 동일 또는 유사하게 구현될 수 있다.
상기 메모리 장치(3200)는 전술한 도 2 내지 도 4에서 설명된 바와 같이 동일 유사하게 구현될 수 있다.
도 17의 경우에, 도 1과는 달리 재쓰기 매니징 부(1140)가 상기 메모리 장치(3200)에 포함된다. 이 경우에 상기 재쓰기 매니징 부(1140)는 도 2 내의 컨트롤로직(1270)에 의해 구현될 수 있을 것이다.
도 17의 경우에도 소프트 에러 셀에 전술한 바와 같이 재쓰기가 실현되므로, 메모리 셀에 요구되는 리드 에러 레이트 특성이 완화되어 불휘발성 메모리 장치의 로우 비트 에러 레이트가 개선된다. 따라서, 저항성 메모리를 포함하는 메모리 시스템의 신뢰성이 보장된다.
도 18은 본 발명의 다른 실시 예에 따라 멀티 채널을 갖는 불휘발성 메모리 시스템을 보여주는 블록도이다.
도 2를 참조하여 설명된 메모리 장치는, 설명의 편의상, 하나의 불휘발성 메모리 칩을 사용하는 것으로 가정되었다. 그러나, 이는 예시적인 것이며, 도 18에 도시된 바와 같이, 본 발명의 기술적 사상은 복수의 불휘발성 메모리 칩들을 사용하는 경우에도 적용될 수 있다.
도 18을 참조하면, 불휘발성 메모리 시스템(5000)은 컨트롤러(5100) 및 메모리 장치(5200)를 포함하며, 메모리 장치(5200)는 복수의 불휘발성 메모리 칩들을 포함한다. 복수의 불휘발성 메모리 칩들은 복수의 그룹들로 분할될 수 있다.
복수의 불휘발성 메모리 칩들의 각 그룹은 하나의 공통 채널을 통해 컨트롤러(5100)와 통신하도록 구현될 수 있다. 도 18에서, 복수의 불휘발성 메모리 칩들은 제 1 내지 제 n 채널들(CH1~CHn)을 통해 컨트롤러(5100)와 통신하는 것으로 도시되어 있다. 각 불휘발성 메모리 칩은 도 2 내지 도 13을 참조로 설명된 메모리 장치와 동일 또는 유사하게 구성될 수 있다. 그리고, 컨트롤러(5100)는 도 14를 참조하여 설명된 컨트롤러와 동일 또는 유사하게 구성될 수 있다.
도 18의 경우에 소프트 에러 셀에 전술한 바와 같이 재쓰기가 실현되므로, 불휘발성 메모리 장치의 로우 비트 에러 레이트가 개선된다. 따라서, 저항성 메모리를 포함하는 불휘발성 메모리 시스템의 신뢰성이 보장된다.
도 19는 도 18의 불휘발성 메모리 시스템을 포함하는 전자장치를 보여주는 블록도이다.
도 19를 참조하면, 전자장치(6000)는 중앙 처리 장치(6600), 램(6700, RAM, Random Access Memory), 사용자 인터페이스(6800), 전원(6400), 그리고 메모리 시스템(6100)을 포함할 수 있다.
상기 메모리 시스템(6100)은 시스템 버스(6500)를 통해, 중앙처리장치(6600), 램(6700), 사용자 인터페이스(6800), 그리고 전원(6400)에 전기적으로 연결될 수 있다. 사용자 인터페이스(6800)를 통해 제공되거나, 중앙 처리 장치(6600)에 의해서 처리된 데이터는 메모리 시스템(6100)에 저장된다. 메모리 시스템(6100)은 컨트롤러(6300) 및 불휘발성 메모리 장치(6200)를 포함한다.
도 19의 경우에 불휘발성 메모리 장치(6200)내에 발생되는 소프트 에러 셀에 재쓰기가 실현되므로, 메모리 셀에 요구되는 리드 에러 레이트 특성이 완화되어 불휘발성 메모리 장치의 로우 비트 에러 레이트가 낮아진다. 따라서, MRAM을 포함하는 전자장치의 신뢰성이 높아진다.
한편, 예시적으로, 전자장치(6000)는, 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 태블릿 컴퓨터(tablet computer), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), DMB (Digital Multimedia Broadcasting) 재생기, 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 데이터 센터를 구성하는 스토리지, 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로서 제공될 수도 있다.
이상에서와 같이 도면과 명세서를 통해 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다.
예를 들어, 저항성 메모리를 갖는 메모리 시스템에서의 재쓰기 동작 위주로 설명되었으나, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이, 도면들의 회로 및 방법적 구성을 변경하거나 가감하여, 재쓰기의 방법이나 시기, 조건들을 다르게 할 수 있을 것이다. 또한, 본 발명의 개념에서는 로우(raw) 비트 에러 레이트를 개선하기 위해 컨트롤러가 재쓰기를 제어하는 것을 주로 예로 들었으나, 이에 한정됨이 없이 호스트나 메모리 장치를 통해 로우(raw) 비트 에러 레이트를 개선하기 위한 재쓰기를 수행하는 것도 가능할 것이다.
1000: 메모리 시스템 1100: 컨트롤러
1120: ECC 엔진 1140: 재쓰기 매니징 부
1200: 메모리 장치 1210: 메모리 셀 어레이

Claims (10)

  1. 저항성 메모리 셀들로부터 읽혀진 데이터를 에러 정정 코드(ECC)처리하여 소프트 에러 셀이 존재하는 지의 여부를 검출하고;
    소프트 에러 셀이 검출되면 소프트 에러 셀의 어드레스를 저장한 후 읽기 동작의 종료를 체크하고;
    상기 읽기 동작이 종료되면 상기 저장된 어드레스에 대응되는 소프트 에러 셀로 에러 정정된 데이터를 선택적으로 재쓰기 하는 불휘발성 메모리 장치의 재쓰기 방법.
  2. 제1항에 있어서, 상기 저항성 메모리 셀들은 MRAM 셀들인 불휘발성 메모리 장치의 재쓰기 방법.
  3. 제2항에 있어서, 상기 MRAM 셀들은 각기 자기 터널 접합(MTJ) 소자를 포함하는 불휘발성 메모리 장치의 재쓰기 방법.
  4. 제1항에 있어서, 상기 소프트 에러 셀은 리드 에러 레이트에 의해 발생된 에러 셀인 불휘발성 메모리 장치의 재쓰기 방법.
  5. 제1항에 있어서, 상기 재쓰기는 설정된 주기마다 수행되는 불휘발성 메모리 장치의 재쓰기 방법.
  6. 제1항에 있어서, 상기 에러 정정 코드(ECC)처리는 1비트 에러를 정정하는 불휘발성 메모리 장치의 재쓰기 방법.
  7. 제1항에 있어서, 상기 재쓰기의 성공을 검증하기 위해 리드 베리파이를 더 수행하는 불휘발성 메모리 장치의 재쓰기 방법.
  8. 제1항에 있어서, 상기 소프트 에러 셀에 대한 재쓰기의 선택은 로우(raw) 비트 에러 레이트에 따라 결정되는 불휘발성 메모리 장치의 재쓰기 방법.
  9. 제1항에 있어서, 상기 불휘발성 메모리 장치는 타이밍 컨트롤러에 데이터 저장소자로서 탑재되는 불휘발성 메모리 장치의 재쓰기 방법.
  10. 제9항에 있어서, 상기 타이밍 컨트롤러는 디스플레이 장치 내에서 디스 플레이 회로 블록을 제어하는 불휘발성 메모리 장치의 재쓰기 방법.
KR1020140165384A 2014-11-25 2014-11-25 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법 KR20160062809A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140165384A KR20160062809A (ko) 2014-11-25 2014-11-25 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법
US14/814,076 US20160147599A1 (en) 2014-11-25 2015-07-30 Memory Systems that Perform Rewrites of Resistive Memory Elements and Rewrite Methods for Memory Systems Including Resistive Memory Elements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140165384A KR20160062809A (ko) 2014-11-25 2014-11-25 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법

Publications (1)

Publication Number Publication Date
KR20160062809A true KR20160062809A (ko) 2016-06-03

Family

ID=56010310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140165384A KR20160062809A (ko) 2014-11-25 2014-11-25 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법

Country Status (2)

Country Link
US (1) US20160147599A1 (ko)
KR (1) KR20160062809A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020046595A1 (en) * 2018-08-30 2020-03-05 Spin Memory, Inc. A method of optimizing write voltage based on error buffer occupancy

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180019791A (ko) * 2016-08-16 2018-02-27 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10366774B2 (en) * 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
KR102410566B1 (ko) 2018-02-05 2022-06-17 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR20210109085A (ko) 2020-02-26 2021-09-06 삼성전자주식회사 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치
CN113495675B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
EP3964940A4 (en) 2020-04-01 2022-08-17 Changxin Memory Technologies, Inc. READ/WRITE METHOD AND STORAGE DEVICE
EP3985494B1 (en) 2020-04-01 2024-01-17 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495671B (zh) 2020-04-01 2023-10-17 长鑫存储技术有限公司 读写方法及存储器装置
EP3964941B1 (en) 2020-04-01 2024-02-28 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495672B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
EP3936996A4 (en) 2020-04-01 2022-07-06 Changxin Memory Technologies, Inc. READ-WRITE METHOD AND STORAGE DEVICE
CN113495674B (zh) 2020-04-01 2023-10-10 长鑫存储技术有限公司 读写方法及存储器装置
US11907544B2 (en) * 2020-08-31 2024-02-20 Micron Technology, Inc. Automated error correction with memory refresh

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2985192B2 (ja) * 1989-09-18 1999-11-29 松下電器産業株式会社 ビットエラー測定装置
JPH10269784A (ja) * 1997-03-28 1998-10-09 Rohm Co Ltd 強誘電体メモリ
US6801471B2 (en) * 2002-02-19 2004-10-05 Infineon Technologies Ag Fuse concept and method of operation
JP4418153B2 (ja) * 2002-12-27 2010-02-17 株式会社ルネサステクノロジ 半導体装置
JP2008021390A (ja) * 2006-07-14 2008-01-31 Toshiba Corp 半導体記憶装置
US8190973B2 (en) * 2007-12-21 2012-05-29 Arm Limited Apparatus and method for error correction of data values in a storage device
US20090282308A1 (en) * 2008-05-09 2009-11-12 Jan Gutsche Memory Cell Arrangement and Method for Reading State Information From a Memory Cell Bypassing an Error Detection Circuit
KR20100096616A (ko) * 2009-02-25 2010-09-02 삼성전자주식회사 저항성 메모리 장치 및 저항성 메모리 장치에서의 입출력 제어 방법
WO2013094400A1 (ja) * 2011-12-20 2013-06-27 株式会社日立国際電気 基板処理システム、基板処理装置及び基板処理装置のデータ蓄積方法
KR101998673B1 (ko) * 2012-10-12 2019-07-11 삼성전자주식회사 저항성 메모리 장치 및 그것의 구동방법
KR102056853B1 (ko) * 2013-01-18 2020-01-22 삼성전자주식회사 저항성 메모리 장치 및 그에 따른 동작 제어방법
US9343132B2 (en) * 2013-05-22 2016-05-17 Headway Technologies, Inc. MRAM write pulses to dissipate intermediate state domains
US9324426B2 (en) * 2014-06-02 2016-04-26 Integrated Silicon Solution, Inc. Method for improving sensing margin of resistive memory
US9442799B2 (en) * 2014-06-26 2016-09-13 Microsoft Technology Licensing, Llc Extended lifetime memory
US9484089B2 (en) * 2014-10-20 2016-11-01 Sandisk Technologies Llc Dual polarity read operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020046595A1 (en) * 2018-08-30 2020-03-05 Spin Memory, Inc. A method of optimizing write voltage based on error buffer occupancy

Also Published As

Publication number Publication date
US20160147599A1 (en) 2016-05-26

Similar Documents

Publication Publication Date Title
KR20160062809A (ko) 재쓰기를 이용하여 로우 비트 에러 레이트를 개선하는 메모리 시스템 및 그에 따른 재쓰기 방법
US9207949B2 (en) Storage device comprising variable resistance memory and related method of operation
CN106169302B (zh) 存储器装置和包括该存储器装置的电子装置
KR102237735B1 (ko) 저항성 메모리 장치의 메모리 코어, 이를 포함하는 저항성 메모리 장치 및 저항성 메모리 장치의 데이터 감지 방법
KR102265464B1 (ko) 분리 센싱 타입의 센싱 회로를 가지는 반도체 메모리 장치 및 그에 따른 데이터 센싱 방법
US20140016397A1 (en) Nonvolatile memory device and write method thereof
JP2014179155A (ja) ソースラインフローティング回路、それを含むメモリ装置及びメモリ装置の読み出し方法
US10224086B2 (en) Memory device with temperature-dependent reading of a reference cell
KR102519458B1 (ko) 비휘발성 메모리 장치 및 그것의 동작 방법
KR102020975B1 (ko) 반도체 메모리 장치의 전류 센스앰프 회로
US9257167B2 (en) Resistance change memory
EP3198603B1 (en) Magnetic field-assisted memory operation
CN109427376B (zh) 配置为防止由于泄漏电流进入位线的读取失败的存储设备
KR20150016797A (ko) 가상 분리 소스라인 구조를 갖는 불휘발성 반도체 메모리 장치의 메모리 셀 어레이
KR102132650B1 (ko) 열 내성 강화 고정 층을 갖는 반도체 소자
US9311981B2 (en) Semiconductor memory device having variable resistance memory and operating method
US9431083B2 (en) Nonvolatile memory device and storage device having the same
CN111755050A (zh) 非易失性存储器件
JP6557488B2 (ja) 不揮発性メモリ装置及びそれを含む格納装置、それの書込み方法及び読出し方法

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