KR20190141235A - 캘리브레이션 지원을 갖는 메모리 내에서의 지연 후-기록 - Google Patents

캘리브레이션 지원을 갖는 메모리 내에서의 지연 후-기록 Download PDF

Info

Publication number
KR20190141235A
KR20190141235A KR1020197034813A KR20197034813A KR20190141235A KR 20190141235 A KR20190141235 A KR 20190141235A KR 1020197034813 A KR1020197034813 A KR 1020197034813A KR 20197034813 A KR20197034813 A KR 20197034813A KR 20190141235 A KR20190141235 A KR 20190141235A
Authority
KR
South Korea
Prior art keywords
memory
page
data
mode
cache
Prior art date
Application number
KR1020197034813A
Other languages
English (en)
Other versions
KR102556115B1 (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 에버스핀 테크놀러지스, 인크.
Publication of KR20190141235A publication Critical patent/KR20190141235A/ko
Application granted granted Critical
Publication of KR102556115B1 publication Critical patent/KR102556115B1/ko

Links

Images

Classifications

    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)

Abstract

이전에 열렸던 페이지에 대응하는 데이터의 어레이로의 지연 후-기록을 갖는 메모리는 후-기록 동작들에 연관된 지연들이 피해지도록 허용한다. 모든 초기 활성화가 제1 페이지를 열고 그 페이지에 대한 판독/기록 동작들이 완료된 후, 메모리 셀들의 어레이로의 열린 페이지의 후-기록은, 새로운 페이지를 여는 후속하는 활성화 동작의 완료 이후까지 지연된다. 또다른 활성화 동작이 없을 때 후-기록을 강행시키기 위한 기술들이 또한 게시되어 있다. 캘리브레이션 및 테스팅 시퀀스들(sequences)이 또한 지원되는데, 여기서, 비-파괴 모드가 비-휘발성 메모리 어레이 내에 저장된 데이터 및 열려있는 페이지들이 클리어링되었다는 것을 표시하는데 사용되는 상태 비트들을 보호하여, 캘리브레이션 또는 테스팅의 결과인 나중의 의도하지 않은 지연 후-기록 동작이 비-휘발성 데이터를 손상시키지 않게 된다.

Description

