KR101619363B1 - 행 해머 리프레시 명령 - Google Patents

행 해머 리프레시 명령 Download PDF

Info

Publication number
KR101619363B1
KR101619363B1 KR1020147031395A KR20147031395A KR101619363B1 KR 101619363 B1 KR101619363 B1 KR 101619363B1 KR 1020147031395 A KR1020147031395 A KR 1020147031395A KR 20147031395 A KR20147031395 A KR 20147031395A KR 101619363 B1 KR101619363 B1 KR 101619363B1
Authority
KR
South Korea
Prior art keywords
memory
row
address
memory device
memory controller
Prior art date
Application number
KR1020147031395A
Other languages
English (en)
Other versions
KR20150002783A (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 KR20150002783A publication Critical patent/KR20150002783A/ko
Application granted granted Critical
Publication of KR101619363B1 publication Critical patent/KR101619363B1/ko

Links

Images

Classifications

    • 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/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40622Partial refresh of memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

메모리 제어기는 목표 리프레시 명령을 발행한다. 메모리 디바이스의 특정의 행은 반복된 액세스들의 목표일 수 있다. 행이 시간 임계치 내에 반복하여 액세스될 때("해머링된(hammered)" 또는 "행 해머 이벤트(row hammer event)"라고도 함), 물리적으로 인접한 행("희생" 행)은 데이터 오염을 겪을 수 있다. 메모리 제어기는 행 해머링 이벤트의 표시를 수신하고, 행 해머링 이벤트와 연관된 행을 식별하며, 메모리 디바이스로 하여금 희생 행을 리프레시하게 될 목표 리프레시를 수행하게 하기 위해 하나 이상의 명령들을 메모리 디바이스로 송신한다.

Description

행 해머 리프레시 명령{ROW HAMMER REFRESH COMMAND}
본 발명의 실시예들은 일반적으로 메모리 관리에 관한 것으로서, 보다 상세하게는 행 해머 이벤트(row hammer event)에 응답하여 리프레시 명령(refresh command)을 송신하는 것에 관한 것이다.
저작권 고시/허용
이 특허 문서의 개시 내용의 일부분은 저작권 보호를 받는 내용을 포함할 수 있다. 저작권 소유자는 임의의 자가 특허청 특허 파일 또는 기록에 나와 있는 그대로 특허 문서 또는 특허 개시 내용을 재현하는 것에 대해서는 이의를 갖지 않지만, 그렇지 않은 경우에는 모든 저작권을 보유한다. 저작권 고시는 이하 및 본 명세서에 첨부된 도면들에서 기술되는 모든 데이터에 적용될 뿐만 아니라, 이하에 기술된 임의의 소프트웨어에도 적용된다: Copyrightⓒ 2012, Intel Corporation, All Right Reserved.
컴퓨팅 기술의 진보에 따라, 컴퓨팅 디바이스들이 더 작아지고 훨씬 더 많은 처리 능력을 가진다. 그에 부가하여, 컴퓨팅 디바이스들은 디바이스들 상에서 수행되는 프로그래밍 및 컴퓨팅의 요구를 충족시키기 위해 점점 더 많은 저장 장치 및 메모리를 포함한다. 저장 용량의 증가와 함께 디바이스들의 크기가 축소되는 것은 고밀도 디바이스들을 제공하는 것에 의해 달성되고, 여기서 메모리 디바이스 내의 원자적 저장 유닛들은 점점 더 작은 기하 형태들을 가진다.
증가된 밀도의 최신 세대에서, 어떤 디바이스들에서 간헐적인 고장이 나타난다. 예를 들어, 어떤 기존의 DDR3 기반 시스템들은 과중한 작업 부하로 간헐적인 고장을 경험한다. 연구자들은 메모리 셀의 리프레시 윈도우 내에서 단일의 메모리 행에의 반복된 액세스에 대한 고장들을 추적하였다. 예를 들어, 32 nm 공정에 대해, 64 ms 리프레시 윈도우에서 550K회 이상 행이 액세스되는 경우, 액세스된 행에 물리적으로 인접한 워드라인은 데이터 오염을 경험할 확률이 아주 높다. 행 해머링(row hammering)은 패스게이트(passgate)를 통한 이동(migration)을 야기할 수 있다. 하나의 행에 대한 반복된 액세스에 의해 야기되는 누설 전류 및 기생 전류는 비액세스된 물리적으로 인접한 행에 데이터 오염을 야기한다. 고장 문제는 이것이 가장 빈번히 보여지는 DRAM 산업에서 '행 해머(row hammer)' 또는 '1 행 교란(1 row disturb)' 문제라고 한다.
행 해머으로 인한 고장을 다루기 위해 확인된 하나의 접근 방법은 시스템에서 성능 영향을 미치는 리프레시 사이클당 행당 허용된 액세스 횟수를 제한하는 것이다. 행 해머 고장을 해결하기 위해 확인된 다른 접근 방법은 BCAT(buried channel array transistor)에서 BCD(bottom critical dimension)를 감소시키는 것, 및/또는 DIBL(drain induced barrier lowering)을 개선시키기 위해 채널 길이를 증가시키는 것을 포함한다. 그렇지만, 디바이스의 치수 크기(dimension size)를 변경하는 것은 물리적 제한 및 실제적 제한 둘 다를 가진다. 특정의 치수들이 이제 변경될 수 있는 경우, 이는 여전히 제조 공정에 대한 변경을 필요로 한다. 또한, 이는 차세대 제품들에서 이 문제를 어떻게 해결할지의 질문을 미해결 상태로 두고 있다.
행 해머 문제를 다루는 다른 접근 방법은 리프레시들 간의 시간을 감소시키는 것이다. 그렇지만, 디바이스의 밀도가 증가되더라도 리프레시 시간은 이미 일정한 채로 유지되고 있다. 현재의 디바이스들은 동일한 기간에 점점 더 큰 구역들에 대해 리프레시를 수행할 필요가 있다. 이와 같이, 리프레시 시간을 추가로 감소시키는 것은, 메모리 디바이스들에서 부가의 리프레시 오버헤드를 필요로 하는 것 등에 의해, 시스템에 성능 영향을 야기할 것이다.
이하의 설명은 본 발명의 실시예들의 구현들의 예로서 주어진 예시들을 가지는 도면들에 대한 논의를 포함한다. 도면들은 제한이 아니라 예로서 이해되어야 한다. 본 명세서에서 사용되는 바와 같이, 하나 이상의 "실시예들"이라는 언급은 특정의 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 구현예에 포함되어 있다는 것을 기술하는 것으로 이해되어야 한다. 이와 같이, 본 명세서에 나오는 "하나의 실시예에서" 또는 "대안의 실시예에서"와 같은 문구들은 본 발명의 다양한 실시예들 및 구현예들을 기술하고, 모두가 꼭 동일한 실시예를 말하는 것은 아니다. 그렇지만, 이들이 또한 꼭 상호 배타적인 것은 아니다.
도 1은 목표 리프레시 명령을 제공하는 시스템의 일 실시예의 블록도.
도 2a는 메모리 어레이의 희생 행에 대한 목표 리프레시를 제공하는 시스템의 일 실시예의 블록도.
도 2b는 메모리 어레이의 희생 행에 대한 목표 리프레시를 제공하는 시스템의 일 실시예의 블록도로서, 여기서 희생 행은 과도한 액세스의 목표와 상이한 영역에 있음.
도 3은 목표 리프레시 명령의 주소를 나타내기 위해 N개의 핀들을 사용하는 시스템의 일 실시예의 블록도.
도 4는 목표 리프레시 명령을 지원하는 명령 진리표의 일 실시예를 나타낸 도면.
도 5는 목표 리프레시 명령에 대한 타이밍을 나타내는 시그널링의 일 실시예의 타이밍도.
도 6은 메모리 어레이의 희생 행의 목표 리프레시 프로세스의 일 실시예의 흐름도.
도 7은 목표 리프레시가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블록도.
도 8은 목표 리프레시가 구현될 수 있는 모바일 디바이스의 일 실시예의 블록도.
이하에 기술되는 실시예들 중 일부 또는 전부를 도시할 수 있는 도면들의 설명을 포함하는 것은 물론, 본 명세서에 제시된 발명 개념들의 다른 잠재적인 실시예들 또는 구현예들을 논의하는 특정의 상세들 및 구현들에 대한 설명이 뒤따른다.
본 명세서에 기술된 바와 같이, 메모리 제어기는 행 해머 조건(row hammer condition) 또는 행 해머 이벤트를 해결하기 위해 목표 리프레시 명령을 메모리 디바이스로 송신한다. 메모리 디바이스의 특정의 행이 특정의 시간 윈도우 내에서 반복하여 액세스될 때, 물리적으로 인접한 행은 데이터 오염을 겪을 수 있다. 시간 윈도우 내에서의 반복된 액세스는, 본 명세서에서, 행 해머 이벤트 또는 행 해머링 조건이라고 지칭된다. 물리적으로 인접한 행은 행 해머 이벤트에 대한 희생 행이다. 본 명세서에 기술된 바와 같이, 메모리 제어기는 특정의 행이 시간 윈도우 내에서 임계치 횟수를 초과하여 액세스되는 행 해머 이벤트의 표시를 수신한다. 메모리 제어기는 행 해머 이벤트와 연관된 행을 식별하고, 메모리 디바이스로 하여금 희생 행 또는 행들을 리프레시하게 될 목표 리프레시를 수행하게 하기 위해 하나 이상의 명령들을 메모리 디바이스로 송신한다.
64 ms 윈도우(예컨대, 리프레시 윈도우) 내에서 행이 액세스될 수 있는 이론적 최대 횟수는 현재의 DRAM(dynamic random access memory)에 대해 135만회(64 ms 리프레시 윈도우/47 ns 액세스 시간)이다. 희생 행에서의 데이터 오염의 위험이 없는 실제적 최대값은 상당히 더 낮고, 사용되는 공정 기술에 의존한다. 그렇지만, 행 해머 이벤트를 검출하고 목표 리프레시 명령을 송신하는 것에 의해, 특정의 메모리 행에의 액세스를 제한함이 없이 데이터 오염의 위험이 감소될 수 있다.
본 명세서에 제공된 예들은 DRAM과 관련한 행 해머 문제를 주로 논의하고 있다. 그렇지만, 행 해머 문제가, 보다 일반적으로, 메모리 밀도가 증가함에 따라 일어나는 메모리 디바이스 스케일링 문제라는 것을 잘 알 것이다. 이와 같이, DRAM과 관련한 설명들은 메모리 제어기 또는 동등한 로직을 포함하는 다른 메모리 기술들에 적용될 수 있는 비제한적인 예들로서 이해될 것이다. 본 명세서에 기술된 목표 리프레시 명령은 DDR4(dual data rate version 4, 본 출원의 출원 무렵에 개발 중인 규격), LPDDR4(low power dual data rate version 4, 본 출원의 출원 무렵에 개발 중인 규격), 또는 WIDEIO(본 출원의 출원 무렵에 개발 중인 규격)와 같은 다수의 메모리 기술들 중 임의의 것과 호환된다.
메모리 디바이스에서, 물리적으로 인접해 있는 행들이 제조업체마다 종종 논리적으로 상이하게 표시되어 있을 수 있다. 전형적으로, 제조업체는 논리적으로 인접해 있는 메모리 행들을 물리 주소 오프셋에 의해 매핑하고, 이 오프셋들이 상이한 제조업체들 간에 상이할 수 있다. 메모리 디바이스 자체는 물리 메모리 자원들에 대한 액세스 요청들을 어떻게 매핑할지를 결정하도록 구성되어 있다. 메모리 제어기들은 일반적으로 많은 상이한 유형의 메모리 디바이스들과 호환되도록 설계되어 있고, 따라서 일반적으로 임의의 특정의 제조업체의 디바이스와 관련하여 특정하여 설계되어 있지 않다. 이와 같이, 메모리 제어기들은 종래에는 어떤 행들이 물리적으로 인접해 있는지를 나타내는 로직 또는 정보를 갖지 않는다.
하나의 실시예에서, 메모리 제어기는 메모리 디바이스로 하여금 정확한 희생 행 또는 행들을 리프레시하게 하기 위해 목표 리프레시 명령을 송신하는 것과 함께 어떤 행이 액세스 요청들에 의해 해머링되는지를 나타내는 정보를 송신한다. 이와 같이, 메모리 제어기는 리프레시될 행(들)을 직접 나타낼 필요가 없고, 그 대신에 해머링되는 행을 식별하기만 하면 된다. 메모리 디바이스 자체는 메모리 디바이스에 의해 사용되는 메모리 레이아웃에 기초하여 어떤 희생 행 또는 행들이 행 해머 이벤트에 의해 영향을 받을 것인지를 계산할 수 있다. 전형적인 리프레시 시나리오에서, 메모리 디바이스 자체는 어떤 것이 언제 리프레시될 필요가 있는지를 추적한다. 메모리 디바이스는 희생 행(들)을, 행을 열고 이어서 리프레시할 행(들)을 닫는 것에 의해, 리프레시한다.
메모리 제어기가 메모리 디바이스로 하여금 해머링된 행의 희생 행(들)을 리프레시하게 하기 위해 해머링된 행의 주소를 알려주는 것이 특정의 주소를 식별하기 위해 특정의 수의 비트들을 필요로 한다는 것을 잘 알 것이다. 하나의 실시예에서, 메모리 제어기는 특정의 주소를 식별한다. 다른 실시예에서, 메모리 제어기는 특정의 행보다 더 큰 구역을 식별한다. 이와 같이, 메모리 제어기는, 선택된 구성에 따라, 특정의 블록, 특정의 행, 또는 구역을 식별할 수 있다. 아주 특정적인 주소를 식별하는 비용은 요구된 비트들의 수이다. 주소를 식별하는 비용은, 보다 일반적으로, 메모리 디바이스가 더 큰 구역을 리프레시할 필요가 있어, 메모리 디바이스가 더 긴 리프레시 시간 동안 이용가능하지 않게 된다는 것이다.
하나의 실시예에서, 메모리 제어기는 주소 정보를 메모리 디바이스로 송신하는 것에 의해 주소 정보를 알려준다. 하나의 실시예에서, 메모리 제어기와 메모리 디바이스 사이에 하나 이상의 부가의 핀들 또는 라인들이 추가될 수 있고, 주소 정보를 식별하기 위해 기존의 명령에 주소 정보를 삽입한다. 이와 같이, 목표 리프레시 명령은 수정된 기존의 명령 및/또는 하나 이상의 부가의 핀들 또는 라인들의 사용과 함께 수정된 기존의 명령일 수 있다. 하나의 실시예에서, 목표 리프레시 명령은 명령 및 주소를 복수회(예컨대, 3번) 송신하는 것을 포함한다. 하나의 실시예에서, 주소가 연속적인 명령들에서 수정될 수 있다(예컨대, 2개의 연속적인 명령들에서 주소+1을 송신하고 이어서 주소-1을 송신함). 다른 실시예들이 가능하다. 하나의 실시예에서, 메모리 제어기는 목표 리프레시 명령을 송신하고, 메모리 디바이스는 이를 활성화 명령 및 프리차지 명령의 하나 이상의 그룹들로 분할한다.
메모리 제어기가 메모리 디바이스로 하여금 메모리 디바이스에 의해 수행되는 리프레시 추적에 따라 리프레시를 수행하게 하기 위해 리프레시 명령을 발행하는 것이 통상적이다. 이와 같이, 메모리 제어기는 명령을 제공하기만 하면 되고, 메모리 디바이스는 어떤 것을 어떻게 리프레시할지를 결정할 수 있다. 하나의 실시예에서, 메모리 제어기는 주소 정보를 갖는 활성화 명령을 송신하는 것을 비롯하여 목표 리프레시 명령을 발행한다. 하나의 실시예에서, 메모리 제어기는 주소 정보를 갖는 리프레시 명령을 송신하는 것을 비롯하여 목표 리프레시 명령을 발행한다. 다른 기존의 명령들이 목표 리프레시를 트리거하기 위해 주소 정보를 "이중 사용(doubled up)"할 수 있다는 것을 잘 알 것이다. 그에 부가하여, 완전히 새로운 명령이 목표 리프레시를 트리거하거나 야기하는 명령으로서 사용될 수 있다.
도 1은 목표 리프레시 명령을 제공하는 시스템의 일 실시예의 블록도이다. 시스템(100)은 메모리 제어기(120)에 결합된 메모리 디바이스(110)를 포함한다. 메모리 디바이스(110)는 인접한 메모리 셀 행들을 가지는 임의의 유형의 메모리 기술을 포함할 수 있고, 여기서 데이터는 워드라인 또는 등가물을 통해 액세스가능하다. 하나의 실시예에서, 메모리 디바이스(110)는 DRAM(dynamic random access memory) 기술을 포함한다.
메모리 디바이스(110)는 해머링을 겪는 또는 주어진 기간 내에 반복하여 액세스되는 메모리 행인 목표 행(112)을 포함한다. 목표 행은 행 해머 이벤트의 목표이다. 많은 최근의 메모리 디바이스들에서, 반도체 레이아웃의 아키텍처는 하나 이상의 물리적으로 인접한 행들을 오염될 위험에 빠지게 한다. 목표 행(112)의 행 해머로 인해 오염될 위험에 처해 있는 행들은 희생 행(114) 및 희생 행(116)으로서 예시되어 있다. 메모리 디바이스(110)의 물리적 레이아웃에 따라, 희생 행들(114, 116) 중 어느 하나 또는 둘 다가 위험에 처해 있을 수 있다.
상이한 메모리 디바이스 제조업체들이 디바이스들의 메모리 자원들을 이용하기 위해 상이한 로직 및 아키텍처들을 사용한다는 것을 잘 알 것이다. 예를 들어, 상이한 메모리 디바이스 제조업체들은 호스트 프로세서(도시 생략)에서 사용되는 논리적 메모리 주소들과 메모리 디바이스(110) 내부에서 사용되는 물리적 메모리 주소들 간에 매핑하기 위해 상이한 오프셋들을 사용할 수 있다. 하나의 실시예에서, 메모리 제어기(120)는 호스트 프로세서에 의해 사용되는 것과 동일한 논리적 메모리 주소들을 이용한다. 이와 같이, 하나의 실시예에서, 메모리 제어기(120)는 목표 행(112)을 나타내는 행 주소를 메모리 디바이스(110)에 제공한다. 메모리 제어기는 그가 메모리 디바이스(110)에 발행하는 명령과 함께 및/또는 그의 일부로서 행 주소를 나타낼 수 있다. 메모리 디바이스는 이어서 희생 행(들)(114, 116)의 특정의 주소 또는 주소들을 계산할 수 있다. 메모리 디바이스(110)는 이어서 인접한 희생 행에 대해 목표 리프레시를 수행한다.
메모리 제어기(120)는, 행 해머 이벤트를 검출한 것에 응답하여, 메모리 제어기로 하여금 목표 리프레시를 수행하게 하기 위해 목표 리프레시 명령(122)을 발생시킨다. 하나의 실시예에서, 목표 리프레시 명령(122)은 일련의 명령들을 포함한다. 명령들은 모두가 동일한 명령들일 수 있거나, 명령들의 상이한 조합이 송신될 수 있다. 예를 들어, 하나의 실시예에서, 각각의 목표 리프레시 명령(새로운 명령이든 이중 사용된 명령이든 관계 없음)에 뒤이어서 프리차지 명령이 따라올 수 있다. 하나의 실시예에서, 메모리 제어기는 메모리 디바이스에 목표 리프레시를 야기하기 위해 주소를 갖는 다수의 명령들 및 프리차지 명령들의 시퀀스를 송신한다. 하나의 실시예에서, 이 시퀀스는 명령+주소 및 그에 뒤이은 프리차지 명령의 3개의 그룹들(예컨대, Cmd+Addr, Pre, Cmd+Addr, Pre, Cmd+Addr, Pre)이다. 하나의 실시예에서, 메모리 디바이스(예컨대, DRAM)는, 주소를 나타내는 메모리 제어기에 의해 발행된 목표 리프레시 명령에 응답하여, (활성화 명령들과 같은) 목표 리프레시 명령들 및 프리차지 명령들을 발생시킨다. 이 주소는 일련의 명령들 내의 각각의 명령에 대해 동일한 채로 있을 수 있고, 그 주소가 특정의 행 대신에 구역에 대해 명시되어 있는 경우에 특히 그렇다. 대안의 실시예에서, 3개의 명령들에 대해 Addr, Addr+1, 및 Addr-1을 송신하는 것과 같이, 각각의 명령에 대해 주소가 달라질 수 있다. 주소들의 순서가 임의의 방식으로 변경될 수 있다(예컨대, Addr-1, Addr, Addr+1, 또는 Addr, Addr-1, Addr+1, 또는 어떤 다른 조합).
검출기(130)는 시스템(100)이 행 해머 이벤트를 검출할 수 있게 하는 하드웨어 및/또는 소프트웨어 또는 다른 로직을 나타낸다. 행 해머 조건을 검출하는 데 사용되는 메커니즘 또는 메커니즘들은 본 명세서에서의 논의의 범위를 넘어서며, 상세히 논의되지 않을 것이다. 주된 요점은 검출기(130)가 언제 목표 행(112)이 임계치 내의 반복된 액세스들을 경험하는지를 결정할 수 있다는 것이다. 검출기(130)는 메모리 디바이스(110), 메모리 제어기(120)에 있는, 그리고/또는 메모리 디바이스 또는 메모리 제어기 중 어느 하나와 별개인 하드웨어 및/또는 로직을 포함할 수 있다.
메커니즘들은 행이 액세스되는 횟수를 결정하는 것은 물론 액세스들이 일어나는 기간을 결정하는 어떤 방식을 포함한다. 행 해머 이벤트는 행이 몇번 액세스되는지 뿐만 아니라 주어진 기간 내에 몇번인지에 관한 것이기도 하다. 행이 리프레시되면, 데이터 오염을 야기할 수 있는 조건들이 극복된다. 이와 같이, 모니터링을 위한 기간이 리프레시 레이트(refresh rate)에 적어도 부분적으로 기초해야만 한다. 목표 리프레시 명령(122)은 리프레시 사이클로 주기적으로 일어나는 정상적으로 스케줄링된 리프레시 이벤트 사이에 데이터 오염을 야기하는 조건들을 극복할 수 있다.
하나의 실시예에서, 명령(122)의 발행은 모드 레지스터(118) 내의 값을 세트시키는 것과 적어도 부분적으로 함께 행해진다. 모드 레지스터(118)는 메모리 디바이스(110)에 대한 구성 정보를 저장하기 위해 사용되는 레지스터, 또는 테이블, 또는 다른 메커니즘이다. 구성 정보는 구현마다 달라질 수 있지만, 모드 레지스터의 상이한 설정들은 명령 버스(예컨대, 명령/주소(C/A) 버스)를 통해 송신된 주어진 명령이 메모리 디바이스(110)에 의해 어떻게 해석되는지를 변경할 수 있다. 하나의 실시예에서, 명령의 어떤 비트들을 주소 비트들로서 해석하라고 메모리 디바이스를 트리거하기 위해 모드 레지스터 내의 값을 세트시키는 것과 함께, 목표 리프레시 명령(122)이 C/A 버스를 통해 송신된다.
메모리 제어기(120)로부터 메모리 디바이스(110)에 행 주소 정보를 제공하는 다수의 상이한 방식들이 있을 수 있다는 것을 잘 알 것이다. 하나의 옵션은 앞서 논의된 바와 같이 모드 레지스터를 사용하는 것이다. 메모리 디바이스로 하여금 동일한 명령을 상이한 방식으로 해석하게 하기 위해 그리고, 구체적으로는, 목표 리프레시를 트리거하기 위해 상이한 모드 레지스터 상태가 세트된 상태에서 명령이 재사용될 수 있다. 이러한 접근 방법은 모드 레지스터 상태에 따라 동일한 비트들로 상이한 정보를 제공하는 것에 의한 신호 라인들의 다중화라고 할 수 있다.
DRAM 디바이스 문맥에서 재사용될 수 있는 명령들의 2가지 예들은 활성화 명령과 리프레시 명령이며, 이들 둘 다는 명령들에 주소 정보를 포함하고 있다. 앞서 논의한 바와 같이, 주소 정보가 특정적으로 또는 보다 일반적으로 제공될 수 있다. 주소의 보다 일반적인 표시의 경우, 사용되는 비트들의 수가 해머링된 행에 대한 특정의 주소를 제공하기에 충분하지 않을 것이다. 이와 같이, 주소 정보가 어떤 비트 오프셋만큼 절단(truncate)된 것으로 해석될 수 있고, 메모리 디바이스(110)는 보다 큰 구역을 리프레시할 것이다. 이 절단은 메모리 디바이스 밀도의 함수일 수 있다.
도 2a는 DRAM 어레이와 같은 메모리 어레이의 희생 행에 대한 목표 리프레시를 제공하는 시스템의 일 실시예의 블록도이다. 도 2b는 DRAM 어레이와 같은 메모리 어레이의 희생 행에 대한 목표 리프레시를 제공하는 시스템의 일 실시예의 블록도로서, 여기서 희생 행은 과도한 액세스의 목표와 상이한 메모리 구역에 있다. 시스템(200)은 DRAM(210) 또는 다른 메모리 디바이스, 및 메모리 디바이스에 결합된 메모리 제어기(230)를 포함한다. 시스템(200)은 도 1의 시스템(100)에 따른 시스템의 하나의 예를 제공한다.
DRAM(210)은 공지된 메모리 아키텍처들 또는 그들의 파생물들에 따른 메모리 행들인 메모리 행들(212)을 포함한다. 간단히 말해, 메모리 행은 열 주소 스트로브(column address strobe) 또는 신호(CAS)에 의해 식별되는 하나 이상의 어드레싱가능한 메모리 셀 열들을 포함한다. 행들은 행 주소 스트로브(row address strobe) 또는 신호(RAS)를 통해 어드레싱가능하다. 주소 맵(220)은 메모리 제어기(230)로부터의 주소 정보를 DRAM(210) 내의 물리 메모리 장소들에 매핑하는 로직을 포함한다. 메모리가 전형적으로 메모리 제어기(230)에 의해 제공되는 "인접한" 메모리 주소들이 꼭 DRAM(210)에서 물리적으로 인접한 메모리 장소들에 매핑되지는 않는 방식으로 액세스된다는 것을 잘 알 것이다. 오히려, 메모리 제어기(230)에 의해 제공되는 각각의 인접한 메모리 주소는 어떤 일관성있는 오프셋으로서 위치되는 주소들에 매핑된다. 예를 들어, 주소들 0xX0h, 0xX1h, 및 0xX2h가, 각각, 물리 장소들 0Xy0h, 0xY3h, 및 0xY7h에 위치될 수 있고, 여기서 오프셋은 '4'이다. 이 예에서, 'X'는 메모리 제어기에 의해 제공되는 주소들의 상위 비트 정보를 나타내고, 'Y'는 DRAM(210) 내에서 매핑되는 주소들의 상위 비트 정보를 나타낸다. 이와 같이, 메모리 디바이스 자체는 목표 리프레시 명령과 함께 메모리 제어기에 의해 제공된 주소 정보와 관련하여 디바이스의 구성에 기초하여 희생 행을 결정할 수 있다.
도면들을 구체적으로 참조하면, 도 2a는 목표 행(214) 및 인접한 희생 행(216)을 예시하고 있으며, 여기서 목표 행 및 희생 행 둘 다는 동일한 메모리 구역(242)에 있다. 도 2b는 구역(244) 내의 목표 행(254) 및 구역(246) 내의 희생 행(256)을 예시하고 있다. 목표 행들(214 및 254)은 메모리 제어기(230)가 목표 리프레시 명령들을 송신함으로써 응답하는 행 해머 조건들의 목표들이다. 희생 행들(216 및 256)은 행 해머 조건에 응답하여 리프레시될 필요가 있는 행들을 나타낸다.
예시된 바와 같이, 희생 행이 동일한 메모리 영역에 위치해 있을 수 있지만(도 2a), 꼭 동일한 메모리 영역에 위치해 있을 필요는 없다(도 2b). 메모리 영역은 메모리의 논리적 및/또는 물리적 분리로서 이해될 수 있다. 하나의 실시예에서, 상이한 메모리 뱅크 내의 메모리 행이 행 해머 이벤트의 희생물로 될 수 있다. 주소 맵(220)은 DRAM(210)이 목표 리프레시 명령에 응답하여 어떤 행을 리프레시할지를 식별할 수 있게 한다.
하나의 실시예에서, 메모리 제어기(230)는 목표 행에 대한 특정의 주소를 식별한다. 특정의 주소는 특정의 물리 주소일 수 있다. 하나의 실시예에서, 메모리 제어기는 목표 행(예컨대, 행들(214 및 254))의 특정의 가상 메모리 주소를 식별한다. 하나의 실시예에서, 메모리 제어기(230)는 해머링된 행과 연관된 영역만을 식별한다. 이 영역은 구역들(242, 244 및 246)의 특정성(specificity)보다 더 특정적일 수 있다. 이와 같이, 구역 또는 영역에 대한 리프레시를 목표로 한다는 것은 임의의 크기의 행 그룹들을 말하는 것일 수 있다. 그룹이 꼭 메모리 디바이스의 가상 레이아웃에 의해 제한될 필요는 없다. 그룹은 리프레시될 영역이라고 할 수 있다.
이와 같이, 메모리 제어기는 행 해머 이벤트와 연관된 영역을 식별할 수 있고, 명령에 응답하여, 메모리 디바이스는 그 영역 또는 해머링된 행의 희생 행과 연관된 다른 영역을 리프레시한다. 리프레시 영역이 꼭 메모리 제어기에 의해 식별되는 동일한 영역일 필요는 없고, 메모리 디바이스가 희생 행이 인접한 영역에 있는 것으로 결정하는 경우, 인접한 영역일 수 있다. 메모리 제어기는 해머링된 행의 주소를 명시하는 데 필요한 핀들 또는 신호 라인들의 수를 감소시키기 위해 해머링된 행과 연관된 영역을 식별할 수 있다. 해머링된 행을 식별하는 데 더 적은 구체성을 사용한 결과, 희생물을 리프레시하도록 보장하기 위해서는 더 큰 영역 또는 구역을 리프레시할 필요가 있는데, 그 이유는 이러한 경우들에서 희생물이 정확하게 명시될 수 없기 때문이다.
도 3은 목표 리프레시 명령의 주소를 나타내기 위해 N개의 핀들을 사용하는 시스템의 일 실시예의 블록도이다. 시스템(300)은 메모리 제어기를 통해 호스트 프로세서에 결합된 메모리 디바이스를 포함하는 시스템이고, 도 1의 시스템(100)에 따른 시스템의 하나의 예일 수 있다. 시스템(300)은 메모리 제어기(320)에 결합된 메모리 디바이스 DRAM(310)을 포함한다. 메모리 제어기(320)는 차례로 호스트 프로세서(340)에 결합되어 있다.
호스트 프로세서(340)는 임의의 유형의 처리 유닛, 프로세서, 또는 마이크로컨트롤러일 수 있다. 호스트 프로세서(340)는 시스템(300)에서의 동작들의 주된 실행을 수행한다. 호스트 프로세서(340)에 의해 실행되는 동작들은 전형적으로 DRAM(310)에 저장된 명령어들 및 데이터로부터 시작된다. DRAM(310)은 본 명세서에 기술된 임의의 실시예에 따른 메모리 디바이스이다. DRAM(310)은 호스트 프로세서(340)에 의해 사용되는 데이터 및 명령어들을 저장하는 메모리 셀들(314)을 포함한다. 하나의 실시예에서, DRAM(310)은 디바이스에 대해 전력이 중단되는 경우 그의 내용이 비결정적인 휘발성 메모리 또는 메모리 디바이스이다. 이와 같이, 휘발성 메모리는 데이터가 상실되거나 오염되지 않도록 하기 위해 메모리 셀들을 리프레시할 수 있기 위해 규칙적인 전원을 필요로 한다.
DRAM(310)은 메모리 제어기(320)의 핀들(322)과 인터페이스하는 핀들(312)을 포함한다. 호스트 프로세서(340)로부터의 메모리 액세스는 전형적으로 메모리 제어기(320)를 통해 지나간다. 하나의 실시예에서, 메모리 제어기(320)는 호스트 프로세서(340)의 일부이다. 대안의 실시예에서, 메모리 제어기는 호스트 프로세서(340)가 그의 일부인 하드웨어 플랫폼에 대한 인터페이스 로직 및 전력을 위한 인프라 구조를 제공하는 지원하는 "칩셋" 또는 하드웨어 로직의 일부이다. 하나의 실시예에서, 핀들(322)은 목표 리프레시 명령과 함께 주소 정보를 제공하는 데 사용될 수 있는 핀 또는 핀들(324)을 포함한다. 앞서 논의한 바와 같이, 목표 리프레시 명령은 DRAM(310)과 같은 메모리 디바이스에서의 목표 리프레시를 트리거하는 직렬로 된 다수의 명령들의 명령 시퀀스일 수 있다. 대안의 실시예에서, 메모리 제어기는 단일의 명령을 송신할 수 있고, 메모리 디바이스는 이어서 희생 행(들)을 리프레시하거나 활성화시키라는 명령들, 및 희생 행(들)을 프리차지하라는 명령들을 발생시킬 수 있다. 다른 핀들(도시 생략)이 또한 목표 리프레시 명령을 DRAM(310)으로 송신하는 데 사용될 수 있다. 하나의 실시예에서, 핀들(324)은 2개 이상의 핀들을 포함한다. 이와 같이, 상호연결 라인은 폭 "N"을 가지는 것으로 표시되어 있고, 여기서 N은 0보다 큰 정수이다.
앞서 언급한 바와 같이, 주소 정보의 구체성은 시스템 구성에 따라 더 낮거나 더 높을 수 있다. 하나의 실시예에서, 시스템은 주소 정보를 송신하도록 명시된 4개의 핀들 또는 라인들을 가지는 뱅크 활성화(Bank Activate) 명령을 사용하도록 구성되어 있다. 뱅크 활성화 명령이 목표 리프레시 명령으로서 재사용되는 하나의 실시예에서, 시스템은 다른 핀 또는 라인인 활성화 인에이블(Activate Enable) 핀은 물론, 주소 정보를 명시하기 위한 3개의 부가적인 핀들 또는 라인들로 구성되어 있다. N이 어떻게 해석되는지에 따라, 이 구성에서의 N은 8(4개의 원래의 주소 핀들, 3개의 부가의 주소 핀들, 및 활성화 인에이블)로 간주될 수 있다. 동일한 시나리오에서, N은 부가의 주소 정보 핀들을 나타내기 위해 단지 3인 것으로 해석될 수 있다. N은 또한 이 구성에서 어떤 다른 수로서 해석될 수 있다.
부가의 주소 정보를 명시하는 일 없이, 목표 리프레시 명령은 3 LSB(least significant bit) 만큼의 정보를 포함하지 않을 것이고, 메모리 디바이스(예컨대, DRAM(310))는 목표 리프레시 명령마다 더 많은 구역을 순환해야만 할 것이다. 이와 같이, 부가의 핀들이 사용되는 경우 부가의 주소 정보가 명시될 수 있고; 그렇지 않은 경우, 목표 리프레시 명령과 연관된 주소가 덜 특정적이다.
앞서 언급한 바와 같이, 검출기(330)는 메모리 제어기(320)가 행 해머 조건을 식별할 수 있게 하여, 행 해머 조건에 대해 목표 리프레시 명령으로 응답할 수 있게 한다. 검출기(330)가 메모리 제어기(320)의 일부인 것으로 예시되어 있다. 하나의 실시예에서, 실제의 검출을 수행하는 메커니즘들은 DRAM(310)에 존재한다. 대안의 실시예에서, 검출기(330)는 시스템(300)의 하드웨어 플랫폼의 일부인 것과 같이 적어도 일부가 메모리 제어기(320) 또는 DRAM(310) 외부에 존재한다.
DRAM(310)은 어떤 행 또는 행들이 행 해머 조건으로 인해 오염의 위험에 처해 있는지를 결정하는 로직을 나타내는 희생 로직(316)을 포함한다. 하나의 실시예에서, 희생 로직(316)은 적어도 일부가 메모리 제어기(320)에서 실행될 수 있다. 그렇지만, 메모리 제어기(320)와 다른 유형의 메모리 디바이스들 간의 더 폭넓은 연동성을 위해, 희생 로직(316)이 일반적으로 DRAM(310)에 존재한다. 이와 같이, 메모리 제어기(320)는 행 해머 조건이 존재한다는 사실을 확인하고 이어서 목표 행의 주소 또는 주소 범위를 명시하는 명령을 송신하기만 하면 된다. DRAM(310)은 이어서 어떤 행 또는 행들이 잠재적인 희생물들인지를 결정하기 위해 맵 또는 다른 로직을 사용할 수 있다.
DRAM(310)은 메모리(314)의 리프레시를 수행하는 로직을 포함하는 제어 로직(318)을 포함한다. 각각의 메모리 디바이스는 어떤 메모리 셀들이 리프레시되었는지 및 어떤 행들이 그 다음에 리프레시되기로 되어 있는지를 추적하는 일부 로직을 포함한다. 제어 로직(318)은 메모리 제어기(320)로부터 목표 리프레시 명령을 수신한 것에 기초하여 실제의 목표 리프레시를 구현할 수 있다.
도 4는 목표 리프레시 명령을 지원하는 명령 진리표의 일 실시예를 나타낸 것이다. 명령 진리표(400)는 메모리 디바이스에 대한 진리표의 하나의 예를 나타낸다. 보다 구체적으로는, 표(400)는 DDR4 메모리에 대한 규격의 작업 초안을 나타낸다. 좌측의 열은 지원되는 기능들을 나타낸다. 우측의 열들은 식별된 기능들을 명시하는 상이한 신호들의 값을 나타낸다.
여기에서의 논의의 목적상 표(400)에서 특히 유의할 점은 Row Hammer(행 해머)인 명령(430)이다. Row Hammer의 예시된 실시예가, 신호(410)(ACT_n)의 값을 제외하고는, Bank Activate(뱅크 활성화)(그 위에 있는 명령)와 동일하다는 것을 알게 될 것이다. 하나의 실시예에서, ACT_n은 이전의 메모리 표준들에는 없는 핀이다. ACT_n 상의 신호는 명령이 Row Hammer 또는 Bank Activate인지 여부를 나타낸다. 이는 로우 활성(active-low)으로 나타내어져 있지만, 다른 대안으로서, 하이 활성(active-high)으로 구성될 수 있다. 이들 명령 둘 다는 행 주소 비트들로 나타내어진 주소를 식별할 수 있다.
420으로 표시된 3개의 열들이 RAS, CAS 및 WE 신호들을 포함한다는 것을 알게 될 것이다. 그렇지만, 이 명령들은 메모리 디바이스 자체에 의해 내부적으로 제어될 수 있다. 이와 같이, 이 신호들을 부가의 주소 정보(각각, 주소 비트들 A16, A15, 및 A14)와 멀티플렉싱하는 것은, 행 해머 조건의 목표의 주소를 더 상세하게 식별하기 위해, 더 많은 주소 정보가 제공될 수 있게 한다.
ACT가 세트되어 있을 때(예컨대, 열(410)), 메모리 디바이스는 RAS/CAS/WE를 행 주소 정보로서 판독한다. ACT가 세트되어 있지 않을 때, 메모리 디바이스는 RAS/CAS/WE를 종래의 메모리 액세스 인코딩으로서 판독한다. 앞서 언급한 바와 같이, 블록, 특정의 행, 또는 어떤 다른 크기 구역에 대해 주소 정보가 식별될 수 있다. 리프레시는 시스템에 대해 원하는 만큼 특정적이거나 넓을 수 있다.
활성화 명령이 신호 ACT_n의 사용에 의해 이중 사용되고 있는 것으로 나타내어져 있지만, 리프레시 또는 임의의 다른 명령이 사용될 수 있을 것이다. 다른 대안으로서, 목표 리프레시를 위해 완전히 새로운 명령이 사용될 수 있을 것이다. 예시된 바와 같이, 목표 리프레시 명령이 활성화 명령에 내장되어 있다고 말해질 수 있다. 메모리 디바이스는 명령(430) 내의 주소에 기초하여 희생 행을 식별한다.
하나의 실시예에서, C/A 버스 상의 명령(430)을 메모리 디바이스로 설정하기 전에, 메모리 제어기는 모드 레지스터 비트 또는 비트들을 통해 메모리 디바이스를 "행 해머 모드"에 둔다. 하나의 실시예에서, 메모리 제어기는 행 주소를 뱅크 그룹 및 뱅크 주소와 함께 메모리 디바이스에 제공한다. 메모리 디바이스는 그 주소에 인접한 물리 행에 제공되는 그 주소를 사용하여 목표 리프레시를 수행한다. 리프레시 명령이 행해지는 기간을 허용한 후에(이하의 도 5 참조), 메모리 제어기는 이어서 MR 비트를 리셋시키는 것에 의해 '행 해머 모드'로부터 메모리 디바이스를 제거할 수 있다.
도 5는 목표 리프레시 명령에 대한 타이밍을 나타내는 시그널링의 일 실시예의 타이밍도이다. 클럭 신호(CLK)(510)는 목표 리프레시 명령을 허용하는 시스템에서의 클럭 사이클들을 나타낸다. MR(520)은 특정의 모드 레지스터 상태의 타이밍을 나타낸다. 목표 리프레시 명령의 경우에, 하나의 실시예에서, 모드 레지스터의 하나 이상의 비트들을 세트시킴으로써 모드 레지스터와 관련하여 특정의 리프레시 또는 목표 리프레시 상태가 존재한다. 모드 레지스터 상태가 사용되는 일 실시예에서, 목표 리프레시 명령이 송신되기 전에 모드 레지스터 상태가 세트된다. 예시된 바와 같이, 모드 레지스터 상태(MR)(520)는 하강 엣지에서 인에이블되지만, 다른 대안으로서, 상승 엣지에서 인에이블될 수 있을 것이다.
"Ready(540)"로 나타내어져 있는 신호는 메모리 디바이스 준비(ready) 표시자를 나타낸다. Ready 신호(540)는 목표 리프레시 명령 이후에 메모리 디바이스가 액세스가능하지 않은 기간을 나타낸다. 명령 라인(530)은 목표 리프레시 명령을 나타내는 명령 "RF+ADDR"을 나타낸다. 'RF' 부분은 리프레시를 수행하라는 수신측 메모리 디바이스에 대한 명령을 나타낸다. 'ADDR' 부분은, 메모리 디바이스로 하여금 특정의 희생 행 또는 주소에 기초한 희생 행을 갖는 영역을 리프레시하게 하는, 메모리 디바이스에 알려주는 주소를 나타낸다.
명령 라인(530)이 목표 리프레시를 발생시키기 위해 시퀀스로 송신되는 다수의 명령들을 포함할 수 있다는 것, 및/또는 단일의 명령이 메모리 디바이스에서 다수의 명령들로 분리될 수 있다는 것을 잘 알 것이다. 모드 레지스터 상태가 활성인 동안 모든 명령들이 송신되거나 발생될 수 있다(예컨대, 모드 레지스터 상태를 세트시키고, 일련의 명령들을 송신하며, 이어서 모드 레지스터 상태를 리셋시킴). 명령들이 모두 함께 송신되거나 발생될 수 있고, 이 경우에 메모리 디바이스는 명령들을 버퍼링하고 이들을 수신된 순서로 실행할 수 있거나, 메모리 제어기는 그 다음 명령을 송신하기 전에 메모리 디바이스가 리프레시할 수 있게 하기 위해 시간 tRF 동안 기다릴 수 있다. 명령들이 시퀀스로 송신되거나 발생되는 경우, 메모리 디바이스는 tRF의 배수일 수 있는 어떤 기간 동안 이용가능하지 않게 될 것이다. 메모리 제어기는 전형적으로 리프레시 시간 동안 명령을 송신하지 않을 것이다. 그렇지만, 메모리 제어기가 목표 리프레시를 트리거하기 위해 다수의 명령들을 발행하는 일 실시예에서, 메모리 디바이스 및 메모리 제어기는 라인(520)에 나타낸 모드 레지스터 상태의 트리거링에 기초하여 일련의 명령을 허용하는 예외를 가능하게 하도록 구성될 수 있다.
목표 리프레시 명령의 발행 후 어떤 기간 tRF 동안, Ready(540)에서 트로프(trough)로 나타낸 바와 같이, 메모리 디바이스가 액세스가능하지 않게 될 것이다. 기간 tRF가 리프레시 사이클 시간 tRFC, 또는 일반 리프레시 명령 이후 메모리 디바이스가 이용가능하지 않은 기간보다 더 짧다는 것을 잘 알 것이다. 전형적인 tRFC는 대략 300 내지 400 나노초이다. 그렇지만, tRF에 대한 시간은 tRFC보다 1 자릿수만큼 더 작을 수 있다. 이와 같이, 목표 리프레시 명령과 연관된 tRF는 표준 리프레시 명령과 연관된 tRFC에 비해 아주 낮다. 메모리 디바이스가 액세스가능하지 않다는 것(inaccessibility)은 리프레시가 일어나고 있는 차단 기간(전체 리프레시에 대한 rRFC, 목표 리프레시에 대한 tRF) 동안 어떤 부가의 명령들도 송신되지 않는다는 사실을 말한다.
도 6은 메모리 어레이의 희생 행의 목표 리프레시 프로세스의 일 실시예의 흐름도이다. 메모리 제어기는 행 해머 모니터로부터 행 해머링 표시를 수신한다(602). 행 해머 모니터는 특정의 행이 주어진 기간 내에 임계치 횟수를 초과하여 액세스되었다고 추적하고 표시하는 데 사용되는 임의의 메커니즘을 포함한다. 임계치 횟수는 시스템에 사전 구성되어 있을 수 있고 그리고/또는 임계치가 구성가능할 수 있다. 희생 행이 리프레시되는 경우, 행 해머 조건이 치유될 것으로 보아서, 기간은 리프레시들 사이의 기간이다.
모니터는 행 해머 표시와 연관된 특정의 메모리 행을 식별할 수 있다(604). 메모리 제어기는 행 해머 조건을 완화시키기 위해 목표 리프레시 명령을 발행하기로 결정한다. 하나의 실시예에서, 메모리 제어기는 목표 리프레시 명령을 인에이블시키기 위해 모드 레지스터를 세트시킨다(606). 하나의 실시예에서, 모드 레지스터를 세트시키는 일 없이 목표 리프레시 명령이 발행될 수 있다.
메모리 제어기는 메모리 디바이스로 하여금 식별된 주소의 희생 행(들)에 대해 목표 리프레시를 수행하게 하기 위해 하나 이상의 명령들을 메모리 디바이스로 송신한다(608). 하나의 실시예에서, 메모리 디바이스는, 하나 이상의 명령들이 메모리 제어기에 의해 송신된 것에 응답하여, 다수의 명령들을 발생시킨다. 메모리 제어기는 주소 정보를 별도로 또는 목표 리프레시 명령의 일부로서 송신할 수 있다. 하나의 실시예에서, 메모리 디바이스 자체는 식별된 주소와 연관된 희생 행 또는 영역을 식별한다(610). 메모리 디바이스는 이어서 명령에 응답하여 희생 행 또는 영역에 대해 목표 리프레시를 수행한다(612). 메모리 제어기는 이어서 목표 리프레시를 디스에이블시키기 위해 모드 레지스터를 리셋시킬 수 있다(614).
도 7은 목표 리프레시가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블록도이다. 시스템(700)은 본 명세서에 기술된 임의의 실시예에 따른 컴퓨팅 디바이스를 나타내고, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게임 또는 엔터테인먼트 제어 시스템, 스캔, 복사기, 프린터, 또는 다른 전자 디바이스일 수 있다. 시스템(700)은 시스템(700)에 처리, 동작 관리, 및 명령어들의 실행을 제공하는 프로세서(720)를 포함한다. 프로세서(720)는 시스템(700)에 처리를 제공하는 임의의 유형의 마이크로프로세서, CPU(central processing unit), 처리 코어, 또는 다른 처리 하드웨어를 포함할 수 있다. 프로세서(720)는 시스템(700)의 전체적인 동작을 제어하고, 하나 이상의 프로그램가능 범용 또는 특수 목적 마이크로프로세서들, DSP들(digital signal processors), 프로그램가능 제어기들, ASIC들(application specific integrated circuits), PLD들(programmable logic devices), 기타, 또는 이러한 디바이스들의 조합일 수 있거나 이들을 포함할 수 있다.
메모리 서브시스템(730)은 시스템(700)의 메인 메모리를 나타내고, 프로세서(720)에 의해 실행될 코드, 또는 루틴을 실행하는 데 사용될 데이터 값들의 일시적 저장을 제공한다. 메모리 서브시스템(730)은 ROM(read only memory), 플래시 메모리, 하나 이상의 각종의 RAM(random access memory), 또는 다른 메모리 디바이스들, 또는 이러한 디바이스들의 조합과 같은 하나 이상의 메모리 디바이스들을 포함할 수 있다. 메모리 서브시스템(730)은, 그 중에서도 특히, 시스템(700)에서의 명령어들의 실행을 위한 소프트웨어 플랫폼을 제공하기 위해 OS(operating system)(736)를 저장하고 호스팅한다. 그에 부가하여, 시스템(700)의 처리 및 로직을 제공하기 위해 다른 명령어들(738)이 저장되고 메모리 서브시스템(730)으로부터 실행된다. OS(736) 및 명령어들(738)이 프로세서(720)에 의해 실행된다.
메모리 서브시스템(730)은 메모리 디바이스(732)를 포함하고, 여기서 이는 데이터, 명령어들, 프로그램들, 또는 다른 항목들을 저장한다. 하나의 실시예에서, 메모리 서브시스템은 본 명세서에 기술된 임의의 실시예에 따른 메모리 제어기이고 행 해머 조건에 기초하여 메모리 디바이스(732)에 목표 리프레시 명령을 제공하는 메모리 제어기(734)를 포함한다. 목표 리프레시 명령은 메모리 디바이스(732)로 하여금 오프 사이클 리프레시 동작(refresh operation off-cycle)인 목표 리프레시를 수행하게 하며, 이는 목표 리프레시가 규칙적으로 스케줄링된 리프레시들의 사이클 상에 있지 않으며, 리프레시할 그 다음 구역으로서 메모리 디바이스에 의해 추적되는 구역에 꼭 있을 필요는 없다는 것을 의미한다. 오히려, 리프레시된 영역은 목표 리프레시 명령(들)과 연관된 주소에 기초하여 식별된 희생 행 또는 영역에 기초한다.
프로세서(720) 및 메모리 서브시스템(730)은 버스/버스 시스템(710)에 결합되어 있다. 버스(710)는 적절한 브리지들, 어댑터들, 및/또는 제어기들에 의해 연결된 임의의 하나 이상의 개별적인 물리 버스들, 통신 라인들/인터페이스들, 및/또는 포인트-투-포인트 연결들을 나타내는 추상적 개념이다. 따라서, 버스(710)는, 예를 들어, 시스템 버스, PCI(Peripheral Component Interconnect) 버스, HyperTransport 또는 ISA(industry standard architecture) 버스, SCSI(small computer system interface) 버스, USB(universal serial bus), 또는 IEEE(Institute of Electrical and Electronics Engineers) 표준 1394 버스(흔히 "Firewire"라고 함) 중 하나 이상을 포함할 수 있다. 버스(710)의 버스들은 또한 네트워크 인터페이스(750)에서의 인터페이스들에 대응할 수 있다.
시스템(700)은 또한 버스(710)에 결합된, 하나 이상의 입출력(I/O) 인터페이스(들)(740), 네트워크 인터페이스(750), 하나 이상의 내장형 대용량 저장 디바이스(들)(760), 및 주변 장치 인터페이스(770)를 포함한다. I/O 인터페이스(740)는 사용자가 그를 통해 시스템(700)과 상호작용하는 하나 이상의 인터페이스 구성요소들을 포함할 수 있다(예컨대, 비디오, 오디오, 및/또는 영숫자 인터페이싱). 네트워크 인터페이스(750)는 하나 이상의 네트워크들을 통해 원격 디바이스들(예컨대, 서버들, 다른 컴퓨팅 디바이스들)과 통신할 수 있는 능력을 시스템(700)에 제공한다. 네트워크 인터페이스(750)는 이더넷 어댑터, 무선 상호연결 구성요소들, USB(universal serial bus), 또는 다른 유선 또는 무선 표준 기반 또는 독점적 인터페이스들을 포함할 수 있다.
저장 장치(760)는 하나 이상의 자기, 고상(solid state), 또는 광 기반 디스크들, 또는 그 조합과 같은 대량의 데이터를 비휘발적 방식으로 저장하는 임의의 종래의 매체일 수 있거나 이를 포함할 수 있다. 저장 장치(760)는 코드 또는 명령어들 및 데이터(762)를 영속적 상태로 보유한다(즉, 시스템(700)에 대한 전력의 중단에도 불구하고 값이 유지됨). 저장 장치(760)가 일반적으로 "메모리"인 것으로 생각될 수 있지만, 메모리(730)는 프로세서(720)에 명령어들을 제공하는 실행 또는 동작 메모리이다. 저장 장치(760)가 비휘발성인 반면, 메모리(730)는 휘발성 메모리(즉, 시스템(700)에 대한 전력이 중단되는 경우, 데이터의 값 또는 상태가 불확정적임)를 포함할 수 있다.
주변 장치 인터페이스(770)는 이상에서 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변 장치들은 일반적으로 시스템(700)에 종속적으로 연결되는 디바이스들을 말한다. 종속적 연결은 시스템(700)이 동작이 실행되는 그리고 사용자가 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 제공하는 연결이다.
도 8은 목표 리프레시가 구현될 수 있는 모바일 디바이스의 일 실시예의 블록도이다. 디바이스(800)는 컴퓨팅 태블릿, 휴대폰 또는 스마트폰, 무선 지원 이리더(wireless-enabled e-reader), 또는 다른 모바일 디바이스와 같은 모바일 컴퓨팅 디바이스를 나타낸다. 구성요소들 중 일부가 개괄적으로 도시되어 있고, 이러한 디바이스의 모든 구성요소들이 전부 디바이스(800)에 도시되어 있지는 않다는 것을 잘 알 것이다.
디바이스(800)는 디바이스(800)의 주된 처리 동작들을 수행하는 프로세서(810)를 포함한다. 프로세서(810)는 마이크로프로세서, 애플리케이션 프로세서(application processor), 마이크로컨트롤러, 프로그램가능 로직 디바이스, 또는 다른 처리 수단과 같은 하나 이상의 물리 디바이스들을 포함할 수 있다. 하나의 실시예에서, 프로세서(810)는 프로세서 다이에 부가하여 광 인터페이스 구성요소들을 포함한다. 이와 같이, 프로세서 다이 및 광 구성요소들(photonic components)이 동일한 패키지에 있다. 이러한 프로세서 패키지는 본 명세서에 기술된 임의의 실시예에 따라 광 커넥터와 광학적으로 인터페이스할 수 있다.
프로세서(810)에 의해 수행되는 처리 동작들은 응용 프로그램들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제를 실행하는 것을 포함한다. 처리 동작들은 사람 사용자와의 또는 다른 디바이스들과의 I/O(입력/출력)에 관련된 동작들, 전력 관리에 관련된 동작들, 및/또는 디바이스(800)를 다른 디바이스에 연결시키는 것에 관련된 동작들을 포함한다. 처리 동작들은 또한 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 포함할 수 있다.
하나의 실시예에서, 디바이스(800)는 오디오 기능들을 컴퓨팅 디바이스에 제공하는 것과 연관된 하드웨어 구성요소(예컨대, 오디오 하드웨어 및 오디오 회로) 및 소프트웨어 구성요소(예컨대, 드라이버, 코덱)를 나타내는 오디오 서브시스템(820)을 포함한다. 오디오 기능들은 스피커 및/또는 헤드폰 출력은 물론, 마이크 입력을 포함할 수 있다. 이러한 기능들을 위한 디바이스들이 디바이스(800) 내에 통합되거나 디바이스(800)에 연결될 수 있다. 하나의 실시예에서, 사용자는 프로세서(810)에 의해 수신되고 처리되는 오디오 명령들을 제공함으로써 디바이스(800)와 상호작용한다.
디스플레이 서브시스템(830)은 사용자가 컴퓨팅 디바이스와 상호작용하도록 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어 구성요소(예컨대, 디스플레이 디바이스) 및 소프트웨어 구성요소(예컨대, 드라이버)를 나타낸다. 디스플레이 서브시스템(830)은 사용자에게 디스플레이를 제공하는 데 사용되는 특정의 화면 또는 하드웨어 디바이스를 포함하는 디스플레이 인터페이스(832)를 포함한다. 하나의 실시예에서, 디스플레이 인터페이스(832)는 디스플레이에 관련된 적어도 어떤 처리를 수행하기 위해 프로세서(810)와 별개인 로직을 포함한다. 하나의 실시예에서, 디스플레이 서브시스템(830)은 사용자에게 출력 및 입력 둘 다를 제공하는 터치스크린 디바이스를 포함한다.
I/O 제어기(840)는 사용자와의 상호작용에 관련된 하드웨어 디바이스들 및 소프트웨어 구성요소들을 나타낸다. I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)의 일부인 하드웨어를 관리하는 동작을 할 수 있다. 그에 부가하여, I/O 제어기(840)는 사용자가 그를 통해 시스템과 상호작용할 수 있는 디바이스(800)에 연결되는 부가적인 디바이스들에 대한 연결점을 나타낸다. 예를 들어, 디바이스(800)에 접속될 수 있는 디바이스들은 마이크 디바이스, 스피커 또는 스테레오 시스템, 비디오 시스템 또는 다른 디스플레이 디바이스, 키보드 또는 키패드 디바이스, 또는 카드 판독기 또는 다른 디바이스와 같은 특정의 응용들에서 사용하기 위한 다른 I/O 디바이스들을 포함할 수 있다.
앞서 언급한 바와 같이, I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)과 상호작용할 수 있다. 예를 들어, 마이크 또는 다른 오디오 디바이스를 통한 입력은 디바이스(800)의 하나 이상의 응용 프로그램들 또는 기능들에 대한 입력 또는 명령들을 제공할 수 있다. 게다가, 디스플레이 출력 대신에 또는 그에 부가하여, 오디오 출력이 제공될 수 있다. 다른 예에서, 디스플레이 서브시스템이 터치스크린를 포함하는 경우, 디스플레이 디바이스는 또한 I/O 제어기(840)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 기능한다. 또한, I/O 제어기(840)에 의해 관리되는 I/O 기능들을 제공하기 위해 디바이스(800) 상에 부가적인 버튼들 또는 스위치들이 있을 수 있다.
하나의 실시예에서, I/O 제어기(840)는 가속도계, 카메라, 광 센서 또는 다른 환경 센서, 자이로스코프, GPS(global positioning system), 또는 디바이스(800)에 포함될 수 있는 다른 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접적인 사용자 상호작용의 일부는 물론, (잡음의 필터링, 밝기 검출을 위해 디스플레이를 조절하는 것, 카메라에 플래시를 적용하는 것, 또는 다른 특징들과 같은) 그의 동작들에 영향을 주기 위해 시스템에 환경 입력을 제공하는 것일 수 있다.
하나의 실시예에서, 디바이스(800)는 배터리 전력 사용, 배터리의 충전, 및 전력 절감 동작에 관련된 특징들을 관리하는 전력 관리(850)를 포함한다. 메모리 서브시스템(860)은 디바이스(800)에 정보를 저장하는 메모리 디바이스(들)(862)를 포함한다. 메모리 서브시스템(860)은 비휘발성 메모리 디바이스(메모리 디바이스에의 전력이 중단되는 경우 상태가 변하지 않음) 및/또는 휘발성 메모리 디바이스(메모리 디바이스에의 전력이 중단되는 경우 상태가 불확정적임)를 포함할 수 있다. 메모리(860)는 응용 프로그램 데이터, 사용자 데이터, 음악, 사진, 문서, 또는 기타 데이터는 물론, 시스템(800)의 응용 프로그램들 및 기능들의 실행에 관련된 시스템 데이터(장기 또는 임시)를 저장할 수 있다.
하나의 실시예에서, 메모리 서브시스템(860)은 (시스템(800)의 제어의 일부인 것으로도 생각될 수 있고 어쩌면 프로세서(810)의 일부인 것으로 생각될 수 있는) 메모리 제어기(864)를 포함한다. 메모리 제어기(864)는 메모리 디바이스(862)의 특정의 메모리 행에서의 행 해머 조건에 기초하여 목표 리프레시 명령을 발행한다.
연결부(connectivity)(870)는 디바이스(800)가 외부 디바이스들과 통신할 수 있게 하기 위해 하드웨어 디바이스들(예컨대, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및 소프트웨어 구성요소들(예컨대, 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스는 다른 컴퓨팅 디바이스, 무선 액세스 포인트 또는 기지국과 같은 개별적인 디바이스들은 물론, 헤드셋, 프린터, 또는 다른 디바이스와 같은 주변 장치들일 수 있다.
연결부(870)는 다수의 상이한 유형의 연결부를 포함할 수 있다. 일반화하기 위해, 디바이스(800)는 셀룰러 연결부(872) 및 무선 연결부(874)를 갖는 것으로 예시되어 있다. 셀룰러 연결부(872)는 일반적으로 GSM(global system for mobile communications) 또는 변형들 또는 파생물들, CDMA(code division multiple access) 또는 변형들 또는 파생물들, TDM(time division multiplexing) 또는 변형들 또는 파생물들, LTE(long term evolution - 또는 "4G"라고도 함 -), 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 것과 같은 무선 통신 사업자들에 의해 제공되는 셀룰러 네트워크 연결부를 말한다. 무선 연결부(874)는 셀룰러가 아닌 무선 연결부를 말하고, 개인 영역 네트워크(블루투스 등), 근거리 네트워크(WiFi 등), 및/또는 원거리 네트워크(WiMAX 등), 또는 다른 무선 통신을 포함할 수 있다. 무선 통신은 비고체 매체(non-solid medium)를 통한 변조된 전자기 방사의 사용을 통한 데이터의 전송을 말한다. 유선 통신은 고체 통신 매체(solid communication medium)를 통해 행해진다.
주변 장치 연결들(880)은 주변 장치 연결들을 하기 위한 하드웨어 인터페이스들 및 커넥터들은 물론, 소프트웨어 구성요소들(예컨대, 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(800)가 다른 컴퓨팅 디바이스들에 대한 주변 디바이스("발신측"(882))일 수 있는 것은 물론 그에 연결된 주변 디바이스들("착신측"(884))을 가질 수 있다는 것을 잘 알 것이다. 디바이스(800)는 디바이스(800) 상의 콘텐츠를 관리하는 것(예컨대, 다운로드 및/또는 업로드, 변경, 동기화하는 것)과 같은 목적들을 위해 다른 컴퓨팅 디바이스들에 연결하기 위한 "도킹(docking)" 커넥터를 흔히 가진다. 그에 부가하여, 도킹 커넥터는 디바이스(800)로 하여금, 예를 들어, 오디오비주얼 또는 다른 시스템들로의 콘텐츠 출력을 제어할 수 있게 하는 특정의 주변 장치들에 디바이스(800)가 연결될 수 있게 할 수 있다.
독점적 도킹 커넥터 또는 다른 독점적 연결 하드웨어에 부가하여, 디바이스(800)는 통상적인 또는 표준 기반 커넥터들을 통해 주변 장치 연결들(880)을 할 수 있다. 통상적인 유형들은 USB(Universal Serial Bus) 커넥터(다수의 상이한 하드웨어 인터페이스들 중 임의의 것을 포함할 수 있음), MiniDisplayPort(MDP)를 포함하는 DisplayPort, HDMI(High Definition Multimedia Interface), Firewire, 또는 다른 유형을 포함할 수 있다.
하나의 측면에서, 메모리 서브시스템은 다수의 메모리 행들을 가지는 메모리 디바이스에 결합되는 하드웨어 커넥터들 및 하드웨어 커넥터들에 결합된 메모리 제어기를 포함한다. 메모리 제어기는 메모리 디바이스의 특정의 행에 대한 반복된 액세스가 임계치를 초과한다는 표시를 하드웨어 커넥터들을 통해 수신하고, 특정의 행의 주소를 식별하며, 목표 리프레시(targeted refresh)를 수행하라는 명령을 메모리 디바이스로 송신하고, 이 명령은 메모리 디바이스로 하여금 식별된 행에 물리적으로 인접한 희생 행(victim row)을 목표로 한 리프레시를 수행하게 한다.
하나의 실시예에서, 메모리 제어기는 특정의 행에 대한 특정의 물리 주소를 식별함으로써 주소를 식별한다. 하나의 실시예에서, 메모리 제어기는 메모리 디바이스가 물리적으로 인접한 행의 물리 주소에 매핑하는 특정의 행의 가상 주소를 식별함으로써 주소를 식별한다. 하나의 실시예에서, 메모리 제어기는 반복된 액세스의 표시와 연관된 특정의 행의 주소를 식별함으로써 주소를 식별하고, 메모리 디바이스는 반복된 메모리 액세스의 표시와 연관된 특정의 행의 주소 및 메모리 디바이스의 구성에 기초하여 물리적으로 인접한 행을 식별한다.
하나의 실시예에서, 메모리 제어기는 특정의 행을 포함하는 메모리 영역을 식별함으로써 주소를 식별하고, 메모리 디바이스는 물리적으로 인접한 행을 포함하는 식별된 영역을 리프레시한다. 하나의 실시예에서, 메모리 제어기는 명령 내의 주소를 식별함으로써 주소를 식별한다. 하나의 실시예에서, 명령은 메모리 디바이스에 대한 활성화 명령에 내장된다. 하나의 실시예에서, 메모리 제어기는 또한 명령을 송신하는 것과 함께 모드 레지스터(Mode Register) 내의 값을 세트시킨다.
하나의 실시예에서, 메모리 제어기는 메모리 디바이스로 하여금 목표 리프레시를 수행하게 하는 명령들의 시퀀스를 송신한다. 하나의 실시예에서, 메모리 제어기는 리프레시 활성화 명령(activate refresh command) 및 그에 뒤이은 프리차지 명령을 송신한다. 하나의 실시예에서, 메모리 제어기는 목표 리프레시 명령을 복수회 시퀀스로 송신한다. 하나의 실시예에서, 메모리 제어기는 시퀀스 내의 목표 리프레시 명령들 각각과 함께 상이한 주소를 송신한다. 하나의 실시예에서, 메모리 디바이스는 메모리 제어기로부터의 목표 리프레시 명령에 응답하여 명령들의 시퀀스를 발생시킨다.
하나의 측면에서, 전자 디바이스는 데이터를 저장하는 메모리 디바이스 및 메모리 디바이스에 결합된 메모리 제어기를 가지는 메모리 서브시스템을 포함한다. 메모리 디바이스는 다수의 메모리 행들을 포함한다. 메모리 제어기는 메모리 디바이스의 특정의 행에 대한 반복된 액세스가 임계치를 초과한다는 표시를 메모리 디바이스로부터 수신하고, 특정의 행의 주소를 식별하며, 목표 리프레시를 수행하라는 명령을 메모리 디바이스로 송신한다. 메모리 제어기로부터의 명령은 메모리 디바이스로 하여금 식별된 행에 물리적으로 인접한 희생 행을 목표로 한 리프레시를 수행하게 한다. 전자 디바이스는 메모리 서브시스템에 결합된 멀티코어 프로세서 - 이 프로세서는 프로세서의 실행 동안 메모리 서브시스템에 액세스함 - 를 추가로 포함한다.
하나의 실시예에서, 메모리 디바이스는 DRAM(dynamic random access memory) 디바이스를 포함한다. 하나의 실시예에서, 메모리 제어기는 특정의 행에 대한 특정의 물리 주소를 식별함으로써 주소를 식별한다. 하나의 실시예에서, 메모리 제어기는 메모리 디바이스가 물리적으로 인접한 행의 물리 주소에 매핑하는 특정의 행의 가상 주소를 식별함으로써 주소를 식별한다. 하나의 실시예에서, 메모리 제어기는 반복된 액세스의 표시와 연관된 특정의 행의 주소를 식별함으로써 주소를 식별하고, 메모리 디바이스는 반복된 메모리 액세스의 표시와 연관된 특정의 행의 주소 및 메모리 디바이스의 구성에 기초하여 물리적으로 인접한 행을 식별한다.
하나의 실시예에서, 메모리 제어기는 특정의 행을 포함하는 메모리 영역을 식별함으로써 주소를 식별하고, 메모리 디바이스는 물리적으로 인접한 행을 포함하는 식별된 영역을 리프레시한다. 하나의 실시예에서, 메모리 제어기는 명령 내의 주소를 식별함으로써 주소를 식별한다. 하나의 실시예에서, 명령은 메모리 디바이스에 대한 활성화 명령에 내장된다. 하나의 실시예에서, 메모리 제어기는 또한 명령을 송신하는 것과 함께 모드 레지스터 내의 값을 세트시킨다.
하나의 실시예에서, 메모리 제어기는 메모리 디바이스로 하여금 목표 리프레시를 수행하게 하는 명령들의 시퀀스를 송신한다. 하나의 실시예에서, 메모리 제어기는 리프레시 활성화 명령(activate refresh command) 및 그에 뒤이은 프리차지 명령을 송신한다. 하나의 실시예에서, 메모리 제어기는 목표 리프레시 명령을 복수회 시퀀스로 송신한다. 하나의 실시예에서, 메모리 제어기는 시퀀스 내의 목표 리프레시 명령들 각각과 함께 상이한 주소를 송신한다. 하나의 실시예에서, 메모리 디바이스는 메모리 제어기로부터의 목표 리프레시 명령에 응답하여 명령들의 시퀀스를 발생시킨다.
하나의 측면에서, 방법은 메모리 디바이스 내의 특정의 메모리 행에 대한 반복된 액세스가 임계치를 초과한다는 표시를 수신하는 단계, 메모리 행의 주소를 식별하는 단계, 및 목표 리프레시를 수행하라는 명령을 메모리 디바이스로 송신하는 단계 - 이 명령은 메모리 디바이스로 하여금 식별된 행에 물리적으로 인접한 행을 목표로 한 리프레시를 수행하게 함 - 를 포함한다.
하나의 실시예에서, 이 방법은 특정의 행에 대한 특정의 물리 주소를 식별하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 메모리 디바이스가 물리적으로 인접한 행의 물리 주소에 매핑하는 특정의 행의 가상 주소를 식별하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 반복된 액세스의 표시와 연관된 특정의 행의 주소를 식별하는 단계를 포함하고, 메모리 디바이스는 반복된 메모리 액세스의 표시와 연관된 특정의 행의 주소 및 메모리 디바이스의 구성에 기초하여 물리적으로 인접한 행을 식별한다.
하나의 실시예에서, 이 방법은 특정의 행을 포함하는 메모리 영역을 식별하는 단계를 포함하고, 메모리 디바이스는 물리적으로 인접한 행을 포함하는 식별된 영역을 리프레시한다. 하나의 실시예에서, 이 방법은 명령 내의 주소를 식별하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 메모리 디바이스에 대한 활성화 명령에 내장되는 명령을 송신하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 모드 레지스터 내의 값을 세트시키는 단계를 포함한다.
하나의 실시예에서, 이 방법은 메모리 디바이스로 하여금 목표 리프레시를 수행하게 하는 명령들의 시퀀스를 송신하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 활성화 리프레시 명령 및 그에 뒤이은 프리차지 명령을 송신하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 목표 리프레시 명령을 복수회 시퀀스로 송신하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 시퀀스 내의 목표 리프레시 명령들 각각과 함께 상이한 주소를 송신하는 단계를 포함한다. 하나의 실시예에서, 이 방법은 메모리 제어기로 하여금 메모리 제어기로부터의 목표 리프레시 명령에 응답하여 명령들의 시퀀스를 발생시키게 하는 단계를 포함한다.
본 명세서에 예시된 흐름도들은 다양한 프로세스 동작들의 시퀀스들의 예들을 제공한다. 특정의 시퀀스 또는 순서로 도시되어 있지만, 달리 명시되지 않는 한, 동작들의 순서가 수정될 수 있다. 이와 같이, 예시된 실시예들은 단지 예로서 이해되어야 하고, 프로세스가 상이한 순서로 수행될 수 있으며, 어떤 동작들이 병렬로 수행될 수 있다. 그에 부가하여, 다양한 실시예들에서, 하나 이상의 동작들이 생략될 수 있고; 모든 실시예에서 모든 동작들이 다 필요하지는 않다. 다른 프로세스 흐름들이 가능하다.
다양한 동작들 또는 기능들이 본 명세서에 기술되어 있는 한, 이들은 소프트웨어 코드, 명령어들, 구성, 및/또는 데이터로서 기술되거나 정의될 수 있다. 내용은 직접 실행가능하거나("오브젝트" 또는 "실행가능" 형태), 소스 코드이거나, 또는 차분 코드(difference code)("델타" 또는 "패치" 코드)일 수 있다. 본 명세서에 기술된 실시예들의 소프트웨어 내용은 내용이 저장되어 있는 제조 물품을 통해 또는 통신 인터페이스를 통해 데이터를 송신하기 위해 통신 인터페이스를 동작시키는 방법을 통해 제공될 수 있다. 기계 판독가능 저장 매체는 기계로 하여금 기술된 기능들 또는 동작들을 수행하게 할 수 있고, 기록가능/비기록가능 매체(예컨대, ROM(read only memory), RAM(random access memory), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스 등)와 같은 기계(예컨대, 컴퓨팅 디바이스, 전자 시스템 등)에 의해 액세스가능한 형태로 정보를 저장하는 임의의 메커니즘을 포함한다. 메모리 버스 인터페이스, 프로세서 버스 인터페이스, 인터넷 연결, 디스크 제어기 등과 같은 통신 인터페이스는 다른 디바이스와 통신하기 위해 유선, 무선, 광, 기타 매체 중 임의의 것과 인터페이스하는 임의의 메커니즘을 포함한다. 통신 인터페이스는 구성 파라미터들을 제공하는 것 및/또는 소프트웨어 내용을 기술하는 데이터 신호를 제공하도록 통신 인터페이스를 준비시키는 신호들을 송신하는 것에 의해 구성될 수 있다. 통신 인터페이스는 통신 인터페이스로 송신되는 하나 이상의 명령들 또는 신호들을 통해 액세스될 수 있다.
본 명세서에 기술된 다양한 구성요소들은 기술된 동작들 또는 기능들을 수행하는 수단일 수 있다. 본 명세서에 기술된 각각의 구성요소는 소프트웨어, 하드웨어, 또는 이들의 조합을 포함한다. 구성요소들은 소프트웨어 모듈, 하드웨어 모듈, 특수 목적 하드웨어(예컨대, 응용 관련 하드웨어, ASIC(application specific integrated circuit), DSP(digital signal processor) 등), 임베디드 제어기(embedded controller), 하드와이어드 회로 등으로서 구현될 수 있다.
본 명세서에 기술된 것 이외에, 본 발명의 범위를 벗어남이 없이 본 발명의 개시된 실시예들 및 구현예들에 대해 다양한 수정들이 행해질 수 있다. 따라서, 본 명세서에서의 예시들 및 예들이 제한적인 의미가 아니라 예시적인 의미로서 해석되어야만 한다. 본 발명의 범위는 이하의 청구항들을 참조해서만 평가되어야만 한다.

Claims (30)

  1. 메모리 서브시스템으로서,
    다수의 메모리 행들을 갖는 메모리 디바이스에 결합하기 위한 하드웨어 커넥터들; 및
    상기 하드웨어 커넥터들에 결합된 메모리 제어기
    를 포함하고,
    상기 메모리 제어기는,
    상기 메모리 디바이스의 특정의 행에 대한 반복된 액세스가 임계치를 초과한다는 표시를 상기 하드웨어 커넥터들을 통해 수신하고;
    상기 특정의 행의 주소를 식별하고;
    목표 리프레시(targeted refresh)를 수행하라는 명령을 상기 메모리 디바이스로 송신하는 - 상기 명령은 상기 메모리 디바이스로 하여금 상기 식별된 행에 물리적으로 인접한 희생 행(victim row)을 목표로 한 리프레시를 수행하게 함 -, 메모리 서브시스템.
  2. 제1항에 있어서, 상기 메모리 제어기는 상기 특정의 행에 대한 특정의 물리 주소(physical address)를 식별함으로써 상기 주소를 식별하는, 메모리 서브시스템.
  3. 제1항에 있어서, 상기 메모리 제어기는 상기 메모리 디바이스가 상기 물리적으로 인접한 행의 물리 주소로 매핑하는 상기 특정의 행의 가상 주소(virtual address)를 식별함으로써 상기 주소를 식별하는, 메모리 서브시스템.
  4. 제1항에 있어서, 상기 메모리 제어기는 반복된 액세스의 상기 표시와 연관된 상기 특정의 행의 주소를 식별함으로써 상기 주소를 식별하고, 상기 메모리 디바이스는 반복된 메모리 액세스의 상기 표시와 연관된 상기 특정의 행의 주소 및 상기 메모리 디바이스의 구성에 기초하여 상기 물리적으로 인접한 행을 식별하는, 메모리 서브시스템.
  5. 제1항에 있어서, 상기 메모리 제어기는 상기 특정의 행을 포함하는 메모리의 영역을 식별함으로써 상기 주소를 식별하고, 상기 메모리 디바이스는 상기 물리적으로 인접한 행을 포함하는 상기 식별된 영역을 리프레시하는, 메모리 서브시스템.
  6. 제1항에 있어서, 상기 메모리 제어기는 상기 명령 내의 상기 주소를 식별함으로써 상기 주소를 식별하는, 메모리 서브시스템.
  7. 제6항에 있어서, 상기 명령은 상기 메모리 디바이스에 대한 활성화 명령(activation command)에 내장되는, 메모리 서브시스템.
  8. 제1항에 있어서, 상기 메모리 제어기는 또한 상기 명령을 송신하는 것과 함께 모드 레지스터(Mode Register) 내의 값을 세트시키는, 메모리 서브시스템.
  9. 제1항에 있어서, 상기 메모리 제어기는 상기 메모리 디바이스로 하여금 상기 목표 리프레시를 수행하게 하는 명령들의 시퀀스를 송신하는, 메모리 서브시스템.
  10. 제9항에 있어서, 상기 메모리 제어기는 활성화 명령 및 후속하는 프리차지 명령을 송신하는, 메모리 서브시스템.
  11. 제9항에 있어서, 상기 메모리 제어기는 목표 리프레시 명령을 복수회 시퀀스로 송신하는, 메모리 서브시스템.
  12. 제11항에 있어서, 상기 메모리 제어기는 상기 시퀀스 내의 상기 목표 리프레시 명령들 각각과 함께 상이한 주소를 송신하는, 메모리 서브시스템.
  13. 전자 디바이스로서,
    데이터를 저장하는 메모리 디바이스 - 상기 메모리 디바이스는 다수의 메모리 행들을 포함함 -; 및
    상기 메모리 디바이스에 결합된 메모리 제어기 - 상기 메모리 제어기는 상기 메모리 디바이스의 특정의 행에 대한 반복된 액세스가 임계치를 초과한다는 표시를 상기 메모리 디바이스로부터 수신하고, 상기 특정의 행의 주소를 식별하고, 목표 리프레시를 수행하라는 명령을 상기 메모리 디바이스로 송신하고, 상기 명령은 상기 메모리 디바이스로 하여금 상기 식별된 행에 물리적으로 인접한 희생 행을 목표로 한 리프레시를 수행하게 함 -
    를 갖는 메모리 서브시스템; 및
    상기 메모리 서브시스템에 결합되어, 프로세서의 실행 동안 상기 메모리 서브시스템에 액세스하는 멀티코어 프로세서
    를 포함하는 전자 디바이스.
  14. 제13항에 있어서, 상기 메모리 디바이스는 DRAM(dynamic random access memory) 디바이스를 포함하는 전자 디바이스.
  15. 제13항에 있어서, 상기 메모리 제어기는 상기 특정의 행에 대한 특정의 물리 주소를 식별함으로써 상기 주소를 식별하는 전자 디바이스.
  16. 제13항에 있어서, 상기 메모리 제어기는 상기 메모리 디바이스가 상기 물리적으로 인접한 행의 물리 주소로 매핑하는 상기 특정의 행의 가상 주소를 식별함으로써 상기 주소를 식별하는 전자 디바이스.
  17. 제13항에 있어서, 상기 메모리 제어기는 반복된 액세스의 상기 표시와 연관된 상기 특정의 행의 주소를 식별함으로써 상기 주소를 식별하고, 상기 메모리 디바이스는 반복된 메모리 액세스의 상기 표시와 연관된 상기 특정의 행의 주소 및 상기 메모리 디바이스의 구성에 기초하여 상기 물리적으로 인접한 행을 식별하는 전자 디바이스.
  18. 제13항에 있어서, 상기 메모리 제어기는 상기 특정의 행을 포함하는 메모리의 영역을 식별함으로써 상기 주소를 식별하고, 상기 메모리 디바이스는 상기 물리적으로 인접한 행을 포함하는 상기 식별된 영역을 리프레시하는 전자 디바이스.
  19. 제13항에 있어서, 상기 메모리 제어기는 상기 명령 내의 상기 주소를 식별함으로써 상기 주소를 식별하는 전자 디바이스.
  20. 제19항에 있어서, 상기 명령은 상기 메모리 디바이스에 대한 활성화 명령에 내장되는 전자 디바이스.
  21. 제13항에 있어서, 상기 메모리 제어기는 또한 상기 명령을 송신하는 것과 함께 모드 레지스터 내의 값을 세트시키는 전자 디바이스.
  22. 제13항에 있어서, 상기 메모리 제어기는 상기 메모리 디바이스로 하여금 상기 목표 리프레시를 수행하게 하는 명령들의 시퀀스를 송신하는 전자 디바이스.
  23. 제22항에 있어서, 상기 메모리 제어기는 활성화 명령 및 후속하는 프리차지 명령을 송신하는 전자 디바이스.
  24. 제22항에 있어서, 상기 메모리 제어기는 목표 리프레시 명령을 복수회 시퀀스로 송신하는 전자 디바이스.
  25. 제24항에 있어서, 상기 메모리 제어기는 상기 시퀀스 내의 상기 목표 리프레시 명령들 각각과 함께 상이한 주소를 송신하는 전자 디바이스.
  26. 메모리 디바이스 내의 특정의 메모리 행에 대한 반복된 액세스가 임계치를 초과한다는 표시를 수신하는 단계;
    상기 메모리 행의 주소를 식별하는 단계; 및
    목표 리프레시를 수행하라는 명령을 상기 메모리 디바이스로 송신하는 단계 - 상기 명령은 상기 메모리 디바이스로 하여금 상기 식별된 행에 물리적으로 인접한 행을 목표로 한 리프레시를 수행하게 함 -
    를 포함하는 방법.
  27. 제26항에 있어서, 상기 주소를 식별하는 단계는,
    상기 메모리 디바이스가 상기 물리적으로 인접한 행의 물리 주소로 매핑하는 상기 특정의 행의 가상 주소를 식별하는 단계를 포함하는 방법.
  28. 제26항에 있어서, 상기 주소를 식별하는 단계는,
    상기 특정의 행을 포함하는 메모리의 영역을 식별하는 단계를 포함하고, 상기 메모리 디바이스는 상기 물리적으로 인접한 행을 포함하는 상기 식별된 영역을 리프레시하는 방법.
  29. 제26항에 있어서, 상기 주소를 식별하는 단계는,
    상기 명령 내의 상기 주소를 식별하는 단계를 포함하는 방법.
  30. 제26항에 있어서, 상기 명령을 송신하는 단계는 상기 메모리 디바이스로 하여금 상기 목표 리프레시를 수행하게 하는 명령들의 시퀀스를 송신하는 단계를 포함하는 방법.
KR1020147031395A 2012-06-30 2013-06-26 행 해머 리프레시 명령 KR101619363B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/539,415 2012-06-30
US13/539,415 US9236110B2 (en) 2012-06-30 2012-06-30 Row hammer refresh command
PCT/US2013/048016 WO2014004748A1 (en) 2012-06-30 2013-06-26 Row hammer refresh command

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011665A Division KR102029877B1 (ko) 2012-06-30 2013-06-26 행 해머 리프레시 명령

Publications (2)

Publication Number Publication Date
KR20150002783A KR20150002783A (ko) 2015-01-07
KR101619363B1 true KR101619363B1 (ko) 2016-05-10

Family

ID=49779439

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167011665A KR102029877B1 (ko) 2012-06-30 2013-06-26 행 해머 리프레시 명령
KR1020147031395A KR101619363B1 (ko) 2012-06-30 2013-06-26 행 해머 리프레시 명령

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167011665A KR102029877B1 (ko) 2012-06-30 2013-06-26 행 해머 리프레시 명령

Country Status (4)

Country Link
US (4) US9236110B2 (ko)
KR (2) KR102029877B1 (ko)
CN (2) CN104350546B (ko)
WO (1) WO2014004748A1 (ko)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9236110B2 (en) 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
US8938573B2 (en) 2012-06-30 2015-01-20 Intel Corporation Row hammer condition monitoring
US9117544B2 (en) 2012-06-30 2015-08-25 Intel Corporation Row hammer refresh command
US9030903B2 (en) 2012-09-24 2015-05-12 Intel Corporation Method, apparatus and system for providing a memory refresh
US20140085995A1 (en) * 2012-09-25 2014-03-27 Zvika Greenfield Method, apparatus and system for determining a count of accesses to a row of memory
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
CN104685571B (zh) 2012-10-22 2017-09-29 慧与发展有限责任合伙企业 响应于潜在干扰的存在刷新一组存储器单元
US9032141B2 (en) * 2012-11-30 2015-05-12 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
US9384821B2 (en) 2012-11-30 2016-07-05 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
US9286964B2 (en) * 2012-12-21 2016-03-15 Intel Corporation Method, apparatus and system for responding to a row hammer event
KR101989860B1 (ko) * 2012-12-21 2019-06-17 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US9251885B2 (en) * 2012-12-28 2016-02-02 Intel Corporation Throttling support for row-hammer counters
US9324398B2 (en) 2013-02-04 2016-04-26 Micron Technology, Inc. Apparatuses and methods for targeted refreshing of memory
KR102107470B1 (ko) * 2013-02-07 2020-05-07 삼성전자주식회사 메모리 장치 및 메모리 장치의 리프레시 방법
US9269436B2 (en) * 2013-03-12 2016-02-23 Intel Corporation Techniques for determining victim row addresses in a volatile memory
US9202547B2 (en) 2013-03-15 2015-12-01 Intel Corporation Managing disturbance induced errors
US9355689B2 (en) * 2013-08-20 2016-05-31 Oracle International Corporation Detection of multiple accesses to a row address of a dynamic memory within a refresh period
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
US9934143B2 (en) 2013-09-26 2018-04-03 Intel Corporation Mapping a physical address differently to different memory devices in a group
KR102157772B1 (ko) * 2013-12-18 2020-09-18 에스케이하이닉스 주식회사 메모리 및 이를 포함하는 메모리 시스템
US9589606B2 (en) * 2014-01-15 2017-03-07 Samsung Electronics Co., Ltd. Handling maximum activation count limit and target row refresh in DDR4 SDRAM
JP5751354B1 (ja) * 2014-01-28 2015-07-22 日本電気株式会社 メモリ制御装置、情報処理装置、メモリ制御方法、および、コンピュータ・プログラム
US9293188B2 (en) 2014-02-03 2016-03-22 Advanced Micro Devices, Inc. Memory and memory controller for high reliability operation and method
US9431085B2 (en) * 2014-03-28 2016-08-30 Synopsys, Inc. Most activated memory portion handling
JP2015219938A (ja) * 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
KR20160035444A (ko) * 2014-09-23 2016-03-31 에스케이하이닉스 주식회사 스마트 리프레쉬 장치
US10497409B2 (en) 2014-12-17 2019-12-03 International Business Machines Corporation Implementing DRAM row hammer avoidance
GB201500446D0 (en) * 2015-01-12 2015-02-25 Univ Manchester Monitoring device
US9728245B2 (en) * 2015-02-28 2017-08-08 Intel Corporation Precharging and refreshing banks in memory device with bank group architecture
KR20170024307A (ko) 2015-08-25 2017-03-07 삼성전자주식회사 내장형 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치
US9812185B2 (en) 2015-10-21 2017-11-07 Invensas Corporation DRAM adjacent row disturb mitigation
KR102399475B1 (ko) 2015-12-28 2022-05-18 삼성전자주식회사 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
US9741421B1 (en) * 2016-04-05 2017-08-22 Micron Technology, Inc. Refresh circuitry
US9911484B2 (en) 2016-06-29 2018-03-06 Micron Technology, Inc. Oscillator controlled random sampling method and circuit
KR102455027B1 (ko) * 2016-09-05 2022-10-17 에스케이하이닉스 주식회사 리프레쉬 제어 장치 및 이를 포함하는 반도체 장치
US10120749B2 (en) * 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory
KR20180064940A (ko) 2016-12-06 2018-06-15 삼성전자주식회사 해머 리프레쉬 동작을 수행하는 메모리 시스템
US10490251B2 (en) 2017-01-30 2019-11-26 Micron Technology, Inc. Apparatuses and methods for distributing row hammer refresh events across a memory device
US10768863B2 (en) * 2017-03-31 2020-09-08 Intel Corporation Security monitoring agent for field programmable gate array (FPGA) in-memory controller
US10108365B1 (en) * 2017-04-25 2018-10-23 Texas Instruments Incorporated Bitflip security attack protection
KR102308778B1 (ko) * 2017-05-24 2021-10-05 삼성전자주식회사 디스터브 로우를 케어하는 메모리 장치 및 그 동작방법
FR3066842B1 (fr) * 2017-05-24 2019-11-08 Upmem Logique de correction de row hammer pour dram avec processeur integre
CN108932205B (zh) * 2017-05-25 2021-01-29 华为技术有限公司 一种防御RowHammer攻击的方法及设备
US10672449B2 (en) 2017-10-20 2020-06-02 Micron Technology, Inc. Apparatus and methods for refreshing memory
US10170174B1 (en) 2017-10-27 2019-01-01 Micron Technology, Inc. Apparatus and methods for refreshing memory
US10236035B1 (en) * 2017-12-04 2019-03-19 Nanya Technology Corporation DRAM memory device adjustable refresh rate method to alleviate effects of row hammer events
US10304516B1 (en) * 2017-12-22 2019-05-28 Nanya Technology Corporation DRAM for storing data and method of operating the same
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US10388363B1 (en) 2018-01-26 2019-08-20 Micron Technology, Inc. Apparatuses and methods for detecting a row hammer attack with a bandpass filter
JP6622843B2 (ja) 2018-04-19 2019-12-18 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. メモリデバイス及びそのリフレッシュ方法
KR102358563B1 (ko) * 2018-05-09 2022-02-04 삼성전자주식회사 로우 해머 핸들링과 함께 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
US11017833B2 (en) 2018-05-24 2021-05-25 Micron Technology, Inc. Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10573370B2 (en) 2018-07-02 2020-02-25 Micron Technology, Inc. Apparatus and methods for triggering row hammer address sampling
KR102458726B1 (ko) 2018-08-03 2022-10-25 마이크론 테크놀로지, 인크 행 해머를 완화하기 위한 방법 및 이를 이용한 메모리 디바이스 및 시스템
US10672486B2 (en) * 2018-08-21 2020-06-02 Micron Technology, Inc. Refreshing data stored at a memory component based on a memory component characteristic component
KR102617016B1 (ko) 2018-09-17 2023-12-27 삼성전자주식회사 자주 접근되는 어드레스를 검출하는 레지스터 클럭 드라이버를 포함하는 메모리 모듈
US10572377B1 (en) 2018-09-19 2020-02-25 Micron Technology, Inc. Row hammer refresh for content addressable memory devices
US10726903B2 (en) * 2018-09-21 2020-07-28 Nanya Technology Corporation Row-determining circuit, DRAM, and method for refreshing a memory array
US10497426B1 (en) * 2018-09-21 2019-12-03 Nanya Technology Corporation Target row generator, DRAM, and method for determining a target row
WO2020076986A1 (en) 2018-10-09 2020-04-16 Micron Technology, Inc. Methods for row hammer mitigation and memory devices and systems employing the same
US10825534B2 (en) * 2018-10-26 2020-11-03 Intel Corporation Per row activation count values embedded in storage cell array storage cells
US10685696B2 (en) 2018-10-31 2020-06-16 Micron Technology, Inc. Apparatuses and methods for access based refresh timing
WO2020117686A1 (en) 2018-12-03 2020-06-11 Micron Technology, Inc. Semiconductor device performing row hammer refresh operation
CN117198356A (zh) 2018-12-21 2023-12-08 美光科技公司 用于目标刷新操作的时序交错的设备和方法
WO2020131457A1 (en) 2018-12-21 2020-06-25 Micron Technology, Inc. Methods for activity-based memory maintenance operations and memory devices and systems employing the same
US10957377B2 (en) * 2018-12-26 2021-03-23 Micron Technology, Inc. Apparatuses and methods for distributed targeted refresh operations
US10943637B2 (en) 2018-12-27 2021-03-09 Micron Technology, Inc. Apparatus with a row-hammer address latch mechanism
US10817371B2 (en) 2018-12-31 2020-10-27 Micron Technology, Inc. Error correction in row hammer mitigation and target row refresh
KR20200084599A (ko) 2019-01-03 2020-07-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11615831B2 (en) 2019-02-26 2023-03-28 Micron Technology, Inc. Apparatuses and methods for memory mat refresh sequencing
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US10950288B2 (en) 2019-03-29 2021-03-16 Intel Corporation Refresh command control for host assist of row hammer mitigation
US11227649B2 (en) 2019-04-04 2022-01-18 Micron Technology, Inc. Apparatuses and methods for staggered timing of targeted refresh operations
US11049545B2 (en) 2019-04-23 2021-06-29 Micron Technology, Inc. Methods for adjusting row hammer refresh rates and related memory devices and systems
US10790005B1 (en) * 2019-04-26 2020-09-29 Micron Technology, Inc. Techniques for reducing row hammer refresh
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11069393B2 (en) 2019-06-04 2021-07-20 Micron Technology, Inc. Apparatuses and methods for controlling steal rates
US10978132B2 (en) 2019-06-05 2021-04-13 Micron Technology, Inc. Apparatuses and methods for staggered timing of skipped refresh operations
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US10854272B1 (en) * 2019-06-24 2020-12-01 Micron Technology, Inc. Apparatuses and methods for controlling word line discharge
US11031066B2 (en) 2019-06-24 2021-06-08 Micron Technology, Inc. Methods for adjusting memory device refresh operations based on memory device temperature, and related memory devices and systems
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
CN110706733A (zh) * 2019-08-13 2020-01-17 浙江工商大学 一种dram内存行扰动错误解决方法
US11354408B2 (en) 2019-08-15 2022-06-07 Nxp Usa, Inc. Technique for detecting and thwarting row-hammer attacks
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11302374B2 (en) 2019-08-23 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic refresh allocation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11302377B2 (en) 2019-10-16 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic targeted refresh steals
KR20210114639A (ko) * 2020-03-11 2021-09-24 에스케이하이닉스 주식회사 메모리, 메모리 시스템 및 메모리의 동작 방법
US11222685B2 (en) 2020-05-15 2022-01-11 Advanced Micro Devices, Inc. Refresh management for DRAM
US11561862B2 (en) 2020-05-29 2023-01-24 Advanced Micro Devices, Inc. Refresh management for DRAM
US11309010B2 (en) 2020-08-14 2022-04-19 Micron Technology, Inc. Apparatuses, systems, and methods for memory directed access pause
US11348631B2 (en) 2020-08-19 2022-05-31 Micron Technology, Inc. Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed
US11380382B2 (en) 2020-08-19 2022-07-05 Micron Technology, Inc. Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11557331B2 (en) 2020-09-23 2023-01-17 Micron Technology, Inc. Apparatuses and methods for controlling refresh operations
US11410715B2 (en) * 2020-11-06 2022-08-09 Micron Technology, Inc. Apparatus with refresh management mechanism
US11222686B1 (en) 2020-11-12 2022-01-11 Micron Technology, Inc. Apparatuses and methods for controlling refresh timing
KR20220068532A (ko) 2020-11-19 2022-05-26 삼성전자주식회사 해머 리프레쉬 동작을 수행하는 메모리 시스템 및 메모리 장치의 리프레쉬 제어 방법
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11264079B1 (en) 2020-12-18 2022-03-01 Micron Technology, Inc. Apparatuses and methods for row hammer based cache lockdown
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
KR20220111444A (ko) * 2021-02-02 2022-08-09 삼성전자주식회사 리프레쉬 동작을 수행하는 메모리 장치, 그 동작방법 및 메모리 시스템
KR20220120771A (ko) 2021-02-23 2022-08-31 삼성전자주식회사 메모리 장치 및 그것의 동작 방법
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
CN113378587B (zh) * 2021-05-19 2023-07-21 长鑫存储技术有限公司 地址确定电路及方法、保护电路及方法、设备
CN113342615B (zh) * 2021-06-29 2022-08-26 海光信息技术股份有限公司 命令监控方法、装置、控制器、系统、设备和存储介质
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
KR20230045774A (ko) 2021-09-29 2023-04-05 삼성전자주식회사 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
KR20230080776A (ko) 2021-11-30 2023-06-07 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
WO2023105376A1 (en) * 2021-12-06 2023-06-15 Rambus Inc. Low overhead refresh management of a memory device
CN116501238A (zh) * 2022-01-21 2023-07-28 长鑫存储技术有限公司 一种解析方法、解析装置、电子设备和计算机存储介质
US20220262428A1 (en) * 2022-05-06 2022-08-18 Intel Corporation Method of polling row hammer (rh) indicator inside memory
KR20230163172A (ko) * 2022-05-23 2023-11-30 에스케이하이닉스 주식회사 로우해머링추적동작을 수행하기 위한 반도체시스템
US20230395120A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Dynamic row hammering threshold for memory
US11948656B1 (en) * 2022-09-21 2024-04-02 Micron Technology, Inc. Counter management for memory systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100208537A1 (en) 2009-02-19 2010-08-19 Pelley Iii Perry H Dynamic random access memory (dram) refresh

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193072A (en) 1990-12-21 1993-03-09 Vlsi Technology, Inc. Hidden refresh of a dynamic random access memory
US5627791A (en) 1996-02-16 1997-05-06 Micron Technology, Inc. Multiple bank memory with auto refresh to specified bank
JPH1196755A (ja) * 1997-09-25 1999-04-09 Mitsubishi Electric Corp Dram搭載の集積回路
US5920501A (en) 1997-12-12 1999-07-06 Micron Technology, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
US6968398B2 (en) * 2001-08-15 2005-11-22 International Business Machines Corporation Method of virtualizing I/O resources in a computer system
GB2395307A (en) * 2002-11-15 2004-05-19 Quadrics Ltd Virtual to physical memory mapping in network interfaces
JP2004259144A (ja) * 2003-02-27 2004-09-16 Renesas Technology Corp 半導体記憶装置
US6999368B2 (en) * 2003-05-27 2006-02-14 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device and semiconductor integrated circuit device
JP4566621B2 (ja) * 2004-05-14 2010-10-20 富士通セミコンダクター株式会社 半導体メモリ
US6958944B1 (en) * 2004-05-26 2005-10-25 Taiwan Semiconductor Manufacturing Co., Ltd. Enhanced refresh circuit and method for reduction of DRAM refresh cycles
KR20050120344A (ko) * 2004-06-18 2005-12-22 엘지전자 주식회사 데이터 백업에 의한 에스디램의 셀프 리프레쉬 소모전류절감 방법
KR100564633B1 (ko) 2004-09-25 2006-03-28 삼성전자주식회사 향상된 동작 성능을 가지는 반도체 메모리 장치 및 이에대한 액세스 제어 방법
KR100810060B1 (ko) 2006-04-14 2008-03-05 주식회사 하이닉스반도체 반도체 메모리 소자 및 그의 구동방법
US7286377B1 (en) 2006-04-28 2007-10-23 Mosaid Technologies Incorporated Dynamic random access memory device and method for self-refreshing memory cells with temperature compensated self-refresh
US20080151670A1 (en) 2006-12-22 2008-06-26 Tomohiro Kawakubo Memory device, memory controller and memory system
JP2008181380A (ja) 2007-01-25 2008-08-07 Toshiba Corp メモリシステムおよびその制御方法
JP5661227B2 (ja) 2007-02-07 2015-01-28 株式会社メガチップス メモリコントローラ
JP2008199266A (ja) 2007-02-13 2008-08-28 Murata Mfg Co Ltd 電気音響変換器
WO2009008079A1 (ja) 2007-07-11 2009-01-15 Fujitsu Microelectronics Limited 半導体記憶装置及びシステム
CN101796497B (zh) * 2007-07-18 2012-03-21 富士通株式会社 存储器刷新装置和存储器刷新方法
TWI367486B (en) 2007-12-25 2012-07-01 Ind Tech Res Inst Memory device and refresh method thereof
KR20110018947A (ko) * 2008-06-17 2011-02-24 엔엑스피 비 브이 전기 회로, 방법 및 동적 랜덤 액세스 메모리
JP5478855B2 (ja) 2008-08-08 2014-04-23 ルネサスエレクトロニクス株式会社 不揮発性メモリ制御方法及び半導体装置
US8417252B2 (en) 2008-10-24 2013-04-09 Qualcomm Incorporated Method and apparatus for interference reporting in a N-MIMO communication system
US7859932B2 (en) 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
JP2010170596A (ja) * 2009-01-20 2010-08-05 Elpida Memory Inc 半導体記憶装置
WO2010085405A1 (en) 2009-01-22 2010-07-29 Rambus Inc. Maintenance operations in a dram
CN102081964B (zh) 2009-11-30 2014-12-10 国际商业机器公司 动态随机访问存储器刷新的方法和系统
US8560796B2 (en) 2010-03-29 2013-10-15 Freescale Semiconductor, Inc. Scheduling memory access requests using predicted memory timing and state information
KR101145784B1 (ko) 2010-10-11 2012-05-17 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그를 포함하는 메모리 시스템
KR101212738B1 (ko) * 2010-10-29 2012-12-14 에스케이하이닉스 주식회사 리프레쉬 제어회로 및 이를 포함하는 반도체 메모리 장치 및 리프레쉬 제어방법
JP2012133642A (ja) 2010-12-22 2012-07-12 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
WO2012147136A1 (en) 2011-04-28 2012-11-01 Hitachi, Ltd. Semiconductor storage apparatus and method for controlling semiconductor storage apparatus
KR20130136343A (ko) * 2012-06-04 2013-12-12 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US8938573B2 (en) 2012-06-30 2015-01-20 Intel Corporation Row hammer condition monitoring
US9236110B2 (en) 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
US9055711B2 (en) 2012-07-16 2015-06-09 HGST Netherlands B.V. System and method for maintaining data integrity on a storage medium
US9032141B2 (en) 2012-11-30 2015-05-12 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
US9384821B2 (en) 2012-11-30 2016-07-05 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
US9449671B2 (en) 2013-03-15 2016-09-20 Intel Corporation Techniques for probabilistic dynamic random access memory row repair
US9589606B2 (en) 2014-01-15 2017-03-07 Samsung Electronics Co., Ltd. Handling maximum activation count limit and target row refresh in DDR4 SDRAM

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100208537A1 (en) 2009-02-19 2010-08-19 Pelley Iii Perry H Dynamic random access memory (dram) refresh

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Pavel Poliakov et al.,'Circuit design for bias compatibility in novel finfet-based', IEEE trans. circuits and systems, Vol. 57, No. 3, Mar. 2010.

Also Published As

Publication number Publication date
US9747971B2 (en) 2017-08-29
US20140006703A1 (en) 2014-01-02
US9236110B2 (en) 2016-01-12
US20160225433A1 (en) 2016-08-04
WO2014004748A1 (en) 2014-01-03
US9865326B2 (en) 2018-01-09
US20180174639A1 (en) 2018-06-21
KR20150002783A (ko) 2015-01-07
CN104350546A (zh) 2015-02-11
US20170076779A1 (en) 2017-03-16
US10210925B2 (en) 2019-02-19
CN104350546B (zh) 2017-08-25
KR20180101647A (ko) 2018-09-13
CN107256717A (zh) 2017-10-17
CN107256717B (zh) 2021-11-30
KR102029877B1 (ko) 2019-11-08

Similar Documents

Publication Publication Date Title
KR101619363B1 (ko) 행 해머 리프레시 명령
US9117544B2 (en) Row hammer refresh command
US10083737B2 (en) Row hammer monitoring based on stored row hammer threshold value
KR101731508B1 (ko) 저장된 행 해머 임계값에 기초한 행 해머 모니터링
US9761298B2 (en) Method, apparatus and system for responding to a row hammer event
US9299400B2 (en) Distributed row hammer tracking
US9251885B2 (en) Throttling support for row-hammer counters
US20140085995A1 (en) Method, apparatus and system for determining a count of accesses to a row of memory

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 4