캘리브레이션 지원을 갖는 메모리 내에서의 지연 후-기록
관련 출원(들)에 대한 교차-참조
이 특허 출원은 2017년 4월 27일자 제출된 미국 가출원 번호 제15/499,136에 대한 이득을 35 U.S.C. § 365하에서 주장하고, 그 전체는 참조에 의해 여기에 통합된다.
기술 분야
여기의 본 게시물은 일반적으로 어레이에 대한 지연 후-기록을 갖는 메모리 장치들에 관한 것으로, 특히, 캘리브레이션 절차들(calibration procedures)이 사용되는 메모리 장치들 내에서 이러한 지연 후-기록 동작들을 지원하기 위한 회로들 및 방법들에 관한 것이다.
스핀-토크 자기 메모리 장치들(spin-torque magnetic memory devices)은, 자기 터널 접합부(magnetic tunnel junction; MTJ)를 통과한 판독 전류가 자기저항 스택의 상태에 기초한 크기를 갖는 전압 강하를 초래하도록, 자기 터널 접합부를 가로지르는 저항을 제어함으로써 정보를 저장한다. 각각의 자기 터널 접합부 내의 저항은 자기저항 스택 내의 자기저항 층들의 상대적인 자기 상태들에 기초하여 가변할 수 있다. 이러한 메모리 장치들 내에는, 전형적으로 고정 자기 상태를 갖는 자기저항 스택의 일 부분 및 고정 자기 상태를 갖는 상기 일 부분에 대해 2개의 가능한 상태들 중 하나가 되도록 제어되는 자유 자기 상태를 갖는 또다른 부분이 있다. 자기 터널 접합부를 통과한 저항이 고정 부분에 대한 자유 부분의 방향에 기초하여 변하기 때문에, 자유 부분의 방향을 설정함으로써 정보가 저장될 수 있다. 정보는 나중에 자유 부분의 방향을 감지함으로써 검색된다. 이러한 자기 메모리 장치들은 본 기술에 잘 알려져있다.
자기 랜덤 액세스 메모리(magnetic random access memory; MRAM)와 같은 몇몇 자기저항 메모리 장치들은 다른 메모리 장치들에 의해서도 또한 사용되는 액세스 프로토콜들을 지원한다. 예를 들어, 동기식 2배 데이터 속도 프로토콜(예를 들어, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, DDR4 SDRAM, 등)을 사용하는 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM) 장치들이 본 기술에 잘 알려져있다. 몇몇 MRAM 장치들은 이러한 프로토콜들을 지원하는데, 여기서, DDR SDRAM 장치들에 대한 동일한 동작 코드들이 MRAM 장치들 내에서 동일한 또는 유사한 동작들을 초래한다.
다음의 상세한 설명은 본질적으로 단지 예시적인 것일 뿐, 주제나 본 출원의 실시예들 및 이러한 실시예들의 사용들을 제한하도록 의도된 것은 아니다. 여기에 예시적으로 설명된 어떠한 구현도 반드시 다른 구현들에 비해 선호되거나 이로운 것으로 구성된 것은 아니다.
단순하고 명확하게 나타내기 위해, 도면들은 다양한 실시예들의 일반적인 구조 및/또는 구성 방식을 묘사한다. 잘-알려진 특징들 및 기술들에 대한 설명들 및 세부사항들은 다른 특징들을 불필요하게 모호하게 하지 않기 위해 생략될 수 있다. 도면들 내의 요소들은 반드시 크기에 맞춰 그려진 것은 아니고: 예시적인 실시예들의 이해 개선을 돕기 위해, 몇몇 특징들의 크기들은 다른 요소들에 비해 과장될 수 있다.
"포함한다(comprise, include)" 및 "갖는다(have)"란 용어와 그것의 임의의 변형들은 비-배타적인 포함을 나타내기 위해 동의어로 사용된다. "예시적"이란 용어는 "이상적"이란 의미 보다는 "예"의 의미로 사용된다.
간결성을 위해, 예를 들어, 표준 자기 랜덤 액세스 메모리(MRAM) 처리 기술들, 바이어스 전압들의 생성, 자성 기본 원리들, 및 메모리 장치들의 기본 동작 원리들을 포함하는, 당업자들에게 알려진 종래 기술들, 구조들, 및 원리들은 여기에 설명되지 않을 수 있다.
이 설명이 진행되는 동안, 다양한 예시적인 실시예들을 나타내는 상이한 도면들을 따라, 유사한 요소들을 식별하기 위해 유사한 도면 참조 부호들이 사용될 수 있다.
간결성을 위해, 메모리 판독 및 기록에 관한 종래 기술들 및 특정 시스템들 및 하부시스템들(및 그것의 개개의 동작 구성요소들)의 다른 기능적인 양태들은 여기서 상세하게 설명되지 않을 수 있다. 더욱이, 여기에 포함된 다양한 도면들 내에 도시된 연결선들은 다양한 요소들 간의 예시적인 기능적 관계들 및/또는 물리적 연결들을 나타내도록 의도된 것이다. 많은 대안적인 또는 추가적인 기능적 관계들 또는 물리적 연결들이 본 주제의 실시예에 존재할 수 있다는 것이 주의되야 한다.
자기 메모리 장치들 및 다른 메모리 장치들은 종종 복수의 뱅크들(banks) 또는 하부어레이들(subarrays)로 나뉘는 메모리 셀들의 어레이를 포함한다. 이러한 메모리 장치들 내에서, 뱅크들 간의 액세스들이 데이터 처리량을 최적화하기 위해 인터리빙될(interleaved) 수 있도록, 각각의 뱅크는 개별적으로 액세스될 수 있다. 몇몇 자기 메모리 장치들은 DDR 메모리 프로토콜들을 지원하는데, 여기서, 활성화 동작은 특정 뱅크 내의 메모리 셀들의 페이지를 연다. 메모리 셀들의 "페이지"는 한 단위로 함께 액세스되는 메모리 셀들의 그룹으로 이해된다. 몇몇 예시들에서, "페이지"는 메모리 셀들의 "행"으로 이루어질 수 있다. 페이지를 열면, 페이지에 대한 데이터가 메모리 셀들의 어레이로부터 데이터가 보다 용이하게 액세스되는 캐시 또는 다른 형태의 임시 저장소로 이동한다. 페이지가 활성화되면(열리면), 페이지에 대한 판독 및 기록 동작들이 수행될 수 있다. 열린 페이지에 대한 판독/기록 동작들의 완료시에, 페이지가 닫힌다. 페이지가 닫히면, 어레이는 후속하는 페이지 활성화를 위해 준비된 상대로 반환되고, 닫힌 페이지 내의 데이터는 페이지를 다시 열지 않고는 판독들 및 기록들을 위해 또다시 액세스될 수 없다. 몇몇 메모리 장치들 내에서는, 활성화 명령 동안 임시 저장소로 이동된 데이터가 즉시 어레이 후기록되고, 몇몇 경우들에서는, 페이지가 열려있는 동안 수행된 기록 동작들에 대응하는 데이터가 또한 어레이 내의 메모리 셀들에 즉시 기록된다. 이러한 메모리 장치들 내에서, 사전 충전 동작은 단지 비트선들만을 사전 충전하고 페이지에 대응하는 워드선을 디-어서팅(de-asserting)할 수 있다. 다른 메모리 장치들 내에서는, 활성화 동안 임시 저장소로 이동된 데이터 및 열려있는 페이지에 기록된 데이터가 페이지를 닫기 직전까지 어레이에 저장되지 않는다. 이와 같이, 그러한 메모리 장치들 내에서, 사전 충전 동작은 임시 저장소에서부터 어레이로의 데이터의 후-기록을 수행하는 것을 또한 포함할 것이다. 데이터를 어레이에 후기록하기 위해 페이지가 닫히기 직전까지 기다림으로써, 메모리 장치는 전력을 절약하거나 데이터의 이동 또는 수정에 연관된 타이밍 사양들을 개선시킬 수 있다.
다수의 뱅크들을 가짐으로써 다수의 페이지들이 열릴 수 있고, 이에 따라, 액세스들의 인터리빙이 인에이블링(enabling)된다. 이는, 각각의 뱅크가 개별적인 판독 및 기록을 허용하는 대응하는 캐시 또는 그것만의 임시 저장소를 갖기 때문이다. 도 1은 3개의 상이한 뱅크들 내의 3개의 상이한 페이지들에 대응하는 복수의 메모리 판독들의 인터리빙을 도시한다. 각각의 블록은 다른 진행중인 동작들에 대해 특정한 동작에 의해 소비된 시간을 나타낸다. 블록들 중 상위 행(row)은 BANK1 PAGE1에 대한 판독 액세스를 나타낸다. 블록(110)에서, BANK1에 대한 활성화 동작이 일어난다. 활성화 동작 동안, PAGE1에 대응하는 데이터는 BANK1에 대응하는 어레이 부분으로부터 검색되어 판독/기록 액세스를 위해 캐시에 저장된다. 보다 상세히 후술된 바와 같이, 활성화 동작은 매우 시간 소모적일 수 있는데, 특히, 어레이 내에 저장된 데이터를 감지하기 위해 자가-참조 판독 동작을 사용하는 자기저항 메모리 장치들 내에서 특히 그러하다.
활성화 후, 판독 요청은 출력할 특정 데이터를 패칭(fetching)하기 위해 판독 액세스 시간을 필요로 한다. 이것은 "CAS 레이턴시(CAS latency)"를 위해 CL로 라벨링된(labeled) 블록(111)에 대응한다. CAS 레이턴시는 주로 판독 요청의 수신과 그 판독 요청에 대응하는 데이터의 출력 사이의 시간을 나타내기 위해 사용되는 용어이다. 그 시간은 열려있는 페이지 내의 특정 데이터를 선택하고 그 데이터를 메모리 장치의 출력부들에 라우팅하는 것에 대응한다. 판독 데이터는 블록(112) 동안 출력된다. 특히, 단지 BANK1 PAGE1에 대한 단일 판독 액세스만이 도시되어 있지만, 페이지가 열려있는 동안 많은 판독 및 기록 액세스들이 일어날 수 있다는 것이 이해된다. 도 1 및 2에 관련된 종래 기술의 메모리 장치들 내에서, 페이지에 대한 모든 액세스들이 완료되면, 블록(113)에서 사전 충전 명령은 페이지를 닫고 캐시 내의 데이터를 어레이에 후기록한다. 어레이에 대한 이러한 후-기록 동작은 또한, 데이터가 캐시 내에 있는 동안, 판독 및 기록 동작들을 수행하는데 필요한 시간에 비해 매우 시간 소모적일 수 있다.
도 1 및 2는 종래 기술의 메모리 장치 내에서의 데이터 액세스 동작들의 다양한 양태들의 상대적인 타이밍을 도시하는 블럭도들.
도 3은 예시적인 실시예에 따른 메모리 장치 내에서의 데이터 액세스 동작들의 다양한 양태들의 상대적인 타이밍을 도시하는 블럭도들.
도 4는 예시적인 실시예에 따른 자기 메모리 장치의 일 부분의 개략도.
도 5 내지 도 7은 예시적인 실시예들에 따른 자기 메모리 내에서 지연 후-기록을 수행 및 지원하기 위한 방법들에 대응하는 흐름도들.
도 8은 또다른 예시적인 실시예에 따른 연관된 타이밍도를 갖는 자기 메모리 장치의 일 부분의 계략도.
도 9 및 10은 예시적인 실시예들에 따른 지연 후-기록을 지원하는 메모리들 내에서 비-파괴 캘리브레이션을 수행 및 지원하기 위한 방법들에 대응하는 흐름도들.
도 1에 도시된 바와 같이, 다양한 동작들에 연관된 지연 중 몇몇을 "숨기기"위해, 다수의 페이지들이 다수의 뱅크들 내에서 열릴 수 있다. 이것은, 메모리 장치에 및 메모리 장치로부터 명령들, 주소들, 및 데이터를 전달하는데 사용되는 다양한 신호선들이 가장 효율적으로 사용되게 한다. 예를 들어, BANK1에 대한 활성화 명령이 메모리에 의해 수신되더라도, BANK2에 대응하는 제2 활성화 명령이 송신될 수 있다. BANK2가 자신만의 캐시를 가지므로, BANK2 내의 개별적인 페이지의 활성화는 BANK1의 PAGE1이 BANK2의 PAGE1과 동시에 열리는 것을 허용한다. 도 1 내의 블록들 중 제2 행은, 블록(120)에서의 BANK2 PAGE1의 활성화를 위한 시간이 BANK1 내에서의 활성화 및 판독의 부분들(110-112)과 중첩한다는 것을 도시한다. BANK2의 판독 동작은 타이밍 면에서 BANK1에서와 유사하고, 판독 액세스 시간(121), 판독 데이터 출력(122), 및 사전 충전 블록(123)을 포함하는 것으로 도시된다. 도 1의 제3 행은 BANK3에 대한 유사한 동작들(130-133)을 도시한다.
도 1에 도시된 바와 같이, 순차적인 액세스들이 상이한 뱅크들 내에 있기 때문에(예를 들어, 우선 BANK1으로부터, 그 후 BANK2로부터, 그리고 난 후 BANK3로부터의 판독), 액세스들의 인터리빙은 판독 데이터가 메모리 장치에 의해 비교적 끊임없이 출력되게 할 수 있다. BANK1에 대한 판독 데이터(112)는 BANK2에 대한 판독 데이터(122)가 즉시 뒤따르고, 판독 데이터(122)는 결국 BANK3에 대한 판독 데이터(132)가 뒤따른다. 뱅크들 간의 인터리빙이 활성화, 판독 액세스 시간, 및 사전 충전에 연관된 지연들을 적어도 어느 정도 숨길 수 있기 때문에, 높은 처리량이 달성될 수 있다.
그러나, 도 2에 도시된 바와 같이, 몇몇 예시들에서, 순차적인 액세스들은 동일한 뱅크 내의 상이한 페이지들에 대한 것일 수 있다. 도시된 예에서, 블록(210)에서 BANK1 PAGE1이 활성화되고, 판독 액세스 시간(211) 후에, 판독 데이터(212)가 출력된다. 다음 액세스가 BANK1 PAGE2에 대한 판독이면, BANK1의 PAGE2가 활성화(220)를 통해 열릴 수 있기 전에, BANK1의 PAGE1이 사전 충전(213)을 통해 닫혀야만 한다. 활성화(220)에 이어서, 판독 데이터(222)는 판독 액세스 시간(221) 이후까지 출력되지 않는다. 그 후 사전 충전(223)이 BANK1의 PAGE2를 닫는다. 도 2로부터 명백해질 바로서, 동일한 뱅크에 대한 이러한 백-투-백 액세스들(back-to-back accesses)은 활성화, 판독 액세스 시간, 및 사전 충전에 연관된 시간을 충분히 숨기지 못한다. 마지막 판독 데이터가 출력될 때(즉, 판독 데이터 블록(212)의 완료 약간 전에) 사전 충전 동작이 시작될 수는 있지만, 도시된 바와 같이, 제1 페이지로부터의 판독 데이터 출력(212)과 제2 페이지로부터의 판독 데이터 출력(222) 간의 시간 지연이 상당하다.
현재의 동적 랜덤 액세스 메모리들(DRAM)에서, 활성화 및 사전 충전 동작들에 연관된 타이밍은 다른 양태들의 데이터 액세스 사이클의 타이밍보다 훨씬 크지는 않으므로, 도 2 내에 나타낸 것과 같은 백-투-백 동작의 지연은 허용가능하다. 그러나, MRAM들에서는, 활성화 및 후-기록 동작들이 종종 훨씬 오래 걸리므로, 이러한 동일한-뱅크의 순차적인 액세스들에 대한 데이터 액세스들 간에 더 큰 바람직하지 않은 지연이 초래된다.
몇몇 MRAM들에서는, 액세스될 페이지에 대한 어레이 내에 저장된 데이터를 감지하기 위해 자가-참조 판독 동작이 사용된다. 예시적인 자가-참조 판독에서, 페이지 내의 각각의 메모리 셀들을 통과한 초기 저항이 감지된 후, 페이지 내의 모든 메모리 셀들이 알려진 상태로 기록되고, 마지막으로, 각각의 셀들을 통과한 기록-후 저항이 또다시 감지되어 기록 이전에 감지되었던 초기 저항과 비교된다. 알려진 상태로 기록한 후에 저항이 동일한지 여부는 메모리 셀의 초기 상태를 표시한다. 특히, 자가-참조 판독은 파괴적이고, 모든 메모리 셀들을 2개의 감지 동작들 사이에 기록된 알려진 상태로 남겨둔다. 이러한 자가-참조 판독 동작은 종종 다른 양태들의 메모리 액세스들에 비해 상당한 시간이 걸린다. 예를 들어, MRAM 내의 페이지를 활성화하는 것은 대략 수백 나노초를 필요로 할 수 있는 반면, 열려있는 페이지에 대한 판독 동작은 대략 수십 나노초일 수 있다.
마찬가지로, 판독/기록 액세스들의 완료시에 데이터의 페이지를 어레이에 후-기록하기 위해 필요로 되는 시간이 상당할 수 있다. 예를 들어, MRAM 장치의 수명을 연장시키기 위해, 스핀-토크 메모리 셀 내의 자유 층의 상태를 신속하게 변경시킬 수 있는 큰 크기의 기록 전류 펄스들이 전형적으로 피해지는데, 이는, 그러한 큰 펄스들이 자기저항 스택 내의 민감한 층들을 손상시킬 수 있기 때문이다. 층들의 붕괴를 피하기 위해, 더 낮은 크기 및 더 긴 지속시간의 기록 펄스들이 종종 이용되는데, 이는, 그들이 자유 층으로 하여금 장치 층들에 악영향을 거의 주지 않으면서 스위칭되게 하기 때문이다. 메모리 장치들에 대한 더 긴 수명을 촉진시키지만, 이러한 긴-지속시간 기록 펄스들은 후-기록 동작들을 위해 필요로 되는 시간을 늘린다.
여기에 게시된 실시예들은 자기저항 메모리 장치들 내의 전체 처리량을 개선시키도록 돕기 위해 닫힌-페이지 데이터의 지연 후-기록을 사용한다. 이것은, 후-기록의 수행이 판독들 및 기록들에 연관된 다른 진행중인 동작들의 타이밍에 악영향을 미치지 않을 때까지 닫혀있는 페이지에 대응하는 데이터의 후-기록을 지연시킴으로써 달성된다. 여기에 게시된 바와 같이, 몇몇 실시예들에서, 이전에 열렸던 페이지에 대응하는 후-기록은 액세스될 다음 페이지에 대한 활성화 동작에 이어서 수행된다. 몇몇 실시예들에서, 이러한 지연 후-기록을 메모리 내에서 지원하는 것은, 다른 메모리 지원 기능을 구현시키는 추가적인 회로 또는 기술들을 필요로 할 수 있다. 예를 들어, 몇몇 메모리 프로토콜들은 메모리와, 예를 들어, 메모리 제어기와 같은 다른 집적 회로들 간의 시그널링(signaling)에 연관된 타이밍을 최적화하기 위해 기동(startup)시에 캘리브레이션 시퀀스들(calibration sequences)을 사용한다. 더욱 후술된 바와 같이, 지연 후-기록 동작들을 포함하는 메모리의 맥락에서 이러한 캘리브레이션 동작들을 지원하는 것은, 이러한 캘리브레이션 동작들이 이러한 메모리 장치들 상에 저장된 데이터의 비-휘발성 성질에 부정적으로 영향을 미치지 않도록 보장하는 추가적인 회로들 및 기술들의 혜택을 얻을 수 있다.
도 3은 지연 후-기록 개념을 나타내는 것을 돕는다. 도 3에 도시된 바와 같이, 블록(320)에서, BANK1 PAGE2에 대한 활성화가 일어난다. 판독 액세스 시간(321)에 이어서, 판독 데이터(322)가 출력된다. BANK1 PAGE2에 대응하는 활성화 동작이 완료되고 PAGE2 데이터가 어레이에서부터 판독 및 기록 동작들을 위해 사용되는 캐시로 전달되면, 어레이 내의 BANK1는 더이상 활성이 아니다. 이와 같이, 이전에 열렸던 뱅크에 대응하는 후-기록 동작은, 새롭게 활성화된 뱅크에 대한 판독 및 기록 동작들이 일어나는 시간 동안 수행될 수 있다. 도 3에 도시된 바와 같이, 블록(313)에서의 BANK1 PAGE1에 대한 후-기록 동작은, BANK1 PAGE2에 대한 활성화 동작(320)이 완료되면, 일어난다. 도 3이 블록(313)을 "사전 충전 후-기록 BANK1 PAGE1"으로 라벨링하고 있지만, 몇몇 경우들에서는, 블록(313)에서 수행되는 후-기록 동작들이 메모리에 의해 수신된 사전 충전 명령의 결과가 아니라는 것이 인식되야한다. 몇몇 실시예들에서, 페이지에 대한 판독/기록 동작들이 완료되었다는 표시는 메모리 장치에 의한 사전 충전 명령의 수신에 기초한다. 다른 실시예들에서, 데이터의 후-기록은 동일한 뱅크에 대한 후속하는 활성화 동작에 응답하여 일어난다. 추가적으로 상세히 후술된 바와 같이, 블록(313)에 도시된 것과 같은 후-기록 동작들을 유발하기 위해, 몇몇 실시예들에서는 추가적인 명령들 또는 신호들이 사용된다.
전술된 바와 같이, 닫혀있는 뱅크에 대한 후-기록 동작들은 전형적으로, 그 뱅크에 대한 판독 및 기록 액세스들이 완료되자마자 일어나고, 이러한 후-기록 동작은 전형적으로 메모리 장치에 의해 수신된 사전 충전 명령에 의해 촉진된다. 여기에 설명된 바와 같이, 판독 및 기록 액세스들의 완료 즉시 후-기록을 수행하여, 그 후-기록 동작이 완료된 후까지, 후속하는 활성화 동작이 어레이로부터 데이터를 패칭하지 못하게 하기 보다는, 여기에 게시된 실시예들은, 후-기록이 숨겨지고 후속하는 활성화 동작의 타이밍에 영향을 미치지 않을 수 있을 때까지, 그 후-기록 동작을 지연시킨다. 이전에 열렸던 페이지에 대한 후-기록이 닫힌 페이지에 대응하는 데이터를 어레이에 기록하는 것이기 때문에, 다음 페이지가 열린 후에 후-기록 동작이 일어나도록, 후-기록 동작을 편이(shifting)시킴으로써 어떠한 불리한 지연도 초래되지 않는다. 즉, 또다른 상이한 페이지가 현재 액세스되고 있으므로, 데이터를 어레이에 다시 배치하기 위해 서두르지 않는다.
도 3에 나타낸 바와 같이, 뱅크 내의 이전에 열렸던 페이지에 대응하는 후-기록을, 그 뱅크에 대한 다음 활성화 동작이 완료된 후까지 지연시킴으로써, 그 뱅크에 연관된 사전 충전 시간이 숨겨질 수 있어, 메모리 장치에 대한 레이턴시 및 처리량 특성들이 크게 개선된다. 사실, 도 3에 도시된 바와 같이, 메모리는 그 뱅크 내의 이전에 열렸던 페이지에 대한 후-기록이 일어나는 동안, 데이터를 판독 및 기록할 수 있다(예를 들어, 블록(322)). 도 3에서, 메모리 장치의 초기 상태는 BANK1 PAGE1이 이전에 열렸지만, 그 페이지에 대응하는 판독 및 기록 동작들은 완료되었고, PAGE1 데이터가 어레이에 후 기록될 준비가 되어 있는 시점에 대응한다. PAGE1 데이터가 후-기록될 준비가 되어 있으면서, BANK1 PAGE2에 대응하는 활성화 명령이 수신되었고, 이에 따라, PAGE2가 판독 및 기록 액세스들을 위해 열릴 것임을 나타낸다. PAGE2의 활성화 이전에 PAGE1에 대한 후-기록 동작을 완료하는 대신, PAGE2가 먼저 열리고, 그 활성화가 완료되면, PAGE2를 활성화하거나 새롭게-열린 PAGE2 내의 데이터에 액세스하는 것에 연관된 임의의 동작을 지연시키지 않으면서(예를 들어, 판독 액세스 시간(321) 및 판독 데이터(322)), PAGE1에 대한 후-기록 동작이 일어날 수 있다. 이것은, 이러한 지연 후-기록이 사용되지 않는 시스템들에 비해 상당한 타이밍 이점을 제공한다.
BANK1 PAGE2에 대한 액세스들에 이어서, BANK1의 PAGE3에 대한 활성화 동작이 블록(330)에서 일어난다. PAGE3에 대한 활성화의 완료 즉시, BANK1 PAGE2에 대한 후-기록이, PAGE3에 대한 판독 액세스 시간(331) 및 판독 데이터(332)가 동시에 일어나면서, 일어날 수 있다. 마찬가지로, PAGE3에 대한 후-기록은, 블록(340)에서 BANK1 PAGE4에 대한 활성화가 완료되면, 시작된다. 특히, 이전에 열렸던 페이지에 대한 후-기록 동작은, 후-기록이 일어나지 못하게 할 다음 활성화 명령의 모든 부분들이 완료되자마자 일어날 수 있다. 예를 들어, 후-기록 및 활성화의 몇몇 부분들이 메모리 장치 상의 동일한 회로(예를 들어, 기록 드라이버들, 열 디코더들, 등)를 사용하지만, 다른 부분들은, 후-기록 동작이 시작될 때 활성화 동작의 몇몇 양태들이 완료되지 않도록, 독립적인 회로를 사용할 수 있다.
여기에 설명된 실시예들은 이전에 열렸던 페이지에 대응하는 데이터를 어레이에 후-기록하기 위해, 활성화 동작 이후의 시간(새롭게 열린 페이지에 대한 판독들 및 기록들이 일어나고 있을 때)을 사용한다. 이것을 달성하기 위해, 이전에 열렸던 페이지에 대응하는 데이터는 액세스될 새로운 페이지의 활성화를 간섭하지 않을 위치에 저장되어야만 한다. 몇몇 실시예들에서, 메모리 장치의 각각의 뱅크는 2개의 캐시 구조들을 포함하는데, 여기서, 제1 캐시는 열린 페이지에 대한 판독/기록 동작들을 위한 주요 또는 활성 캐시로 동작하고, 제2 캐시는 액세스들이 완료되었지만 후-기록은 아직 일어나지 않은 페이지에 대응하는 데이터를 위한 임시 저장 위치로 동작한다.
도 4로 넘어가서, 다양한 실시예들에 따른 메모리 장치(400)의 일 부분의 개략도가 제공된다. 메모리 장치(400)는 메모리 셀들의 어레이(405)를 포함한다. 몇몇 실시예들에서, 메모리 셀들은 비-휘발성 스핀-토크 MRAM 셀들인 반면, 다른 실시예들에서, 메모리 셀들은, 예를 들어, DRAM 셀들 또는 다른 저항성 메모리 셀들과 같은 다른 유형들의 메모리 셀들이다. 도 4에 도시된 바와 같이, 어레이(405)는 BANK1(410) 및 BANK2(420)를 포함하는 복수의 뱅크들을 포함한다. 각각의 BANK1(410) 및 BANK2(420)는, 뱅크들(410 및 420) 내의 페이지들에 대한 판독 및 기록 액세스들을 위한 데이터를 일시적으로 저장하기 위해 사용되는 회로(414 및 424)의 대응하는 세트를 각각 포함한다. BANK1(410)에 대한 회로(414)는 제1 캐시(415), 제2 캐시(416), 및 갱신 회로(417)를 포함한다. 패리티 계산기(parity calculator)(418) 및/또는 다수 검출 회로(419)를 포함할 수 있는 갱신 회로(417)는 추가적으로 상세히 후술되어 있다.
도 4에 도시된 바와 같이, 데이터가 어레이(405)의 BANK1(410)과 캐시들(415 및 416) 사이에 전달되도록, 캐시들(415 및 416)이 BANK1(410)에 연결된다. 몇몇 실시예들에서, 각각의 캐시들(415 및 416)은 정적 랜덤 액세스 메모리(static random access memory; SRAM) 메모리 셀들을 포함하는 반면, 다른 실시예들에서, 캐시들(415 및 416)은 데이터를 저장하기 위해 사용되는 레지스터들, 플립-플롭들(flip-flops), 또는 다른 저장 회로들로 이루어진다. 캐시들(415 및 416)은 BANK1로부터의 데이터의 페이지를 수용하기에 충분한 저장소를 포함하고, 페이지의 주소, 페이지에 대한 패리티 또는 다른 에러 정정 코드(error correction code; ECC) 정보, 및 페이지에 관련된 임의의 반전 또는 다른 정보를 저장하기 위한 추가적인 저장소를 또한 포함할 수 있다. 몇몇 예시적인 실시예들에서, 캐시들(415 및 416)은 8 또는 16 비트/워드에서 대략 64 데이터 워드이다. 다른 예시적인 실시예들에서, 캐시들은 128 또는 256개의 워드들을 저장한다. 몇몇 실시예들에서, 워드 크기가 증가할 때(예를 들어, 8 비트에서 16 비트로), 저장되는 데이터 워드들의 개수를 유지하기 위해, 뱅크들이 조합된다. 캐시들의 크기 및 액세스된 페이지들의 크기는 응용사례의 필요에 맞게 적응될 수 있다.
도 4에 나타낸 바와 같이, 어레이(405) 내의 각각의 뱅크는 캐시들 및 갱신 회로의 대응하는 세트를 갖는다. BANK2(420)는 갱신 회로(427)와 함께 캐시들(425 및 426)에 연결되도록 도시되어 있다. 각각의 뱅크에 대해 개별적인 캐시 구조들을 가짐으로써, 상이한 뱅크들 내의 다수의 페이지들이 동시에 열릴 수 있어, 인터리빙된 액세스들이 허용된다. 도 4에 묘사된 실시예가 모든 뱅크에 대해 2개의 캐시들을 도시하고 있지만, 다른 실시예들에서는, 각각의 뱅크에 대해 3개 이상의 캐시들이 포함되어, 2개 이상의 페이지에 대한 후-기록이 나중 시점까지 지연될 수 있다. 이러한 추가적인 캐시들은, 후-기록에 필요한 시간이 활성화 동작들에 필요한 시간보다 훨씬 길거나 액세스 패턴이 다수의 페이지들에 대한 후-기록의 지연으로부터 혜택을 얻는 실시예들에 적합할 수 있다. 아직 다른 실시예들에서, 각각의 뱅크는 판독/기록 동작들을 위해 열려있는 페이지의 저장을 위한 하나의 대응하는 캐시를 갖지만, 제2 캐시는 하나 이상의 다른 뱅크들과 공유하는데, 여기서, 제2 캐시는 오로지 아직 후 기록되지 않은 닫혀있는 페이지에 대응하는 데이터를 저장하기 위해 사용된다. 뱅크들 간에 후-기록 캐시를 공유하는 것은, 모든 뱅크들이 동시에 후-기록 캐시를 사용하고자 요구할 때 충돌들이 일어나지 않도록 보장하기 위해, 그러한 뱅크들에 대한 활성화 동작을 제한할 수 있다는 것에 유의해야 한다.
제어 회로(450)는 어레이(405) 및 회로(414)에 연결되고, 여기서, 회로(414)는 갱신 회로(417)뿐만 아니라 캐시들(415 및 416)을 포함한다. 도 4에 도시된 실시예에서, 제어 회로(450)는 어레이(405) 내의 모든 뱅크들 및 그러한 뱅크들에 대한 모든 캐시 구조들 및 갱신 회로에 연결된다. 이와 같이, 도 4의 실시예에서 제어 회로(450)는 메모리 액세스 동작들에 걸친 전반적인 제어를 제공한다. 다른 실시예들에서는, 각각의 뱅크에 대한 동작들이 개별적으로 제어되도록, 각각의 뱅크에 대해 전용 제어 회로가 제공된다.
예를 들어, 상태 기기, 프로세서, 마이크로제어기, 또는 논리 회로를 포함할 수 있는 제어 회로(450)는 메모리 장치에 의해 지원되는 다양한 메모리 액세스 동작들을 위한 데이터의 이동 및 그 데이터 상에서 수행되는 동작들을 제어하도록 구성된다. 제어 회로(450)는 명령들(434) 및 리셋 신호(reset signal)(435)를 수신한다. 다른 실시예들에서, 제어 회로(450)는 메모리 장치 내부로부터의 또는 메모리 장치 외부로부터의 추가적인 신호들을 수신하는데, 이 추가적인 신호들은 제어 회로(450)에 데이터 저장 및 검색 동작들을 용이하게 하기 위한 정보 또는 명령들을 제공한다. 예를 들어, 제어 회로(450)는 어떤 즉각적인 액세스들도 임박해있지 않는다는 것을 표시하는 자가-리프레시 신호(self-refresh signal)를 수신할 수 있고, 이러한 신호가 어서팅된 동안 메모리 장치는 다른 동작들을 수행할 기회를 갖는다. 제어 회로(450)에 의해 수신된 명령들(434)은 메모리 장치에 명령들을 발행하는 외부 메모리 제어기 또는 다른 제어 장치로부터 수신된 명령들을 포함할 수 있다. 예를 들어, 외부 메모리 제어기가 제어 회로(450)에 명령들(434)을 제공할 수 있는데, 여기서, 이러한 명령들은 활성화, 판독, 기록, 사전 충전, 자동 사전 충전을 갖는 판독, 자동 사전 충전을 갖는 기록, 및 리프레시 명령들을 포함한다. 다른 실시예들에서, 메모리 장치의 활동들을 지시하는 명령들은, 몇몇 공유 회로는 각각의 명령에 관련된 활동들 중 몇몇을 수행하고, 제어 회로(450)는 메모리 장치에 의해 수신된 더 높은-수준 명령들로부터 유도된 보다 국부적인 명령들(434)을 수신하도록, 계층적인 방식으로 처리될 수 있다.
동작시, 제어 회로(450)는 메모리 장치에 의해 수신된 제1 활성화 명령에 응답하여 어레이 내의 제1 위치로부터의 제1 페이지 데이터를 제1 캐시에 전달하도록 구성된다. 도 4에 대응하는 예에서, 제1 활성화 명령은, 제어 회로(450)가 BANK1(410) 내의 FIRST PAGE(411)에 대응하는 데이터를 캐시(415)로 전달하기 위해 적합한 신호들을 어레이(405) 및 캐시(415)에 제공하게 한다. 몇몇 실시예들에서, FIRST PAGE(411)에 대한 데이터를 캐시(415)에 로딩(loading)하는 것은 FIRST PAGE(411)에 포함된 메모리 셀들에 대해 자가-참조 판독을 수행하는 것을 포함한다. 다른 실시예들에서, 참조 판독 동작들(예를 들어, 여기서 각각의 메모리 셀의 저항이 그것 내에 저장된 데이터를 결정하기 위한 기준에 비교됨) 또는 각각의 메모리 셀에 저장된 데이터를 알아내기 위한 다른 기술들이 FIRST PAGE(411)에 대한 데이터를 캐시(415)에 로딩하기 위해 사용된다.
FIRST PAGE(411)에 대한 데이터가 캐시(415)에 로딩되면, FIRST PAGE(411)는 "열였다"고 고려되고, FIRST PAGE(411)에 대한 판독 및 기록 동작들이 캐시(415) 내의 데이터를 판독하거나 캐시(415) 내에 데이터를 오버라이팅(overwriting)함으로써 일어날 수 있다. 각각의 판독 또는 기록 명령은 FIRST PAGE(411) 내의 특정 워드들 또는 워드 세트들이 액세스되게 하는 주소 정보를 동반한다. FIRST PAGE(411)에 대한 모든 판독 및 기록 액세스들이 완료되면, 기록 동작들에 의해 추가된 새로운 데이터를 포함할 수 있는 FIRST PAGE(411)에 대한 데이터는 캐시(415)에서 캐시(416)로 이동된다. 몇몇 실시예들에서, FIRST PAGE(411)에 대한 판독/기록 동작들이 완료되었다는 표시는 메모리 장치에 의한 사전 충전 명령의 수신에 기초한다. 다른 실시예들에서는, 데이터가 주요 캐시로 언급된 수 있는 캐시(415)에, BANK1(410)에 대한 후속하는 활성화 동작이 메모리 장치에 의해 수신될 때까지 유지된다. 추가적으로 상세히 후술된 바와 같이, 몇몇 실시예들에서는, 캐시(415) 내의 데이터가 캐시(416)로 이동하거나 어레이(405)의 BANK1으로 직접 돌아가게 하기 위해 추가적인 명령들 또는 신호들이 사용된다.
제1 페이지 데이터를 제1 캐시(415)에서 제2 캐시(416)로 전달한 후, 제1 캐시(415)는 새로운 페이지에 대응하는 데이터를 수신할 수 있게 된다. 따라서, BANK1(410)의 SECOND PAGE(412)에 대응하는 제2 활성화 명령에 응답하여, 제어 회로(450)는, SECOND PAGE(412)에 대응하는 제2 페이지 데이터가 어레이(405)의 BANK1(410) 내의 SECOND PAGE(412)에 대응하는 위치에서 캐시(415)로 전달되도록 적절한 제어 신호들을 발행한다. 따라서 SECOND PAGE(412)는 "열리고" 판독 및 기록 동작들이 가능하게 된다. SECOND PAGE(412)에 대한 활성화 동작이 완료되거나 BANK1에 대한 후-기록 동작을 간섭하지 않도록 충분히 멀리 진행되었으면, 캐시(416)에 저장된 FIRST PAGE(411)에 대응하는 제1 페이지 데이터는 어레이(405)의 BANK1 내의 적절한 위치에 후기록될 수 있다. 전술된 바와 같이, FIRST PAGE(411)에 대한 주소가 캐시(416) 내에 저장된 데이터와 함께 포함될 수 있으므로, 제1 페이지 데이터가 어레이(405) 내에 기록될 위치도 알려지게 된다. 다른 실시예들에서는, 패리티 정보 또는 반전 상태와 같은 임의의 다른 적절한 페이지-특정 정보와 함께 각각의 페이지에 대한 주소 정보를 저장하기 위해 개별적인 레지스터 또는 저장 위치가 사용될 수 있다.
몇몇 실시예들에서는 데이터 오류들을 방지하거나 줄이기 위해 패리티 정보 또는 다른 형태의 ECC가 사용된다. 패리티 계산은 본 기술에서 잘 알려져있으며, 뱅크 내의 페이지에 대한 패리티 비트들의 세트를 페이지 데이터와 함께 저장하는 것은 데이터 유효성을 확인하기 위한 패리티 검사를 허용하고, 몇몇 예시들에서는 데이터 오류들의 정정을 허용할 수 있다. 도 4에 관련하여 전술된 예에서, FIRST PAGE(411)에 대응하는 제1 페이지 데이터가 어레이(405)에 후 기록되면, 그 데이터는 패리티 정보를 포함할 수 있다. FIRST PAGE(411)에 포함된 데이터가 FIRST PAGE(411)가 열려있는 동안 수행되는 기록 동작들에 의해 수정될 수 있으므로, 데이터가 어레이(405)에 후기록되기 전에 새로운 패리티 계산들이 수행될 필요가 있다. 몇몇 실시예들에서는, 캐시(415) 내에 데이터와 함께 저장된 패리티 정보가 항상 최신이기 위해 페이지에 대한 각각의 기록 동작이 완료될 때마다 패리티 계산들이 수행된다. 이러한 실시예들에서, 정확한 패리티 정보는 나중에 후기록하기 전에 캐시(415)에서 캐시(416)로 데이터와 함께 편이될 수 있다. 그러나, 이러한 패리티 계산들을 실시간으로 수행하는 것은 시간 및 자원 면에서 비용이 많이 들 수 있다(예를 들어, 여분의 전력 소비가 필요할 것임). 이와 같이, FIRST PAGE(411)에 대한 데이터가 캐시(416)로 이동할 때 FIRST PAGE(411)에 대한 기록 동작들이 더 이상 일어나지 않을 것임이 알려지므로, FIRST PAGE(411)에 대한 패리티 계산들은 캐시(415)에서 캐시(416)로의 데이터 이동과 함께 수행될 수 있다. 도 4에서, 패리티 계산기(418)는 갱신 회로(417) 내에 포함되고, 여기서, 패리티 정보는 데이터가 캐시(415)에서 캐시(416)로 전달될 때 갱신된다.
선택된 페이지 내의 모든 메모리 셀들을 제1 상태로 기록하는 파괴적인 자가-참조 판독 동작들은 활성화 동작의 종료시에 모든 셀들을 동일한 상태로 남겨두므로, 페이지가 후기록되기 전에 페이지 내의 다수의 비트들이 제1 상태(예를 들어, 이진수 "0")인지 또는 제2 상태(예를 들어, 이진수 "1")인지를 결정하는 것은 전력 소비를 줄이도록 도울 수 있다. 예를 들어, 활성화 동작이 페이지 내의 모든 메모리 셀들을 이진수 "0"에 대응하는 제1 상태로 남겨두면, 그리고 데이터가 후기록될 준비가 되어 있을 때, 후기록될 페이지 내의 다수의 비트들이 "0"이면, 메모리 셀의 절반 미만이 그러한 셀들 내의 자유 층을 이진수 "1"에 대응하는 상태로 변경시키는데 사용되는 하나 이상의 기록 펄스들을 필요로 할 것이다. 그러나, 페이지 내의 다수의 비트들이 "1"이면, 메모리 셀의 절반 이상이 그들의 상태를 변경시키도록 기록되어야만 할 것이다. 이러한 예시에서는, 이전에 "0"을 나타내던 상태가 이제 "1"을 나타내도록 페이지에 대한 모든 비트들을 반전시키는 것이 유용할 수 있다. 다수가 그 상태에 대응하지 않을 때 모든 비트들을 반전시킴으로써, 메모리 셀들은 활성화가 완료될 때로 남아있게 되고, 후기록은 페이지 내의 메모리 셀들 중 절반 이하에 대한 기록을 항상 수반할 것이다.
다수 검출(majority detection) 이후의 이러한 반전을 지원하기 위해, 각각의 페이지에 대해 반전 상태 비트가 유지되어, 그 페이지에 대한 어레이(405) 내에 저장된 데이터가 반전되었는지 아닌지를 표시한다. 추가적으로, 페이지가 열려있었던 동안 페이지 내의 데이터가 수정되었으면, 페이지의 후-기록 이전에 각각의 페이지에 대해 다수 검출이 일어날 필요가 있다. 이와 같이, 다수 검출기(419)가 갱신 회로(417) 내에 포함된다. 패리티 계산에 대한 경우와 같이, 다수 검출은 각각의 기록 동작과 함께 실시간으로 수행될 수 있지만, 페이지가 닫힐 처리 중에 있을 때, 다수 검술 및 반전 비트의 설정을 수행하는 것이 더욱 효율적일 것이다. 따라서, 몇몇 실시예들에서, 다수 검출은, 페이지에 대한 데이터가 제1 캐시(415)에서 제2 캐시(416)로 전달될 때 수행된다.
다양한 위치들 간의 데이터 이동 및 패리티 계산, 다수 검출, 등에 연관된 단계들의 수행에 연관된 모든 내부 동작들을 용이하게 하기 위해, 제어 회로(450)는, 올바른 동작들이 올바른 순서로 올바른 시간에 수행되도록 메모리 장치 상의 회로에 지시하는 복수의 타이밍 신호들을 생성한다. 몇몇 실시예들에서, 그러한 타이밍 신호들은 지연 회로(455)에 의해 생성되는데, 지연 회로(455)는 제어 회로(450) 내에 포함된 것으로 도시되어 있다. 몇몇 실시예들에서, 지연 회로는 메모리 어레이(405) 내의 데이터에 액세스할 때 일어나는 다양한 기능들에 연관된 타이밍 신호들을 생성하는데 사용되는 복수의 지연 블록들 또는 회로들을 포함한다. 예를 들어, BANK1 내의 이전 페이지가 아직 후기록되지 않은 상황에서 BANK1에 대한 활성화 동작에 응답하여, 캐시(415)로부터의 데이터가 캐시(416)로 이동하고, 임의의 패리티 계산 및 다수 검출이 수행되고, 열릴 페이지가 캐시(415)로 로딩되었다가, 활성화가 완료되면, 캐시(416) 내의 데이터가 어레이(405)로 후기록되도록 하기 위한 복수의 타이밍 신호들이 생성된다. 따라서, 활성화를 표시하는 신호의 단일 천이(transition)가, 적절한 동작들이 적절한 시간에 일어나도록 지연 회로(455)에 의해 시간적으로 적절하게 이격된 다수의 신호 천이들을 트리거링(triggering)할 수 있다. 다양한 타이밍 신호들 사이의 간격은, 상이한 동작들이 수행되는 상대적인 시간이, 예를 들어, 프로그래밍가능 레지스터 내에 값들을 저장시킴으로써 조정될 수 있도록 프로그래밍가능할 수 있다.
몇몇 예시들에서, 동일한 뱅크 내의 동일한 페이지에 대응하는 순차적인 활성화들이 수신될 수 있다는 것을 유의하자. 예를 들어, FIRST PAGE(411)가 열리고, FIRST PAGE(411) 내의 데이터에 대한 다수의 판독/기록 동작들이 수행된 후, FIRST PAGE(411)가 닫혀야한다고 표시하는 사전 충전 명령이 수신될 수 있다. 몇몇 실시예들에서는, 사전 충전 명령의 수신이 데이터의 어레이로의 후기록를 초래하지 않는데, 이는 제어 회로(450)가 다음 활성화 명령이 그렇게 하기를 기다리고 있기 때문이다. 이와 같이, FIRST PAGE(411)을 다시-열도록 메모리에게 지시하는, FIRST PAGE(411)에 대응하는 새로운 활성화 동작이 수신되면, FIRST PAGE(411)에 대한 데이터가 어레이(405)의 BANK1(410) 내에 아직 반환되지 않았기 때문에, 어레이(405)에서 캐시(415)로의 데이터의 전달은 FIRST PAGE(411)에 대한 데이터를 캐시(415) 내에 위치시키지 않을 것이다. 몇몇 실시예들에서, FIRST PAGE(411)에 대한 재-활성화 명령이 수신되면, FIRST PAGE(411)에 대한 데이터는 캐시(415) 내에 여전히 있는다. 이와 같이, 몇몇 실시예들에서, 제어 회로(450)는 활성화 명령을 동반하는 주소를 마지막으로 열린 페이지의 주소와 비교하도록 구성된 페이지 주소 비교기를 포함한다. 비교가 열릴 새로운 페이지가 이전 페이지와 동일하다고 표시하고, 이전에 열렸던 페이지에 대한 데이터가 여전히 주요 캐시(415) 내에 있으면, 제어 회로(450)는 아무것도 하지 않을 것이다. 열릴 새로운 페이지가 이전 페이지와 동일하고 그 페이지에 대한 데이터가 이미 캐시(416)로 전달되었으면, 그 데이터는 캐시(415)로 바로 다시 전달되거나, 데이터가 어레이로부터 또다시 검색되고 캐시(415)로 로딩되기 전에 어레이(405)에 후기록될 수 있다.
이전 페이지의 지연 후-기록에 대한 또다른 잠재적인 문제는, 데이터의 이전 페이지가 사전 충전 명령에 응답하여 후기록되지 않고, 대신 결코 오지 않을 또다른 활성화 명령을 기다리고 있을 때 일어난다. 예를 들어, 전원이 꺼지기 전의 뱅크에의 마지막 데이터 액세스들은 캐시(415) 또는 캐시(416) 내에 잔류하는 액세스된 페이지에 대한 데이터가 다음 활성화를 기다리게 할 수 있다. 이러한 활성화가 없으면, 어레이(405)에 대한 후-기록은 보통 개시되지 않을 것이다. 이와 같이, 데이터가 어레이(405)에 후기록되지 않으면서 전력-차단이 일어날 수 있다. 캐시 구조들이 휘발성 저장소이면, 데이터는 손실될 수 있다.
몇몇 실시예들에서, 이 문제는 각각의 뱅크에 대한 하나 또는 둘 모두의 캐시들을 위해 비-휘발성 저장소를 사용함으로써 해결된다. 다른 실시예들에서는, 새로운 활성화 명령이 수신되지 않을 때, 메모리 장치가 주기적으로 어레이에 후-기록을 수행할 수 있다. 몇몇 실시예들에서는, 메모리 장치에 의해 수신된 리프레시 명령 또는 리프레시 신호가, 메모리 제어기가 당분간 활성화를 발행하지 않을 것이라는 것을 표시하고, 메모리는 "리프레시" 동작을 수행할 기회를 갖는다. 이러한 리프레시 동작들은 DRAM들 내에서, 메모리 셀들의 어레이 내의 하나 이상의 행들 내의 커패시터들(capacitors) 상에 전하를 보충하기 위해 사용된다. 리프레시를 수행하기 위해, DRAM 내의 모든 뱅크들은 전형적으로 닫힌다. 이와 같이, MRAM이 리프레시 동작들을 수행할 필요가 없더라도, 그것은 모든 뱅크들이 닫혀야하고 현재 캐시들 내에 유지되어있는 페이지들에 대응하는 데이터가 어레이에 후기록되야 한다는 표시로서 리프레시 명령 또는 신호를 취할 수 있다. 다른 실시예들에서, 리프레시 명령/신호는 많은 뱅크들 중 하나에 후-기록을 개시하기 위해 사용될 수 있는데, 여기서, 메모리 장치는 어느 뱅크들이 후-기록되었는지를 추적하여, 어느 뱅크에서 다음 리프레시가 후-기록을 트리거링할지 알게 된다.
다른 실시예들에서, 리셋 신호(435)가 어레이에 대한 후-기록들을 개시하기 위한 트리거로서 사용될 수 있다. 메모리 내의 데이터가 비-휘발성이도록 보장하기 위해 리셋 신호를 어서팅할 필요가 있다는 것을 사용자들에게 특정함으로써, 사용자는 전력 차단과 같은 이벤트들 이전에 리셋 신호를 어서팅하여, 마지막으로 열린 페이지에 대한 데이터가, 예를 들어, (가능한 패리티 및 반전 계산들과 함께) 캐시(415)에서 캐시(416)로 전달되고 그 후 메모리 어레이(405)에 후기록되게 할 수 있다.
아직 다른 실시예들에서는, 새로운 동작 코드가 구체적으로 또다른 활성화를 필요로 하지 않으면서 후-기록이 일어나게 하기 위해 이용될 수 있다. 예를 들어, "STORE" 동작 코드가 메모리 제어기에 의해 메모리에 송신될 수 있는데, 여기서, STORE 동작 코드는 MRAM이 후-기록을 기다리고 있는 임의의 행들을 후-기록하게 한다. 이러한 STORE 동작 코드는 그것이 단지 하나의 뱅크에 대응하는 데이터에게 어레이에 후기록되도록 지시한다는 점에서 뱅크-특정이거나(STORE-BANKx, 여기서 x = 뱅크 숫자)(뱅크들의 하부세트에 대한 데이터가 후기록되게 할 수 있음), 모든 뱅크들에 대한 데이터가 후기록되게(STORE-ALL) 할 수 있다. 이러한 새로운 동작 코드(들)는 메모리 장치 상의 임의의 휘발성 데이터를 클리닝 업(cleaning up)하는데 사용되어, 그 데이터가 어레이(405)의 비-휘발성 저장소 내에 저장되게 하여, 전력이 제거되더라도 데이터가 손실되지 않게 한다.
대용량 페이지(페이지 당 많은 비트들) 또는 다수의 뱅크들에 대한 후-기록 동작들이 일어날 때, 후-기록 동작들에 연관된 전력 및 전류 스파이크들을 감소시키기 위해, 메모리 셀들의 하부세트들로 후-기록 동작들을 스태거링(staggering)하는 것이 바람직할 수 있다. 이러한 스태거링에서는, 메모리 셀들의 부분들이 상이한 시간들에 후기록되어, 후기록에 연관된 전류 흐름(current draw) 및 전력 소비가 시간적으로 분산된다. 따라서, 후기록될 제1 데이터 부분은 제2 데이터 부분과 상이한 시간에 기록된다. 예를 들어, 대용량 페이지에 대한 후-기록시에, 페이지 내의 비트들의 절반이 먼저 후기록된 후, 비트들의 다른 절반이 나중에 후기록된다. STORE-ALL 명령 또는 동작 코드에 대응하는 또다른 예에서, 뱅크의 절반에 대한 데이터가 먼저 후기록된 후에, 뱅크들의 다른 절반에 대한 데이터가 후기록된다. 또다른 STORE-ALL 예에서는, 각각의 뱅크들 내의 비트들 중 절반이 먼저 후기록된 후에, 각각의 뱅크 내의 비트들 중 다른 절반이 후기록된다. 아직 또다른 STORE-ALL 예에서는, 하나의 뱅크 또는 하나의 뱅크 그룹이 또다른 뱅크 또는 뱅크 그룹 내에서의 후-기록 동작(들)의 완료를 기다리도록, 후-기록 동작들이 나열된다(serialized). 후-기록 동작들의 이러한 스태거링은 많은 단계들로 분할될 수 있고, 프로그래밍되도록 설정될 수 있고, 뱅크-특정, 메모리 셀-특정, 또는 둘 모두일 수 있다.
지연 회로(455)가 후-기록 동작들을 수행하기 위해 사용되는 타이밍 신호들을 생성하는데 사용되고 이러한 신호들이 트리거 신호에 응답하여 생성된 지연-기반 신호들이면, 후-기록 동작들은 클럭 신호(clock signal)를 필요로 하지 않으면서 달성될 수 있다. 이것은, 시스템이 후-기록이 일어나야 한다는 표시(예를 들어, 리프레시, 자가-리프레시, 리셋, 또는 STORE-명령)를 발행한 후, 데이터가 후기록되지 않았는지에 대한 염려 없이 클럭을 턴 오프(turn off)할 수 있게 한다. 후-기록들이 스태거링되면, 지연 회로는 몇몇 후-기록 동작들이 다른 것들보다 먼저 일어나도록 보장하기 위해 피드백 또는 데이지-체인(daisy-chain) 다수 지연 회로들을 사용할 수 있다.
도 4에 관련해서는 새롭게-활성화된 페이지들을 주요 캐시(415)에 전될하고 그 데이터를 후기록 전에 제2의 후-기록 캐시(416)로 이동시키는 것이 전술되었지만, 다른 실시예들에서는, 데이터를 캐시들 사이에서 이동시키기 보다는, 캐시들의 역할들이 변할 수 있다. 예를 들어, 제1 활성화는 데이터의 제1 페이지를 제1 캐시에 로딩하고, 제2 활성화는, 데이터의 제1 페이지를 제1 캐시로부터 어레이로 후기록하기 전에 데이터의 제2 페이지를 제2 캐시로 로딩할 수 있다. 제1 페이지에 대한 판독들 및 기록들은 제1 캐시를 사용하여 일어날 것이고, 제2 페이지에 대한 판독들 및 기록들은 제2 캐시를 사용할 것이다.
뱅크 내의 모든 페이지들이 어레이(405)에 후-기록된 후에는, 다음 활성화 동작이 캐시(415) 내에 저장된 데이터를 후기록하지 않아야 한다. 이와 같이, 플래그 또는 하나 이상의 상태 비트들(470 및 471)이 뱅크가 열려있는 및/또는 후-기록을 기다리고 있는 페이지를 갖는지 여부를 표시하기 위해 각각의 뱅크에 대하여 사용될 수 있다. 따라서, 장치가 우선 켜지면, 플래그가 클리어링되거나 상태 비트들이 갱신되어, 어떠한 페이지들도 열려있지 않고 후-기록을 기다리고 있지 않다는 것을 표시하게 된다. 제1 페이지가 열릴 때, 플래그 또는 상태 비트들(470)은 후속하는 활성화가 제1 페이지 데이터의 후-기록을 트리거링하도록 설정된다. STORE 또는 후-기록 표시가 수신되면, 데이터가 후기록되고 플래그 또는 상태 비트들(470)이 클리어링된다. 몇몇 실시예들에서는, 표준-준수 메모리 장치들(standard-compliant memory devices) 내에 이미 존재하는 상태 레지스터들이 이러한 플래그들 또는 상태 비트들을 저장하기 위해 사용될 수 있다.
몇몇 실시예들에서, 뱅크가 열려있는지 또는 후기록되기를 기다리고 있는 데이터를 갖는지 여부에 연관된 플래그들 또는 상태 비트들(470)은 테스팅, 번-인(burn-in), 또는 정상 동작과 상이한 방식으로 메모리 장치를 실행시키도록 설계된 다른 동작들을 지원하도록 조작될 수 있다. 예를 들어, 몇몇 테스팅 동작들은 뱅크 내에 저장된 실제 데이터에 대해 염려하지 않으면서 뱅크 내의 동일한 페이지에 계속 액세스하길 원한다. 그 뱅크에 대한 열림 표시를 계속 클리어링하게 유지하고 활성화된 페이지에 대한 주소를 활성화된 마지막 페이지와 비교하지 않음으로써, 메모리 장치는 이미 열려있는 페이지를 열고자하는 시도에 응답하여 아무것도 하지 않기보다는 원하는 대로 실행될 수 있다.
아직 다른 실시예들에서, 메모리에 의해 수신되거나 전달된 특정 신호들의 타이밍을 최적화하기 위해, 기동 또는 구성 테스팅이 수행된다. 예를 들어, 메모리 제어기에서 메모리로 신호를 플라이팅(flighting)할 시간을 설명하기 위해, DDR SDRAM 프로토콜 내의 데이터 스트로브(data strobe; DQS)가 종종 각각의 메모리에 대하여 캘리브레이션된다. 이러한 캘리브레이션은 데이터 스트로브를 캘리브레이션하기 위해 각각의 메모리에 다수의 판독/기록 동작들을 사용한다. MRAM들과 같은 비-휘발성 메모리들의 경우, 비-휘발성 메모리 셀들의 어레이 내에 저장된 데이터는 전원이 꺼진 후에도 안정적이라고 가정된다. 이와 같이, 전원이 복구될 때 데이터 스트로브들 또는 다른 신호들의 타이밍을 최적화하기 위해 캘리브레이션 절차들이 수행되면, 이러한 캘리브레이션에 연관된 판독/기록 동작들은 비-휘발성 데이터를 부주의하게 오버라이팅할 수 있다. 몇몇 경우들에서, 이것은 캘리브레이션 절차들이 원래, 메모리 어레이 내의 데이터가 전원이 켜질 때 유효하지 않거나 의미가 없다고 예상되는 DRAM 같은 휘발성 메모리를 위해 개발되었기 때문이다. 이와 같이, 여기에 설명된 지연 후-기록 기술들을 사용하는 메모리들 상에서 DDR SDRAM 인터페이스와 같은 인터페이스들에 연관하여 캘리브레이션 절차들을 지원하기 위해, 어레이(405) 내에 저장된 비-휘발성 데이터를 방해하지 않으면서 이러한 캘리브레이션이 일어날 수 있도록 보장하기 위해, 추가적인 단계들이 MRAM들과 같은 비-휘발성 메모리들에서 취해질 수 있다.
2016년 3월 1일자 특허된 미국 특허 제9,275,715호에 설명되어 있는 바와 같이, 비-휘발성으로 저장되어 있는 데이터가 방해받지 않고 남아있기 위해 캘리브레이션 또는 기동 동작들 동안 이러한 메모리들 내의 메모리 어레이에의 액세스들이 디스에이블링(disabling)될 수 있다. 미국 특허 제9,275,715호의 내용은 그 전체가 참조에 의해 여기에 통합된다. 미국 특허 제9,275,715호에 설명되어 있는 바와 같이, 어레이로부터의 판독들, 어레이로의 기록들, 또는 어레이로부터의 판독들 및 어레이로의 기록들 모두를 방지하기 위해, 메모리에 대한 비-파괴 모드가 사용될 수 있다. 몇몇 실시예들에서는, 비-파괴 모드가 전원이 켜질 때 진입하는 디폴트 모드(default mode)인 반면, 다른 실시예들에서는, 비-파괴 모드가 메모리에 의해 수신된 명령에 응답하여 메모리 상의 하나 이상의 레지스터들(480) 내에 저장된 값에 기초해 진입된다. 몇몇 실시예들에서, 비-파괴 모드에서 나가는 것은 하나 이상의 레지스터들 내에 저장된 값을 변경시킴으로써 달성될 수 있다. 예를 들어, 비-파괴 모드는 레지스터 내의 비트를 "1"로 설정함으로써 진입할 수 있고, 그 비트를 "0"으로 클리어링함으로써 나가질 수 있다. 따라서, 비-파괴 모드를 이용하는 캘리브레이션, 테스팅, 또는 다른 동작들에 이어서, 메모리는 비-휘발성 메모리 셀들의 어레이에의 액세스가 인에이블링된 정상 동작 모드로 전환(transition)할 수 있다. 몇몇 실시예들에서, 비-파괴 모드에서 정상 동작 모드로의 전환은 캘리브레이션, 테스팅, 또는 다른 동작들이 완료되었다는 결정에 기초하는데, 이 결정은 메모리에 의해 내부적으로 행해지거나 메모리 제어기 또는 다른 외부 소스(source)로부터 메모리에 의해 수신된 신호에 기초할 수 있다. 따라서, 몇몇 실시예들에서, 메모리는 전원이 켜질 때 비-파괴 모드를 디폴트로 하고, 그 후 캘리브레이션 절차의 완료시에 비-파괴 모드에서 자동으로 나갈 수 있다.
메모리가 비-파괴 모드일 때, 비-휘발성 메모리 어레이 내에 저장되어 있는 데이터는 방해를 받지 않는다. 비-파괴 모드에서, 통상적으로 데이터를 어레이(405) 내에 저장하거나 어레이(405)로부터 검색하는 메모리에 대한 판독들 및 기록들은, 캘리브레이션 또는 테스팅이 수행되어도 살아남아 있을 것으로 예상되는 비-휘발성 데이터를 포함하지는 않는 캐시 구조들 또는 메모리 상의 다른 저장소를 사용하여 수행될 수 있다.
캘리브레이션 또는 기동 동안에는 비-휘발성 어레이(405)에 대한 메모리 액세스들이 디스에이블링되는 그러한 방식을 지원하는 실시예들에서, 메모리가 비-파괴 모드에서 정상 동작 모드로 전환되고 비-휘발성 어레이에의 액세스가 인에이블링될 때, 플래그들 또는 상태 비트들(470, 471)이 캘리브레이션 동안 이른바 액세스되었던 페이지가 열려있다는 것을 나타내고, 이러한 플래그들 또는 상태 비트들(470, 471)이 메모리 상의 캐시들 중 하나에 저장된 무효 데이터가 어레이 내의 유효 데이터를 오버라이팅하는 후-기록 동작이 일어나지 않게 하도록, 그러한 어레이들 내의 메모리의 페이지들에 연관된 플래그들 또는 상태-비트들이 관리될 수 있다. 지연 후기록과 함께 비-파괴 모드들을 지원하는 다양한 실시예들이 보다 상세하게 후술되어 있다.
일 실시예에서, 메모리가 비-파괴 모드에 있을 때는, 페이지가 열려있는지 그리고 결국 후기록될 필요가 있을지를 표시하는데 사용되는 플래그들 또는 상태 비트들(470)이 디스에이블링된다. 이와 같이, 메모리가 비-파괴 모드에 있는 동안에는 활성화 동작 코드 또는 명령을 수신하더라도, 어레이(405) 내의 어떤 데이터도 오버라이팅되거나 변하지 않고, 활성화 동작을 위한 데이터의 페이지가 열려있다는 것을 표시할 상태 비트들(470)이 갱신되거나 그러한 상태로 설정되지 않는다. 대신, 상태 비트들(470)은 홀로 남겨지거나 어떠한 후-기록들도 계류(pending) 중이거나 필요로 되지 않다고 표시하도록 변경된다. 따라서, 메모리가 비-파괴 모드에서 정상 동작 모드로 전환될 때, 상태 비트들(470)이, 메모리가 정상 동작 모드에 진입할 때 어떠한 페이지들도 열려있지 않다고 나타내므로, 수신된 활성화 또는 캐시들(415, 416) 중 하나로부터 어레이(405)로의 후-기록을 일으킬 수 있는 다른 "트리거" 명령 또는 표시는 어떠한 이러한 후-기록도 초래하지 않을 것이다.
다른 실시예들에서, 플래그들 또는 상태 비트들(470)은, 메모리가 비-파괴 모드에서 정상 동작 모드로 전환될 때 클리어링 된다. 몇몇 경우들에서, 이는, 비-파괴 모드에서 정상 동작 모드로의 전환을 검출하고 이러한 전환이 일어날 때 플래그들 또는 상태 비트들(470)을 클리어링 또는 리셋하는, 메모리 장치 상의 모드 변경 검출 회로(482)에 의해 달성될 수 있다. 예를 들어, 통상 DDR-호환성 메모리들 내에서 사용되는 것들과 같은 모드 레지스터일 수 있는, 레지스터(480) 내의 비트가 메모리가 비-파괴 모드 또는 정상 동작 모드임을 표시하면, 메모리가 비-파괴 모드에 있다는 것을 표시하는 상태에서 메모리가 정상 동작 모드에 있다는 것을 표시하는 상태로 그 비트를 전환하는 것을 사용하여, 후기록될 필요가 있는 열려 있는 페이지들이 없다는 것을 표시하도록 플래그들 또는 상태 비트들을 클리어링 또는 리세팅할 것을 트리거링할 수 있다.
아직 다른 실시예들에서, 메모리를 포함하는 시스템은, 메모리가 비-파괴 모드에서 정상 동작 모드로 전환되기 전에, 플래그들 또는 상태 비트들(470)이 리셋되거나 클리어링되도록 보장할 수 있다. 예를 들어, 캘리브레이션 또는 테스팅을 제어하는 메모리 제어기 또는 다른 객체는 메모리에게 후-기록 동작을 수행하도록 지시하는 명령을 메모리에 발행할 수 있다. 여기서 설명된 바와 같이, 이러한 명령들은 리프레시, 자가-리프레시, 사전 충전, 리셋, 또는 STORE 명령들을 포함할 수 있는데, 여기서, 이러한 명령들이 실행된 후, 플래그들 또는 상태 비트들은 리셋 또는 클리어링된 상태에 있게 되고, 이에 따라 어떠한 페이지들도 열려있지 않고 어떠한 페이지들도 후기록될 필요가 없다는 것을 표시하게 된다. 특히, 메모리가 비-파괴 모드에 있는 동안 이러한 명령을 제공하는 것은 어레이 내에 저장된 데이터에 영향을 미치지 않는데, 이는, 메모리가 비-파괴 모드에 있는 동안에는 이러한 데이터가 보호되기 때문이다. 아직 또다른 실시예에서는, 전용 명령 또는 신호 천이들의 시퀀스가 메모리 제어기에 의해 제공될 수 있는데, 여기서, 전용 명령 또는 신호 천이들의 시퀀스는 메모리에 의해 수신되고, 메모리는 이에 응답하여 플래그들 또는 상태 비트들을 클리어링 또는 리셋한다.
도 5 내지 도 7 및 도 9 내지 도10은 메모리 장치들 내에서 지연 후-기록을 지원하기 위한 방법들에 대한 예시적인 실시예들 또는 실시예들의 양태들을 나타내는 흐름도들이다. 일례에서, 메모리 장치들은 스핀-토크 자기 터널 접합부 메모리 셀들의 어레이를 포함한다. 흐름도들에 포함된 동작들은 장치를 동작시키는데 사용되는 전체 처리 중 단지 일부분만을 나타낼 수 있다. 나타낼 목적으로, 도 5 내지 도 7 및 도 9 내지 도 10 내의 방법들에 대한 다음의 설명은 도 4에 관련하여 전술된 요소들을 참조할 수 있다. 방법은 임의의 수의 추가적인 또는 대안적인 작업들을 포함할 수 있고, 도 5 내지 도 7 내에 도시된 작업들은 나타낸 순서로 수행될 필요는 없고, 방법들은 여기에 상세하게 설명되지 않은 추가적인 기능을 갖는 더욱 포괄적인 절차 또는 처리들에 통합될 수 있다는 것이 인식되야 한다. 게다가, 도 5 내지 도 7에 도시된 하나 이상의 작업들은, 의도된 전체 기능이 온전하게 유지되는 한, 생략될 수 있다.
도 5로 넘어가서, 단계(510)에서, 메모리 장치의 제1 뱅크 내의 제1 페이지에 대한 제1 활성화 명령이 수신된다. 단계(520)에서, 제1 활성화 명령에 응답하여, 데이터의 제1 페이지가 어레이로부터 검색되어 메모리 장치 상의 제1 캐시 내에 저장된다. 제1 페이지가 이 방식으로 활성화되면, 제1 페이지 내의 데이터에 대한 판독 및 기록 동작들이 제1 캐시에 액세스함으로써 일어날 수 있다. DDR 프로토콜에서, 제1 페이지는 전형적으로 제1 페이지에 대응하는 사전 충전 명령의 수신에 기초하여 닫힐 것이다. 이러한 사전 충전 명령은, 제1 페이지에 대한 판독/기록 동작들이 완료되고 단계(530)에서 제2 활성화 명령이 수신되기 전에 발행될 것이다. 특히, 이러한 사전 충전 명령이 메모리가 잔류하고 있는 시스템 내에서 발행되어 메모리에 의해 수신될 수 있지만, 몇몇 실시예들에서는, 후-기록 동작들이 더이상 이러한 사전 충전 명령에 응답하여 직접적으로 수행되지 않기 때문에, 메모리가 사전 충전 명령을 간단히 무시한다.
단계(530)에서, 제1 뱅크 내의 제2 페이지에 대한 제2 활성화 명령이 수신된다. 도 4에 관련하여 전술된 바와 같이, 제2 활성화 명령에 대한 데이터를, 액세스를 위해 어레이의 제1 뱅크에서 제1 캐시로 이동시키기 위해, 제1 페이지에 대응하는 데이터는 최종적으로 어레이로 후기록되기 전에 제2 캐시로 이동된다. 그러나, 제2 페이지에 대한 활성화가 완료될 때까지 제1 페이지에 대응하는 데이터의 후-기록을 지연시킴으로써, 제1 페이지 데이터의 후기록에 연관된 시간이 숨겨질 수 있고 제2 페이지에 관련된 어떠한 판독 또는 기록 동작들도 지연시키지 않을 것이다.
단계(540)에서, 제2 활성화 명령에 응답하여, 메모리가 어레이로부터 제2 페이지 데이터의 검색을 시작한다. 단계(550)에서, 제1 페이지 데이터가 제1 캐시에 제2 캐시로 전달된다. 특히, 제2 페이지 데이터가 제1 캐시에 저장되기 전, 제1 페이지 데이터가 제1 캐시 외부에 있는 한, 제1 페이지 데이터의 전달은 제2 페이지 데이터의 검색이 개시되는 시간과 같은 시간에 일어날 수 있다. 도 5의 흐름도는 제2 페이지 데이터 검색이 제1 페이지 데이터의 전달 이전에 시작된다고 표시하고 있지만, 충돌이 일어나지 않는 한, 이 단계들의 순서는 중요하지 않다. 몇몇 실시예들에서는, 단계(550)에서 전달이 제2 활성화 명령에 응답하여 시작되는 반면, 다른 실시예들에서는, 전술된 바와 같이 전달이 제2 활성화 명령 이전에 수신된 제1 페이지에 대응하는 사전 충전 명령에 의해 트리거링된다. 따라서, 사전 충전 명령은 제1 페이지 데이터의 제1 캐시에서 제2 캐시로의 이동을 트리거링할 수 있지만, 후속하는 활성화 명령이 그것을 후기록하게 할 때까지 데이터는 제2 캐시 내에 남아있을 수 있다.
특히, 몇몇 실시예들에서는, 제1 캐시에서 제2 캐시로의 데이터의 이동을 트리거링하는데 사전 충전 명령이 사용되지 않는다. 이러한 실시예들에서는, 메모리 장치가 사전 충전 명령에 응답하여 아무것도 하지 않도록, 사전 충전 명령은 어떠한 기능도 하지 않을 수 있다. 사전 충전 명령들에 대한 필요성을 제거함으로써, DDR 메모리 장치들에 대해 사용되는 것들과 같은 표준 프로토콜들 내에 이러한 사전 충전 명령들을 제공하는 것에 연관된 타이밍은, 메모리 시스템 설계자들에게 융통성을 더욱 허용하는 방식으로, 완화될 수 있다.
단계(550)에서 제1 페이지 데이터를 제1 캐시에서 제2 캐시로 전달하는 것은, 제1 페이지 데이터가 어레이에 후기록되는 때에 적절한 패리티 또는 다른 ECC 정보가 사용가능하도록, 단계(551)에서 패리티 계산을 수행하는 것을 포함할 수 있다. 마찬가지로, 단계(552)에서의 다수 검출 및 반전이 제1 캐시에서 제2 캐시로의 데이터 전달의 일부로서 포함될 수 있다. 패리티 계산 및 다수 검출을 이 시점에 수행하는 것은 제1 페이지에 대한 임의의 기록들이 완료됨으로써 의미가 있고, 이에 따라, 전달된 데이터는 어레이 내의 데이터의 저장에 관련된 패리티 및 반전 결정들에 관련하여 최종적인 것이다. 패리티 계산 및 다수 결정은 데이터가 캐시들 간에 전달되는 동안에 행해질 수 있지만, 다른 실시예들에서는, 이러한 동작들이 이러한 전달이 일어나기 전이나 후의 다른 시점에서 수행될 수 있다.
단계(560)에서, 제2 페이지 데이터는 제1 캐시에 저장되고, 이에 따라, 제2 활성화 동작의 완료가 표식된다. 제2 활성화 동작이 완료되었기 때문에, 단계(570)에서의 제2 캐시에서 어레이로의 제1 페이지 데이터의 후기록은 제2 활성화 동작을 간섭하지 않으면서 일어날 수 있다. 몇몇 실시예들에서는, 제2 페이지 데이터가 제1 캐시로 로딩될 때까지 제1 페이지 데이터의 후-기록이 일어나지 않지만, 다른 실시예들에서는, 후-기록이 진행중인 제2 활성화 동작을 간섭하지 않는 시점에서 후-기록이 보다 빨리 시작될 수 있다는 것을 주의하자. 몇몇 실시예들에서, 후-기록은 페이지 내의 비트들의 반전 및 데이터의 페이지가 반전되었는지 여부를 표시하기 위한 반전 플래그의 설정을 포함한다.
도 6은 뱅크 내의 동일한 페이지가 순차적으로 2번 활성화되는 시나리오의 흐름도이다. 단계(610)에서, 제1 뱅크 내의 제1 페이지에 대한 제1 활성화 명령이 수신된다. 단계(620)에서, 제1 활성화 명령에 응답하여, 제1 페이지 데이터가 어레이로부터 검색되어 제1 캐시 내에 저장된다. 전술된 바와 같이, 제1 페이지를 여는 것은 그 뱅크 내의 페이지가 열려있다는 것을 표시하도록, 제1 뱅크에 대한 플래그를 설정하는 것을 포함한다. 제1 페이지가 열려있으면, 제1 페이지 내의 데이터에 대한 판독 및 기록 액세스들은 제1 캐시를 사용하여 수행된다. 그러한 판독 및 기록 액세스들이 완료되면, 제1 페이지에 대응하는 사전 충전 명령이 수신될 수 있지만, 지연 후-기록 동작들이 메모리 장치 내에서 수행되기 때문에, 사전 충전 명령은 데이터가 제1 캐시에서 제2 캐시로 편이하지 못하게 하거나 메모리 어레이에 후기록되지 못하게 할 수 있다.
단계(630)에서, 제1 뱅크 내의 제2 페이지에 대한 제2 활성화 명령이 수신된다. 제1 뱅크에 대해 이미 열려져 있는 페이지가 있기 때문에, 단계(640)에서, 제1 페이지에 대한 주소가 제2 페이지에 대한 주소와 비교된다. 단계(650)에서, 제1 페이지에 대한 주소가 제2 페이지에 대한 주소와 일치한다고 결정되면, 방법은 제1 페이지 데이터가 제1 캐시 내에 남아있게 되는 단계(660)으로 진행한다. 제1 캐시 내에 제1 페이지 데이터를 남겨두는 것 이외에, 제2 활성화 명령의 결과로서 통상 일어나는 임의의 후-기록도 또한 차단될 수 있다. 제1 페이지 데이터를 어레이에 다시 후-기록하는 것을 차단하는 것은, 제1 페이지 데이터에 대응하는 어레이의 부분이 활성화 명령 후에 중간 상태에 남아있게 되면, 제1 페이지 데이터의 최종 후-기록이 손상되지 않도록 그 중간 상태가 보존되도록 보장한다. 예를 들어, 어레이의 페이지 내의 모든 메모리 셀들을 "0" 또는 리셋 상태로 남겨두는 자가-참조 판독을 사용하여 제1 페이지 데이터가 어레이로부터 판독되면, 후기록은 "1" 또는 설정 상태를 저장하는 그러한 메모리 셀들만이 기록되도록 요청한다. 제1 페이지 데이터의 후-기록이, 데이터가 제1 캐시에 남아있더라도 제2 활성화 명령에 응답하여 일어나도록 허용되면, 나중의 후기록은 0들 또는 1들 모두가 후기록되도록 요청할 수 있고, 이에 따라, 나중의 후-기록 동작이 복잡하게 된다.
따라서, 종래의 메모리 장치들에서는, 사전 충전 명령으로 제1 페이지를 닫으면 제1 페이지에 대한 데이터가 메모리 어레이 내에 다시 저장되지만, 여기에 설명된 지연 후-기록의 실시예들은 후속하는 활성화 동작이 개시될 때까지 제1 페이지 데이터가 제1 캐시 구조 내에 남아있게 한다. 제2 활성화 동작이 이미 열려있는 동일한 페이지에 대한 것이면, 제1 캐시 내에 저장할 새로운 데이터를 패칭할 필요가 없다. 실제로, 활성화 동작들 동안 자가-참조 판독이 사용되면, 어레이로부터 새로운 데이터를 패칭하려는 시도는 쓰레기 데이터(garbage data)가 제1 캐시에 로딩되게 할 것이다. 이와 같이, 동일한 뱅크 내의 동일한 페이지에 대한 백-투-백 액세스들이 일어나면, 메모리 장치는 데이터의 제1 페이지에 대한 판독 및 기록 액세스들을 위해 제1 캐시를 준비하기 위한 임의의 데이터 전달을 행할 필요가 없는데, 이는 그 데이터가 여전히 그 캐시에 남아있기 때문이다.
단계(650)에서 제2 활성화 명령에 의해 동일한 페이지가 활성화되지 않는다고 결정되면, 방법은 제2 활성화 명령을 용이하게 하는데 필요한 동작들을 수행하도록 진행한다. 단계(670)에서, 제1 페이지 데이터는 제1 캐시에서 제2 캐시로 전달되고, 전술된 바와 같이, 패리티 계산 및 다수 결정을 포함할 수 있다. 또한, 단계(670)에서, 제2 페이지 데이터가 어레이로부터 검색되어 제1 캐시 내에 저장되고, 이에 따라, 제2 페이지 데이터는 제1 캐시를 사용하여 판독 및 기록 액세스들을 위해 사용가능하게 된다. 마지막으로, 제2 페이지에 대응하는 활성화 동작이 완료되거나 제1 페이지 데이터의 후-기록이 활성화를 간섭하지 않을 완료 단계에 도달하면, 제1 페이지 데이터의 어레이에의 후-기록이 일어난다.
도 7의 흐름도는, 후-기록 표시가 메모리 장치에 의해 수신되는 시나리오를 나타내도록 돕는데, 여기서, 후-기록 표시는, 임의의 열린 페이지들 또는 후-기록을 기다리고 있는 닫힌 페이지들에 대응하는 데이터가 비-휘발성 메모리에 반환되도록, 그러한 페이지들이 클리닝 업되어야 한다는 것을 메모리 장치에 알린다. 메모리 장치 내의 데이터가 비-휘발성 저장소 내에 저장되도록 보장하기 위해, 이러한 표시는 활동을 정지시킨 후에 메모리 장치에 주기적으로 제공될 수 있다.
단계(710)에서, 후-기록을 위한 표시가 수신된다. 도 4에 관련하여 전술된 바와 같이, 후-기록을 위한 표시는 단계(712)에서의 리셋 신호의 수신, 단계(714)에서의 저장 명령의 수신, 또는 단계(716)에서의 자가-리프레시 모드로의 진입을 포함하는 리프레시 신호 또는 명령의 수신을 포함할 수 있다. 몇몇 실시예들에서, 후-기록 표시는, 메모리 장치가 전력-차단 모드로 진입할 때마다 자동으로 제공된다. 도 4에 관련하여 또한 전술된 바와 같이, 단계(714)에서 수신된 것과 같은 저장 명령은 하나 이상의 뱅크들이 그것에 의해 작동되야한 다는 것을 표시할 수 있다. 예를 들어, 메모리 장치가 곧 전력-차단될 것이면, 현재 휘발성 저장소 내에 저장되어 있는 임의의 메모리 데이터가 비-휘발성 어레이로 후기록되도록, 모든 뱅크들이 클리닝 업되야한다는 것을 표시하는 저장 명령이 수신될 수 있다.
단계(710)에서 후-기록을 위한 표시가 수신된 후, 단계(720)에서 후-기록을 위한 표시가 속한 구체적인 뱅크가 열린 페이지를 갖는지 여부가 결정된다. 갖지 않으면, 현재 휘발성 저장소 내에 있는 뱅크에 대응하는 데이터가 없는 것이므로, 후-기록이 필요하지 않다. 단계(720)에서 뱅크가 열린 페이지를 갖는다고 결정되면, 단계(730)에서, 제1 캐시 내에 저장된 데이터가 비-휘발성 어레이로 전달된다. 단게(730)에서의 전달은 제1 캐시에서 어레이로의 직접 전달을 포함하거나, 메모리 장치 내의 회로가 데이터가 어레이로 가는 도중에 제2 캐시를 통해 라우팅되도록 구축되면, 단계(730)에서의 전달은 제2 캐시로부터 후기록하기 전에, 데이터를 제1 캐시에서 제2 캐시로 이동시키는 것을 포함한다. 캐시들 간의 또는 캐시들 중 하나에서 어레이로의 전달은 전술된 바와 같은 패리티 계산 및 다수 결정을 포함할 수 있다.
단계(730)에서 일어나는 후기록이 다수의 메모리 셀들이 기록되는 것을 수반할 때, 후-기록은 다수의 단계들로 분할될 수 있다. 예를 들어, 단계(732)에서 제1 데이터 부분이 어레이에 전달된 후, 단계(734)에서 제2 데이터 부분이 어레이에 전달된다. 더 구체적인 예에서, STORE-ALL 명령이 장치 종료 이전에 트리거링될 수 있다. 이러한 STORE-ALL 명령은 다수의 뱅크들에 대응하는 데이터가 어레이에 후기록되게 할 수 있다. 동시에 많은 메모리 셀들에 기록하는 것에 연관된 높은 피크(peak) 전력 소비 및 큰 전류 스파이크들 피하기 위해, 뱅크들 중 제1 절반에 대응하는 후-기록 동작들은 단계(732)에서 수행되는 반면, 뱅크들 중 제2 절반에 대응하는 기록 동작들은 단계(734)에서 수행된다. 다른 실시예들에서는, 각각의 뱅크 내의 후-기록 동작들이 시간적으로 스태거링되도록, 각각의 뱅크 내의 메모리 셀들의 일부분이 각각의 단계들(732 및 734) 동안 기록된다.
도 9는 지연 후-기록이 지원되고 구조 테스팅 또는 캘리브레이션이 수행되는 메모리 장치의 동작에 대응하는 흐름도를 제공한다. 이러한 캘리브레이션 또는 테스팅은 전형적으로 기동시에 일어난다. 단계(572)에서, 메모리 내의 데이터에 액세스하기 위한 제1 명령이 수신된다. 제1 명령에 응답하여, 단계(574)에서 메모리는, 자신이 어레이의 비-휘발성 메모리 셀들 내에 저장된 데이터가 보호되고 방해받지 않아야하는 비-파괴 동작 모드에 있는지 여부를 결정한다. 단계(574)에서 메모리가 비-파괴 동작 모드에 있지 않다고 결정되면, 단계(576)에서 제1 명령은 정상 동작 모드에서 실행된다. 단계(576)에서 제1 명령을 정상 동작 모드에서 실행한 후, 메모리는 수신한 명령들에 기초하여 정상 동작을 계속할 수 있다.
단계(574)에서, 메모리가 비-파괴 모드에 있다고 결정되면, 단계(578)에서 제1 명령에 대응하는 데이터가 데이터 저장에 관련하여 비-휘발성이라고 예상되지 않는 캐시 또는 메모리 상의 다른 저장 위치 내에서 액세스된다. 이러한 데이터 액세스는 저장 위치에 대한 판독 및 기록을 포함할 수 있는데, 여기서, 일련의 이러한 기록/판독 동작들은 특정 신호들에 대한 타이밍 매개변수들에 대한 바람직한 설정을 결정하기 위해 이러한 매개변수들의 범위를 스위핑(sweeping)하도록 수행될 수 있다. 따라서, 메모리가 비-파괴 모드에 있는 동안에는, 메모리가 정상 동작 모드에 있으면 데이터가 비-휘발성 메모리 셀들 내에서 수정되게 하는 데이터 액세스들에 연관된 명령들은 메모리 상의 다른 저장소를 사용하여 실행되어, 비-휘발성 저장소가 방해받지 않게 된다. 예를 들어, DDR 인터페이스 내의 데이터 스트로브들 또는 다른 타이밍 매개변수들을 캘리브레이션하는 것에 연관된 판독 및 기록 동작들은 메모리 어레이 자체 대신 온-메모리 캐시(on-memory cache)를 사용하여 수행될 수 있으므로, 저장된 비-휘발성 데이터를 손상시키지 않으면서 메모리 장치에 대한 타이밍 구성이 구축된다.
단계(580)에서, 메모리가 비-파괴 모드에서 정상 동작 모드로 전환된다. 이러한 전환은 메모리 장치에 의해 수신된 정보에 응답한 것이거나, 비-파괴 모드로부터 혜택을 얻는 캘리브레이션 절차 또는 다른 동작이 완료되었다는 내부 결정에 기초할 수 있다. 일례에서, 메모리는 메모리가 비-파괴 모드에 있는지 여부를 표시하는 값을 저장하는 레지스터를 포함한다. 메모리가 레지스터 내의 값을 수정하는 명령 또는 따른 신호를 수신하면, 이러한 값의 변경은 메모리를 비-파괴 모드에서 정상 동작 모드로 전환시킬 수 있다.
몇몇 실시예들에서, 특정 뱅크에 대하여 열려있는 행이 있는지 여부를 추적하는 플래그들 또는 상태 비트들은 비-파괴 모드 동안 디스에이블링된다. 즉, 비-파괴 모드에서는 비-휘발성 메모리 셀들이 오버라이팅되는 것이 방지되듯이, 플래그들 또는 상태 비트들을 저장하는데 사용되는 저장소도 수정이 방지될 수 있다. 이러한 실시예들에서는, 비-파괴 모드를 나갈 때, 플래그들 또는 상태 비트들이 클리어링되기 때문에, 열려있는 행에 대한 올바르지 않은 표시가, 메모리가 정상 동작 모드로 전환된 뒤 비-휘발성 데이터를 손상시킬 수 있는 지연 후-기록 동작을 일으킬 염려가 없다.
다른 실시예들에서, 메모리가 비-파괴 모드에 있을 때 명령들의 실행 동안 메모리의 열려있는 페이지들을 표시하도록 설정될 수 있는 플래그들 또는 상태 비트들은 정상 동작 모드의 데이터 액세스 명령들에 응답하기 전에 단계(582)에서 클리어링된다. 몇몇 실시예들에서는, 플래그들 또는 상태 비트들이 정상 동작 모드로 전화되기 전에 클리어링되지만, 다른 실시예들에서는, 플래그들 또는 상태 비트들이 정상 동작 모드로 진입한 후에 클리어링된다.
단계들(584 및 586)에 도시된 바와 같이, 상태 비트들을 클리어링하는 것은, 메모리가 비-파괴 모드에 있는지 여부를 표시하는 값 내의 변경을 검출한 후 검출된 변경에 기초하여 상태 비트들을 클리어링하는 것에 기초할 수 있다. 전술된 바와 같이, 메모리 상의 값 내의 변경은 모드 레지스터 내의 값 내의 변경과 대응할 수 있는데, 여기서, 값 내의 변경은 메모리에 대한 비-파괴 모드에서 정상 동작 모드로의 전환을 표시한다. 이러한 레지스터는, 예를 들어, 메모리 제어기에 의해 발행되는 모드 레지스터 설정 명령에 의해 수정될 수 있다. 메모리 상의 회로는 레지스터 내의 값의 변경을 검출한 후 그에 응답하여 플래그들 또는 상태 비트들을 클리어링할 수 있다.
다른 실시예들에서, 메모리는, 메모리에 의해 수신된 명령에 응답하여 상태 비트들을 클리어링한다. 몇몇 경우들에서, 명령은 메모리가 비-파괴 모드를 나가기 전에 수신되는 리프레시, 자가-리프레시, 리셋, 또는 사전 충전 명령이다. 이와 같이, 그러한 명령들이 잠재적으로 지연 후-기록이 일어나게 하지만, 메모리가 여전히 비-파괴 모드에 있으면, 비-휘발성 데이터는 보호될 것이다. 다른 실시예들에서는, 구체적으로 플래그들 또는 상태 비트들을 클리어링하는 명령이 메모리 장치에 의해 수신되는데, 여기서, 상태 비트들을 클리어링하는 이러한 명령에 의해 어떠한 지연 후-기록도 추진되지 않으므로, 이러한 명령은 비-파괴 모드에서 정상 동작 모드로의 전환 이전에 또는 이후에 수신된다. 메모리 장치가 정상 동작 모드에 진입하여 플래그들 또는 상태 비트들을 클리어링하면, 캘리브레이션 동작들으로부터 남겨진 캐시 구조들 중 하나로부터의 쓰레기 데이터로 비-휘발성 저장소 내의 데이터를 오버라이팅할 수 있는 의도하지 않은 지연 후-기록 동작에 대해 염려하지 않으면서, 정상 동작이 진행될 수 있다.
도 10은, 예를 들어, 메모리의 동작들을 지시하는 메모리 제어기 또는 다른 외부 객체에 의해 수행될 수 있는 메모리를 제어하기 위한 방법의 흐름도를 나타낸다. 단계(680)에서, 비-휘발성 메모리 어레이 내에 저장된 데이터가 오버라이팅되지 않게 하는 비-파괴 동작 모드로 메모리가 진입하도록, 모드 변경 신호가 메모리에 제공된다. 몇몇 실시예들에서, 모드 변경 신호는 비-파괴 모드를 선택하는 값을 메모리 상에 저장하는 모드 레지스터 기록에 대응한다. 다른 실시예들에서는, 전용 신호 또는 신호 천이들의 시퀀스가 모드 변경 신호를 제공하는데 사용된다. 아직 다른 실시예들에서는, 전원이 켜질 때 메모리가 비-파괴 동작 모드를 디폴트로 하므로, 메모리에 모드 변경 신호를 제공할 필요가 없다.
단계(682)에서, 메모리 장치가 비-파괴 모드에 있는 동안, 복수의 캘리브레이션 명령들이 메모리 장치에 발행된다. 몇몇 예들에서, 캘리브레이션 명령들은, 메모리 제어기와 메모리 간의 통신을 위해 사용되는 하나 이상의 신호들을 캘리브레이션하는 것에 연관된 판독 및 기록 명령들이다. 예를 들어, 캘리브레이션 명령들은 데이터 스트로브(예를 들어, DQS) 신호에 대한 최적의 타이밍을 결정하기 위해 그러한 신호에 대하여 살짝 상이한 타이밍을 사용하는 일련의 기록 및 판독 명령들을 수반할 수 있다. 메모리 제어기의 관점에서, 캘리브레이션 명령들은 정상 동작 동안 사용되는 명령들(활성화, 판독, 기록, 사전 충전, 등...)과 상이하지 않을 수 있지만, 메모리의 관점에서는, 명령이 메모리 상의 비-휘발성 메모리 어레이를 방해하지 않는 방식으로 실행된다. 전술된 바와 같이, 메모리는, 비-휘발성 어레이를 방해할 필요 없이 캘리브레이션 또는 테스팅 동안 판독 및 기록 동작들을 지원하는 하나 이상의 캐시들 또는 휘발성 메모리 블록들과 같은 추가적인 저장소를 포함하는 것이 바람직하다.
단계(684)에서, 메모리에 복수의 캘리브레이션 명령들을 발행한 후, 메모리 제어기는, 메모리가 비-파괴 모드를 나가게 하고 메모리 상에 열려있는 페이지들이 있다는 것을 표시하는 임의의 플래그들 또는 상태 비트들을 클리어링하게 하는 신호를 메모리에 제공한다. 플래그들 또는 상태 비트들을 클리어링함으로써, 메모리 제어기는, 메모리가 비-파괴 모드에 있는 동안 수행된 캘리브레이션 또는 테스팅 절차에 의해 비-휘발성 데이터를 손상시키는 의도하지 않은 후-기록 동작들이 초래되지 않도록 보장할 수 있다. 전술된 바와 같이, 메모리 제어기가 단계(686)에서 메모리에 레지스터 액세스 명령을 발행하고, 단계(688)에서 메모리 장치 상의 레지스터 내의 저장소에 값을 제공하는 것에 응답하여, 메모리는 정상 동작 모드로 전환되고 플래그들 또는 상태 비트들을 클리어링할 수 있다. 메모리 상에 저장될 때 그 값은 메모리를 비-파괴 모드에서 정상 동작 모드로 전환시킨다. 다른 실시예들에서, 플래그들 또는 상태 비트들은, 메모리가 비-파괴 모드에서 정상 동작 모드로 전환하기 전에 메모리에 리셋, 자가-리프레시, 리프레시, 저장, 또는 사전 충전 명령을 발행함으로써 클리어링된다. 이러한 명령을 발행한 후, 단계(692)에서 모드 변경 명령이 메모리에 제공될 수 있는데, 여기서, 모드 변경 명령은 플래그들 또는 상태 비트들이 클리어링된 후에 메모리를 정상 상태로 전환시키고, 그러한 플래그들 또는 상태 비트는 하나 이상의 열려있는 페이지들을 표시하는데 사용된다. 아직 다른 실시예들에서, 메모리 제어기는 캘리브레이션 또는 테스팅 동작들의 완료에 기초하여, 정상 동작 모드로 변경시키기 위해 메모리에 시그널링하거나 메모리가 비-파괴 모드에서 정상 동작 모드로 자동으로 전환되길 기다린 후, 지연 후-기록 동작들이 이용되는 정상 동작 모드에서 동작들을 시작하기 전에, 열려있는 페이지들에 대응하는 임의의 플래그들 또는 상태 비트들을 클리어링하도록 메모리에게 지시하는 명령 또는 신호를 메모리에 송신한다.
도 8은 지연 후-기록 동작들의 사용을 포함하는 메모리 장치의 일 부분에 연관된 회로도를 나타낸다. 개략도 아래의 타이밍도는 회로의 기능을 나타내는 것을 돕는다. 기동시에, OPEN 신호(992)는 로우(low)이고, 이에 따라, 뱅크 내의 어떤 페이지도 열려있지 않고 따라서 다음 활성화도 후-기록을 기다리고 있지 않다는 것을 나타낸다. /ACTIVATE 신호(990)가 에지(961)에서 처음으로 로우로 어서팅될 때, ACTIVATE TIMING 신호(993)는 에지(966)에서 하이(high)에서 로우로 천이되도록 도시되는데, 이것은 활성화 동작에서 사용되는 다수의 타이밍 신호들의 생성을 나타낸다. 도 8의 실시예에서, 이들 신호들은 /ACTIVATE 신호(990)의 하이에서 로우로의 천이에 의해 직접 초래되는 신호 천이들이고, 활성화 타이밍 회로들 블록(951)에 의해 생성된다.
/ACTIVATE 신호(990)가 타이밍도 내의 에지(972)에서 하이로 반환되면, 플립-플롭(955)의 출력인 OPEN 신호(992)는 하이로 간다. OPEN 신호(992)는, 페이지가 열려있고, 그 페이지에 대한 후-기록이 후속하는 활성화 어서션의 수신시에 트리거링되야 한다는 것을 결정하는데 사용된다. OPEN 신호(992)가 하이여서, /ACTIVATE 신호(990)가 에지(973)에서 하이로 디어서팅될 때, ACTIVATE TIMING 신호들(993), UPDATE TIMING 신호들(994), 및 WRITEBACK TIMING 신호들(995) 모두는 로우에서 하이로 간다. 이것은 논리 게이트들(952, 953, 956, 957, 및 959)에 기초하여 일어나고, 다음 활성화 신호 어서션이 일어날 때 후속하는 어서션에 대한 그러한 타이밍 신호들의 세트들을 준비한다. 다음 활성화가 새로운 페이지의 활성화, 이전 페이지의 패리티/다수의 갱신, 및 이전 페이지의 후-기록을 초래할 것임이 알려져 있기 때문에, 어서션에 대하여 신호들이 준비된다.
에지(962)에서 /ACTIVATE(990)의 다음 어서션이 일어날 때, 그 어서션은 각각의 ACTIVATE TIMING 신호들(993), UPDATE TIMING 신호들(994), 및 WRITEBACK TIMING 신호들(995)의 어서션을 트리거링한다. 따라서, 새로운 페이지를 활성화하기 위한 타이밍 신호들이 활성화 타이밍 회로들 블록(951)에 의해 생성되고(에지들(967)), 이전에 열렸던 페이지에 관한 패리티 및 다수 정보를 갱신하기 위한 타이밍 신호들이 갱신 타이밍 회로들 블록(958)에 의해 생성되고(에지들(968)), 갱신 및 활성화가 완료된 후, 이전에 열렸던 페이지를 후-기록하는데 사용되는 신호들(WRITEBACK TIMING 신호들(995))이 후기록 타이밍 회로들 블록(954)에 의해 생성된다(에지들(970)). 에지(973)에서의 /ACTIVATE(990)의 디어서션시, 신호들의 타이밍 신호 그룹들 각각은 다음 활성화를 위한 준비에서 디어서팅된다. OPEN 신호(992)는 하이로 남아있다.
RESET 신호(991)가 에지(963)에서 하이로 끌어올려질 때, 이것은 휘발성 메모리 내에 저장된 임의의 데이터가 어레이로 후기록되야 한다는 것을 표시한다. 다른 실시예들에서는, 리프레시 명령 또는 STORE 명령의 수신이 또한 이러한 후-기록을 트리거링할 수 있다. RESET의 어서션은 플립-플롭(955)을 리셋하고, 에지(965)에서 OPEN 신호(992)를 로우로 가게 한다. OPEN 신호(992)의 천이는 회로를 통해 전파되고, UPDATE TIMING 신호들(994)이 어서팅되게 하고(에지들(969)), WRITEBACK TIMING 신호들(995)이 어서팅되게 한다(에지들(971)). 결과적으로, 타이밍 신호들은 이전에 열렸던 페이지가 갱신되게 하고(패리티 계산 및 다수 결정) 메모리 어레이로 후기록되게 한다.
뱅크에 대한 데이터의 열린 페이지의 후-기록을 후속하는 활성화 동작이 완료될 때까지 지연시킴으로써, 어레이로의 데이터 후기록에 연관된 지연이 숨겨질 수 있으므로, 장치에 연관된 액세스 타이밍이 개선된다. 이는, 다음 페이지를 활성화하기 전에는 메모리가 후-기록이 일어나길 기다릴 필요가 없기 때문이며, 이에 따라, 후-기록 동작이 후선(background)에서 수행되는 동안, 새롭게 열린 페이지에 대한 판독/기록 동작들이 일어날 수 있다. 판독/기록들과 어레이로의 데이터의 후-기록의 이러한 동시 수행은 상당한 타이밍 이득을 제공한다. 또다른 활성화 동작을 필요로 하지 않으면서 데이터 후-기록을 지원하기 위해 새로운 동작 코드를 포함하는 것은 전력-차단이 일어날 때 데이터가 비-휘발성 저장소 내에 남아있지 않도록 보장하는 것을 돕는다. 몇몇 예시들에서, 데이터의 다수의 페이지들은 단일 후-기록 표시에 기초하여 어레이 내에 후기록될 수 있고, 데이터 후-기록은 피크 전력 소비를 감소시키기 위해 스태거링될 수 있다.
예시적인 실시예들이 앞에 제공되었지만, 많은 변형들이 존재한다는 것이 인식되야 한다. 더욱이, 특정한 예시적인 배열들의 메모리 셀들을 포함하는 스핀-토크 MRAM 장치들을 사용하여 설명되었지만, 이 교시들은, 동일한 개념들이 적용될 수 있는 상이한 구조들을 갖는 다른 메모리 장치들에도 적용될 수 있다. 이러한 메모리 장치들의 예들에는 다른 저항성 메모리들 및 DRAM들이 포함된다. 이러한 메모리들은 개선된 랜덤 액세스 시간, 감소된 전력 소비, 및 증가된 데이터 보유 시간의 면에서 혜택을 얻을 것이다.
앞에 게시된 특정 실시예들은 단지 예시적인 것일 뿐 제한하는 것으로서 취해져서는 않되는데, 이는, 여기의 교시들에서 혜택을 얻는, 당업자들에게 명백한, 상이하지만 등가의 방식들로 실시예들이 수정 및 실현될 수 있기 때문이다. 따라서, 상기 설명은 설명된 특정 형태로 본 게시물을 제한도록 의도된 것이 아니라, 반대로 첨부된 청구항에 의해 정의된 바와 같은 본 발명의 취지 및 영역 내에 포함될 수 있는 이러한 대안물, 수정물, 및 등가물을 포괄하도록 의도되므로, 당업자들은 본 발명의 취지 및 영역을 벗어나지 않으면서 다양한 변경들, 대체물들, 및 변화들을 그들의 폭넓은 형태로 행할 수 있다는 것을 이해할 것이다.
415: 캐시
470: 상태 비트들
450: 제어 회로
455: 지연 회로

Claims (20)

  1. 메모리로서,
    비-휘발성 메모리 셀들의 어레이;
    값을 저장하는 레지스터로서, 상기 값은 상기 메모리가 정상 동작 모드 및 비-파괴 동작 모드 중 하나에 있다는 것을 결정하는, 상기 레지스터;
    상기 비-휘발성 메모리 셀들의 어레이 내의 페이지가 열려있는지 여부를 표시하는 상태 비트; 및
    상기 비-휘발성 메모리 셀들의 어레이 및 상기 레지스터에 연결된 제어 회로를 포함하고, 상기 제어 회로는:
    상기 메모리가 상기 비-파괴 동작 모드에 있을 때, 상기 비-휘발성 메모리 셀들의 어레이에 대한 기록 동작들을 방지하고;
    상기 메모리가 상기 비-파괴 동작 모드에서 상기 정상 동작 모드로 전환된다는 표시를 수신하고;
    상기 메모리가 상기 비-파괴 동작 모드에서 상기 정상 동작 모드로 전환된다는 상기 표시에 응답하여, 상기 상태 비트를 클리어링(clearing)하도록 구성된, 메모리.
  2. 제 1 항에 있어서,
    상기 메모리는 상기 레지스터 및 상기 제어 회로에 연결된 모드 변경 검출 회로를 더 포함하고, 상기 모드 변경 검출 회로는 상기 메모리가 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환된다는 상기 표시를 제공하는, 메모리.
  3. 제 1 항에 있어서,
    상기 메모리가 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환된다는 상기 표시는 상기 메모리에 의해 외부로부터 상기 메모리로 수신되는, 메모리.
  4. 제 3 항에 있어서,
    상기 메모리가 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환된다는 상기 표시는 메모리 제어기로부터 수신된 명령인, 메모리.
  5. 제 1 항에 있어서,
    상기 레지스터는 모드 레지스터인, 메모리.
  6. 제 1 항에 있어서,
    상기 레지스터는 상기 비-파괴 동작 모드에 대응하는 값을 디폴트(default)로 하는, 메모리.
  7. 제 6 항에 있어서,
    상기 메모리는 캘리브레이션 절차(calibration procedure)의 완료시에 자동으로 상기 비-파괴 동작 모드를 나가는, 메모리.
  8. 제 1 항에 있어서,
    상기 어레이 및 상기 제어 회로에 연결된 제1 캐시; 및
    상기 어레이 및 상기 제어 회로에 연결된 제2 캐시를 더 포함하고,
    상기 제어 회로는:
    제1 페이지에 대응하는 제1 활성화 명령에 응답하여:
    제1 페이지 데이터를 상기 어레이 내의 제1 위치에서 상기 제1 캐시로 전달하고- 상기 제1 페이지 데이터는 상기 제1 페이지에 대응함 -;
    열려있는 페이지가 있다고 표시하도록 상기 상태 비트를 설정하고;
    상기 제1 페이지 데이터를 상기 제1 캐시에서 상기 제2 캐시로 전달하고;
    상기 제1 페이지 데이터를 상기 제2 캐시에 전달한 후, 제2 활성화 명령에 응답하여:
    제2 페이지 데이터를 상기 어레이 내의 제2 위치에서 상기 제1 캐시로 전달하고;
    상기 제1 페이지 데이터를 상기 제2 캐시에서 상기 어레이 내의 상기 제1 위치로 전달하도록 더 구성된, 메모리.
  9. 제 1 항에 있어서,
    기록 동작들을 방지하는 것이 페이지 내의 상기 메모리 셀들 각각을 자가-참조 판독 동작의 일부로서 알려진 상태로 두는 기록 동작들을 방지하는 것을 포함하도록, 상기 메모리가 상기 비-파괴 동작 모드에 있을 때, 상기 제어 회로는 상기 비-휘발성 메모리 셀들의 어레이에 대한 기록 동작들을 방지하도록 구성된, 메모리.
  10. 비-휘발성 메모리 어레이 및 제1 캐시를 포함하는 메모리의 동작을 위한 방법으로서,
    상기 메모리 내의 데이터에 액세스하기 위한 제1 명령을 수신하는 단계;
    상기 제1 명령을 수신하는 단계에 응답하여:
    상기 메모리가 비-파괴 모드에 있다고 결정하는 단계로서, 상기 비-파괴 모드에서는, 상기 비-휘발성 메모리 어레이 내에 저장된 데이터가 방해받지 않는, 상기 결정하는 단계;
    상기 제1 캐시 내의 데이터에 액세스하는 단계;
    상기 제1 캐시 내의 상기 데이터에 액세스하는 단계 이후, 상기 메모리를 상기 비-파괴 모드에서 정상 동작 모드로 전환시키는 단계; 및
    상기 정상 동작 모드에서 수신된 데이터 액세스 명령들에 응답하기 전에, 상기 메모리 내의 열려있는 페이지들을 표시하는 상태 비트들을 클리어링하는 단계를 포함하는, 메모리의 동작을 위한 방법.
  11. 제 10 항에 있어서,
    상기 상태 비트들을 클리어링하는 단계는:
    상기 메모리 상에 저장된 값 내의 변경을 검출하는 단계로서, 상기 값은 상기 메모리가 상기 비-파괴 모드에 있는지 또는 상기 정상 동작 모드에 있는지를 표시하는, 상기 검출하는 단계; 및
    상기 값 내의 상기 변경이 상기 메모리가 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환되었다는 것을 표시할 때, 상기 상태 비트들을 클리어링하는 단계를 더 포함하는, 메모리의 동작을 위한 방법.
  12. 제 10 항에 있어서,
    제2 명령을 수신하는 단계를 더 포함하고,
    상기 상태 비트들을 클리어링하는 단계는 상기 제2 명령에 응답하여 상기 상태 비트들을 클리어링하는 단계를 더 포함하는, 메모리의 동작을 위한 방법.
  13. 제 12 항에 있어서,
    상기 제2 명령은 상기 메모리를 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환시키기 전에 수신된 리프레시(refresh), 자가-리프레시, 저장, 및 리셋 명령 중 하나인, 메모리의 동작을 위한 방법.
  14. 제 12 항에 있어서,
    상기 제2 명령은 상기 상태 비트들을 클리어링하기 위한 명령인, 메모리의 동작을 위한 방법.
  15. 제 10 항에 있어서,
    상기 메모리를 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환시키는 단계 이후:
    제1 활성화 명령 및 상기 메모리 내의 제1 페이지에 대응하는 제1 주소를 수신하는 단계;
    상기 제1 활성화 명령에 응답하여:
    상기 제1 주소에 기초하여 메모리 셀들의 상기 어레이로부터 상기 제1 페이지에 대응하는 제1 페이지 데이터를 검색하는 단계;
    상기 제1 페이지 데이터를 상기 제1 캐시 내에 저장하는 단계;
    열려있는 페이지가 있다고 표시하도록 상기 상태 비트들 중 적어도 하나를 설정하는 단계;
    상기 제1 페이지 데이터를 상기 제1 캐시에서 상기 메모리 상의 제2 캐시로 전달하는 단계;
    상기 제1 활성화 명령을 수신한 후, 제2 활성화 명령 및 상기 메모리 내의 제2 페이지에 대응하는 제2 주소를 수신하는 단계;
    상기 제2 활성화 명령에 응답하여:
    상기 제2 주소에 기초하여 메모리 셀들의 상기 어레이로부터 상기 제2 페이지에 대응하는 제2 페이지 데이터를 검색하는 단계;
    상기 제2 페이지 데이터를 상기 제1 캐시 내에 저장하는 단계; 및
    상기 제2 캐시로부터의 상기 제1 페이지 데이터를 상기 제1 주소에 대응하는 위치의 메모리 셀들의 상기 어레이로 기록하는 단계를 더 포함하는, 메모리의 동작을 위한 방법.
  16. 메모리를 제어하기 위한 방법으로서,
    상기 메모리에 복수의 캘리브레이션 명령들을 발행하는 단계로서, 상기 복수의 캘리브레이션 명령들은 상기 메모리가 비-파괴 모드에 있는 동안 실행되는 캘리브레이션 시퀀스(calibration sequence)에 대응하는, 상기 복수의 캘리브레이션 명령들을 발행하는 단계; 및
    상기 복수의 명령들을 발행하는 단계 이후, 상기 메모리에 적어도 하나의 신호를 제공하는 단계를 포함하고,
    상기 적어도 하나의 신호에 응답하여, 상기 메모리는:
    상기 비-파괴 모드에서 정상 동작 모드로 전환되고;
    상기 메모리 내에 열려있는 페이지를 표시하는, 상기 메모리 상의 상태 비트들을 클리어링하는, 메모리를 제어하기 위한 방법.
  17. 제 16 항에 있어서,
    상기 메모리에 적어도 하나의 신호를 제공하는 단계는:
    상기 메모리에 레지스터 액세스 명령을 발행하는 단계; 및
    상기 레지스터 내의 저장을 위한 값을 상기 메모리에 제공하는 단계를 더 포함하고, 상기 레지스터 내에 저장할 때, 상기 값은 상기 메모리가 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환되게 하는, 메모리를 제어하기 위한 방법.
  18. 제 16 항에 있어서,
    상기 메모리에 적어도 하나의 신호를 제공하는 단계는:
    상기 메모리가 상기 비-파괴 모드에서 상기 정상 동작 모드로 전환하기 전, 상기 메모리에 리셋, 자가-리프레시, 리프레시, 저장, 또는 사전 충전 명령을 발행하는 단계를 더 포함하는, 메모리를 제어하기 위한 방법.
  19. 제 18 항에 있어서,
    상기 적어도 하나의 신호를 제공하는 단계는, 상기 메모리에 리셋, 자가-리프레시, 리프레시, 저장, 또는 사전 충전 명령을 발행하는 단계 이후, 상기 메모리 장치에 모드-변경 신호를 제공하는 단계를 더 포함하는, 메모리를 제어하기 위한 방법.
  20. 제 16 항에 있어서,
    상기 메모리에 상기 복수의 명령들을 발행하는 단계 전에, 상기 메모리에 모드 변경 신호를 제공하는 단계를 더 포함하고, 상기 모드 변경 신호에 응답하여, 상기 메모리는 상기 비-파괴 모드로 진입하는, 메모리를 제어하기 위한 방법.
KR1020197034813A 2017-04-27 2018-04-19 캘리브레이션 지원을 갖는 메모리 내에서의 지연 후-기록 KR102556115B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/499,136 2017-04-27
US15/499,136 US10650899B2 (en) 2017-04-27 2017-04-27 Delayed write-back in memory with calibration support
PCT/US2018/028250 WO2018200298A1 (en) 2017-04-27 2018-04-19 Delayed write-back in memory with calibration support

Publications (2)

Publication Number Publication Date
KR20190141235A true KR20190141235A (ko) 2019-12-23
KR102556115B1 KR102556115B1 (ko) 2023-07-18

Family

ID=62117003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197034813A KR102556115B1 (ko) 2017-04-27 2018-04-19 캘리브레이션 지원을 갖는 메모리 내에서의 지연 후-기록

Country Status (5)

Country Link
US (1) US10650899B2 (ko)
EP (1) EP3616203B1 (ko)
KR (1) KR102556115B1 (ko)
CN (1) CN110678927B (ko)
WO (1) WO2018200298A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120884B2 (en) 2015-09-30 2021-09-14 Sunrise Memory Corporation Implementing logic function and generating analog signals using NOR memory strings
US11360704B2 (en) 2018-12-21 2022-06-14 Micron Technology, Inc. Multiplexed signal development in a memory device
US11474698B2 (en) * 2019-12-04 2022-10-18 Micron Technology, Inc. Reset verification in a memory system by using a mode register
US11947453B2 (en) * 2020-10-19 2024-04-02 Micron Technology, Inc. Memory device with on-die cache
US11636893B2 (en) 2020-10-19 2023-04-25 Micron Technology, Inc. Memory device with multiple row buffers
US11842777B2 (en) * 2020-11-17 2023-12-12 Sunrise Memory Corporation Methods for reducing disturb errors by refreshing data alongside programming or erase operations
KR20230105593A (ko) * 2022-01-04 2023-07-11 에스케이하이닉스 주식회사 전자장치 및 전자시스템
US11966621B2 (en) * 2022-02-17 2024-04-23 Sandisk Technologies Llc Non-volatile storage system with program execution decoupled from dataload

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000030116A1 (en) * 1998-11-17 2000-05-25 Lexar Media, Inc. Method and apparatus for memory control circuit
US6330636B1 (en) * 1999-01-29 2001-12-11 Enhanced Memory Systems, Inc. Double data rate synchronous dynamic random access memory device incorporating a static RAM cache per memory bank
US20050226083A1 (en) * 2002-04-25 2005-10-13 International Business Machines Corporation Destructive-read random access memory system buffered with destructive-read memory cache
US20050257120A1 (en) * 2004-05-13 2005-11-17 Gorobets Sergey A Pipelined data relocation and improved chip architectures
EP2814035A1 (en) * 2013-06-12 2014-12-17 Everspin Technologies, Inc. Method for healing reset errors in a spin torque mram
KR20160045694A (ko) * 2013-08-21 2016-04-27 에버스핀 테크놀러지스, 인크. 비파괴적 기록/판독 레벨링
KR20160061704A (ko) * 2014-11-24 2016-06-01 삼성전자주식회사 페이지 상태 알림 기능이 있는 메모리 장치
JP2017010607A (ja) * 2016-10-05 2017-01-12 エスアイアイ・セミコンダクタ株式会社 不揮発性半導体記憶回路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW410295B (en) * 1999-03-02 2000-11-01 Via Tech Inc Memory access control device
US6687172B2 (en) * 2002-04-05 2004-02-03 Intel Corporation Individual memory page activity timing method and system
JP4229674B2 (ja) * 2002-10-11 2009-02-25 Necエレクトロニクス株式会社 半導体記憶装置及びその制御方法
CN100452239C (zh) * 2003-04-24 2009-01-14 富士通微电子株式会社 半导体存储器
US6845059B1 (en) * 2003-06-26 2005-01-18 International Business Machines Corporation High performance gain cell architecture
KR101286643B1 (ko) * 2007-04-05 2013-07-22 삼성전자주식회사 독립적으로 뱅크의 모드를 선택하는 반도체 메모리 장치,메모리 컨트롤러 및 그 제어 방법
WO2012106358A1 (en) * 2011-01-31 2012-08-09 Everspin Technologies, Inc. Method of reading and writing to a spin torque magnetic random access memory with error correcting code
WO2012106332A1 (en) * 2011-01-31 2012-08-09 Everspin Technologies, Inc. Method of writing to a spin torque magnetic random access memory
US8923041B2 (en) * 2012-04-11 2014-12-30 Everspin Technologies, Inc. Self-referenced sense amplifier for spin torque MRAM
JP2014053058A (ja) * 2012-09-06 2014-03-20 Toshiba Corp 半導体記憶装置
JP6165008B2 (ja) * 2013-09-25 2017-07-19 キヤノン株式会社 メモリ制御装置、メモリ制御方法、情報機器及びプログラム
CN105047229B (zh) * 2015-08-03 2017-11-10 西安紫光国芯半导体有限公司 一种用于rram的存储单元片内自测电路及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000030116A1 (en) * 1998-11-17 2000-05-25 Lexar Media, Inc. Method and apparatus for memory control circuit
US6330636B1 (en) * 1999-01-29 2001-12-11 Enhanced Memory Systems, Inc. Double data rate synchronous dynamic random access memory device incorporating a static RAM cache per memory bank
US20050226083A1 (en) * 2002-04-25 2005-10-13 International Business Machines Corporation Destructive-read random access memory system buffered with destructive-read memory cache
US20050257120A1 (en) * 2004-05-13 2005-11-17 Gorobets Sergey A Pipelined data relocation and improved chip architectures
EP2814035A1 (en) * 2013-06-12 2014-12-17 Everspin Technologies, Inc. Method for healing reset errors in a spin torque mram
KR20160045694A (ko) * 2013-08-21 2016-04-27 에버스핀 테크놀러지스, 인크. 비파괴적 기록/판독 레벨링
KR20160061704A (ko) * 2014-11-24 2016-06-01 삼성전자주식회사 페이지 상태 알림 기능이 있는 메모리 장치
JP2017010607A (ja) * 2016-10-05 2017-01-12 エスアイアイ・セミコンダクタ株式会社 不揮発性半導体記憶回路

Also Published As

Publication number Publication date
KR102556115B1 (ko) 2023-07-18
WO2018200298A1 (en) 2018-11-01
US10650899B2 (en) 2020-05-12
EP3616203B1 (en) 2024-02-21
US20180314635A1 (en) 2018-11-01
EP3616203A1 (en) 2020-03-04
CN110678927B (zh) 2023-08-01
CN110678927A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
KR102556115B1 (ko) 캘리브레이션 지원을 갖는 메모리 내에서의 지연 후-기록
US10657065B2 (en) Delayed write-back in memory
US10311951B2 (en) Refresh architecture and algorithm for non-volatile memories
US20020161967A1 (en) Destructive read architecture for dynamic random access memories
US8582389B2 (en) Write assist in a dual write line semiconductor memory
US9104646B2 (en) Memory disturbance recovery mechanism
US11935601B2 (en) Bit line sensing circuit comprising a sample and hold circuit
US7894290B2 (en) Method and apparatus for performing internal hidden refreshes while latching read/write commands, address and data information for later operation
US11935615B2 (en) Thermometer sample and hold design for non-volatile memory
CN115910153A (zh) 支持单时钟周期读-修改-写操作的静态随机存取存储器
TW202347328A (zh) 具有選用抹除操作之持續性xspi stt-mram

Legal Events

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