KR20230043618A - 로우 해머 제어 방법 및 메모리 장치 - Google Patents

로우 해머 제어 방법 및 메모리 장치 Download PDF

Info

Publication number
KR20230043618A
KR20230043618A KR1020210126722A KR20210126722A KR20230043618A KR 20230043618 A KR20230043618 A KR 20230043618A KR 1020210126722 A KR1020210126722 A KR 1020210126722A KR 20210126722 A KR20210126722 A KR 20210126722A KR 20230043618 A KR20230043618 A KR 20230043618A
Authority
KR
South Korea
Prior art keywords
row
address
hammer
row hammer
memory cell
Prior art date
Application number
KR1020210126722A
Other languages
English (en)
Inventor
김호연
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210126722A priority Critical patent/KR20230043618A/ko
Priority to US17/871,917 priority patent/US11961548B2/en
Priority to TW111135679A priority patent/TW202329100A/zh
Priority to CN202211167816.4A priority patent/CN115862700A/zh
Publication of KR20230043618A publication Critical patent/KR20230043618A/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/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/40622Partial refresh of memory 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • 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/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/18Digital stores in which the information is moved stepwise, e.g. shift registers using capacitors as main elements of the stages
    • G11C19/182Digital stores in which the information is moved stepwise, e.g. shift registers using capacitors as main elements of the stages in combination with semiconductor elements, e.g. bipolar transistors, diodes
    • G11C19/184Digital stores in which the information is moved stepwise, e.g. shift registers using capacitors as main elements of the stages in combination with semiconductor elements, e.g. bipolar transistors, diodes with field-effect transistors, e.g. MOS-FET
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1036Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals

Abstract

로우 해머 제어 방법 및 메모리 장치가 개시된다. 메모리 장치는 제1 로우 해머 모니터 시간 프레임 동안 최대 억세스 회수로 선별된 로우 해머 어드레스(들)와 제2 로우 해머 모니터 시간 프레임 동안 랜덤 샘플링 시점들 마다 억세스되는 랜덤 샘플링 어드레스(들)을 요소별 비교하고, 비교 결과, 동일하다고 판단되는 악성 로우 해머 어드레스(들)를 메모리 콘트롤러에 알리고, 악성 로우 해머 어드레스(들)에 대한 타겟 리프레쉬가 수행되도록 한다.

Description

로우 해머 제어 방법 및 메모리 장치 {Memory device and method for controlling row hammer}
본 발명은 반도체 메모리 장치들에 관한 것으로서, 더욱 상세하게는 특정 시점에서 집중적인 억세스를 받는 메모리 셀(들)에 대한 로우 해머를 제어하는 메모리 장치 및 그것의 동작 방법에 관한 것이다.
반도체 칩들을 사용하는 시스템은, 시스템 내 호스트에 의해 사용되는 데이터나 인스트럭션들을 저장하기 위하여 및/또는 컴퓨터 동작(computational operation)을 수행하기 위하여, 시스템의 동작 메모리 또는 메인 메모리로서 DRAM(Dynamic Random Access Memory)을 널리 사용한다. 일반적으로 DRAM은 호스트의 제어에 따라 데이터를 기입하거나 기입된 데이터를 독출한다. 컴퓨터 동작을 수행할 때, 호스트는 DRAM으로부터 인스트럭션들 및/또는 데이터를 검색하고(retrieve), 인스트럭션들을 실행하고 및/또는 컴퓨터 동작을 수행하기 위하여 데이터를 사용한다. 컴퓨터 동작의 결과가 존재하는 경우, 호스트는 컴퓨터 동작의 결과를 DRAM에 라이트 백(write back)한다.
DRAM 용량 및 집적도를 증가시키기 위해 DRAM 셀 사이즈가 감소하고 있다. 어떤 DRAM 기반의 시스템은 과도한 작업량(heavy workload)으로 인해 간헐적인 고장(intermittent failure)을 경험한다. 이러한 고장은 싱글 메모리 셀 로우에 대한 반복적인 억세스, 일명 로우 해머로 추적(trace)된다. 로우 해머에 의해 물리적으로 인접한 메모리 셀 로우에 연결된 메모리 셀들이 디스터브를 받게 되어 데이터 변형(data corruption)이 유발될 수 있다. 로우 해머에 의해 영향 받은 메모리 셀들은 타겟 리프레쉬 동작으로 리프레쉬 될 수 있다.
로우 해머를 관리하기 위하여, DRAM은 일정 시간 동안에 억세스 어드레스들 중에서 집중적으로 억세스되는 해머 어드레스(들)를 모니터링할 수 있다. DRAM은 해머 어드레스(들)에 기초하여 해머 어드레스(들)에 상응하는 메모리 셀 로우(들)와 물리적으로 인접하는 메모리 셀 로우(들)의 어드레스를 나타내는 해머 리프레쉬 어드레스(들)를 생성하고, 해머 리프레쉬 어드레스에 상응하는 메모리 셀 로우에 연결된 메모리 셀들을 타겟 리프레쉬할 수 있다. 해머 어드레스(들)의 개수는 일정 시간 역사상의(historical) 억세스 회수에 의해 결정되고, 더욱이 억세스 회수를 저장하는 억세스 레지스터들의 수에 의해 결정될 수 있다.
예시적으로, 로우 해머를 관리하기 위해 설정된 억세스 레지스터들의 수가 3개라고 가정하고, 집중적인 억세스를 받은 메모리 셀 로우들의 최대 억세스 회수가 13, 12, 11 및 10 순으로 선별(sort)된다고 가정하자. 최대 억세스 회수 13, 12 및 11을 갖는 억세스 어드레스들은 3개 억세스 레지스터들에 저장되어 해머 어드레스로서 관리될 것이다. 그런데, 최대 억세스 회수 10의 억세스 어드레스가 특정 시점에서 집중적으로 억세스되는 악성(malicious) 로우 해머 어드레스일 수 있다. 이 경우, 최대 억세스 회수 10의 메모리 셀 로우는 로우 해머 위험 로우(row-hammer-risky row)임에도 불구하고 역사상 최대 억세스 회수에 포함되지 않아 해머 어드레스로 제공되지 않기 때문에, 타겟 리프레쉬되지 않는 문제점이 있다.
한편, DRAM에 많은 억세스 레지스터들을 구비하여 로우 해머를 관리한다면 로우 해머 위험 로우에 대해서도 타겟 리프레쉬를 수행할 수 있을 것이다. 그런데, 억세스 레지스터들의 증가에 따른 칩 사이즈 오버헤드(chip size overhead)는 DRAM의 부담(burden)으로 작용할 수 있다
이에 따라, 악성 로우 해머를 발생시키는 메모리 억세스 환경을 검출하고, 로우 해머 및 악성 로우 해머를 제어하기 위해 타겟 리프레쉬 동작을 위한 자원(resources)의 점유 면적을 최소화하고 타겟 리프레쉬 효율을 향상시킬 수 있는 방법이 요구된다.
본 발명의 목적은 특정 시점에서 집중적인 억세스를 받는 메모리 셀(들)에 대한 악성 로우 해머를 제어하는 메모리 장치 및 그것의 동작 방법에 제공하는 데 있다.
본 발명의 실시예들에 따른 메모리 장치는, 복수의 메모리 셀 로우들을 포함하는 메모리 셀 어레이; 상기 메모리 셀 어레이에 대한 억세스 어드레스들을 모니터링하여 제1 해머 어드레스 및 제2 해머 어드레스를 검출하는 제어 로직 회로, 상기 제1 해머 어드레스는 제1 로우 해머 모니터링 시간 프레임 동안 억세스되는 메모리 셀 로우들의 로우 해머 어드레스를 포함하고, 상기 제2 해머 어드레스는 제2 로우 해머 모니터링 시간 프레임 동안 랜덤 샘플링 시점들에서 억세스되는 메모리 셀 로우들의 랜덤 샘플링 어드레스를 포함하고; 및 상기 제1 및 상기 제2 해머 어드레스들 각각에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 리프레쉬하는 리프레쉬 제어 회로를 포함한다.
본 발명의 실시예들에 따른 메모리 장치는, 복수의 메모리 셀 로우들을 포함하는 메모리 셀 어레이; 상기 메모리 셀 어레이에 대한 제1 로우 해머 모니터링 시간 프레임 동안의 억세스 어드레스들을 모니터링한 로우 해머 어드레스에 기초하여 랜덤 샘플링 시점들에서의 악성 로우 해머 어드레스를 검출하는 제어 로직 회로; 및 상기 로우 해머 어드레스 또는 상기 악성 로우 해머 어드레스에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 리프레쉬하는 리프레쉬 제어 회로를 포함한다. 상기 제어 로직 회로는, 상기 랜덤 샘플링 시점들에서 억세스되는 메모리 셀 로우들의 랜덤 샘플링 어드레스를 저장하는 제1 레지스터; 및 상기 랜덤 샘플링 어드레스와 상기 로우 해머 어드레스를 비교하여 동일한 해머 어드레스를 상기 악성 로우 해머 어드레스로 판단하는 비교부를 포함한다.
본 발명의 실시예들에 따른 복수의 메모리 셀 로우들을 포함하는 메모리 장치의 동작 방법은, 상기 메모리 셀 어레이에 대한 억세스 어드레스들을 모니터링하여 제1 해머 어드레스 및 제2 해머 어드레스를 검출하는 단계, 상기 제1 해머 어드레스는 제1 로우 해머 모니터링 시간 프레임 동안 억세스되는 메모리 셀 로우들의 로우 해머 어드레스를 포함하고, 상기 제2 해머 어드레스는 제2 로우 해머 모니터링 시간 프레임 동안 랜덤 샘플링 시점들에서 억세스되는 메모리 셀 로우들의 랜덤 샘플링 어드레스를 포함하고; 및 상기 제1 및 상기 제2 해머 어드레스들 각각에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 리프레쉬하는 단계를 포함한다.
본 발명에 따른 메모리 장치는, 로우 해머 모니터링 시간 프레임 동안 특정 시점들을 랜덤하게 제공하는 랜덤마이저를 이용하여 특정 시점들에 집중적인 억세스를 받는 메모리 셀(들)에 대한 악성 로우 해머를 제어함으로써, 로우 해머와 관련된 리프레쉬 동작을 위한 자원의 점유 면적을 감소하고 리프레쉬 효율을 향상시킬 수 있다.
도 1은 본 발명의 예시적인 실시예들에 따른 로우 해머를 제어하는 메모리 장치를 포함하는 시스템을 설명하는 도면이다.
도 2는 본 발명의 실시예들에 따른 메모리 장치를 설명하는 블록 다이어그램이다.
도 3은 본 발명의 실시예들에 따른 로우 해머 제어 회로를 설명하는 블록 다이어그램이다.
도 4 및 도 5는 도 3의 로우 해머 제어 회로 내 랜덤마이저에 의해 구현되는 랜덤 셈플링 시점들을 설명하는 도면들이다.
도 6 및 도 7은 도 3의 로우 해머 제어 회로의 동작을 개념적으로 설명하는 도면들이다.
도 8a 및 도 8b는 본 발명의 실시예들에 따른 제어 로직 회로의 동작을 설명하는 플로우 다이어그램들이다.
도 9는 본 발명의 예시적인 실시예에 따른 로우 해머를 제어하는 메모리 장치를 설명하는 도면이다.
도 10은 본 발명의 실시예들에 따른 로우 해머를 제어하는 메모리 장치를 포함하는 시스템을 나타내는 블록 다이어그램이다.
도 1은 본 발명의 예시적인 실시예들에 따른 로우 해머를 제어하는 메모리 장치를 포함하는 시스템을 설명하는 도면(diagram)이다.
도 1을 참조하면, 시스템(100)은 호스트 장치(110) 및 메모리 장치(120)를 포함할 수 있다. 호스트 장치(110)는 메모리 버스(130)를 통하여 메모리 장치(120)와 통신적으로 연결(communicatively connected)될 수 있다.
호스트 장치(110)는 예시적으로, 컴퓨터, 노트북, 서버, 워크 스테이션, 휴대용 통신 단말기, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 스마트 폰, 웨어러블(Wearable) 장치와 같은 컴퓨팅 시스템일 수 있다. 또는 호스트 장치(110)는 그래픽스 카드와 같은 컴퓨팅 시스템에 포함된 구성 요소들 중 일부일 수 있다.
호스트 장치(110)는 시스템(100) 내 일반적인 컴퓨터 동작을 수행하는 기능 블락(functional block)으로서, 중앙 처리 유닛(Central Processing Unit: CPU), 디지털 신호 프로세서(Digital Signal Processor: DSP), 그래픽 처리 유닛 (Graphics Processing Unit: GPU), 또는 어플리케이션 프로세서(Application Processor: AP)에 해당될 수 있다. 호스트 장치(110)는 메모리 장치(120)로/로부터 데이터 송수신을 관리하는 메모리 콘트롤러(112)를 포함할 수 있다.
메모리 콘트롤러(112)는 호스트 장치(110)의 메모리 리퀘스트에 따라 메모리 장치(120)를 억세스할 수 있다. 메모리 콘트롤러(112)는 메모리 위치에 대응하는 로우 및 칼럼을 선택하는 것, 메모리 위치에 데이터를 기입하는 것 또는 기입된 데이터를 독출하는 것과 같은 메모리 장치(120)와 인터페이싱을 위한 메모리 물리 계층 인터페이스(Memory Physical Layer Interface, 114)를 포함할 수 있다. 통상적으로, 메모리 물리 계층 인터페이스(114)는 메모리 PHY(114) 라고 지칭된다.
메모리 콘트롤러(112)는 메모리 장치(120)에 커맨드(CMD)와 어드레스(ADDR)를 제공함으로써, 메모리 장치(120)에 대한 기입 동작 또는 독출 동작을 제어할 수 있다. 또한, 기입 동작을 위한 데이터(DQ)와 독출된 데이터(DQ)가 메모리 콘트롤러(112)와 메모리 장치(120) 사이에서 송수신될 수 있다. 이러한 메모리 억세스 동작은 메모리 콘트롤러(112)와 메모리 장치(120) 사이의 메모리 PHY 및 메모리 버스(130)를 통해 수행될 수 있다. 메모리 PHY(114)는 메모리 콘트롤러(112)와 메모리 장치(120) 사이의 효율적인 통신에 요구되는 신호들, 주파수, 타이밍, 구동, 상세 동작 파라미터 및 기능성(functionality)을 위해 제공되는 물리적 또는 전기적 계층과 논리적 계층을 포함할 수 있다. 메모리 PHY(114)는 JEDEC(Joint Electron Device Engineering Council) 표준의 DDR 및/또는 LPDDR 프로토콜의 특징들을 지원할 수 있다.
메모리 버스(130)를 통해 메모리 콘트롤러(112)와 메모리 장치(120)가 연결될 수 있다. 도면의 간결성을 위하여, 메모리 버스(130)에서 메모리 콘트롤러(112)와 메모리 장치(120) 사이에 하나의 신호 라인을 통하여 클록(CK), 커맨드/어드레스(CA), 데이터(DQ)가 제공되는 것으로 도시하고 있으나, 실제로는 복수의 신호 라인들 또는 버스를 통해 제공될 수 있다. 메모리 콘트롤러(112)와 메모리 장치(120) 사이의 신호 라인들은 커넥터들을 통하여 연결될 수 있다. 커넥터들은 핀들, 볼들, 신호 라인들, 또는 다른 하드웨어 컴포넌트들로서 구현될 수 있다.
클록(CK) 신호는 메모리 버스(130)의 클록 신호 라인을 통해서 메모리 콘트롤러(112)로부터 메모리 장치(120)로 전송될 수 있다. 커맨드/어드레스(CA) 신호는 메모리 버스(130)의 커맨드/어드레스(CA) 버스를 통해서 메모리 콘트롤러(112)로부터 메모리 장치(120)로 전송될 수 있다. 칩 선택(CS) 신호는 메모리 버스(130)의 칩 선택(CS) 라인을 통해서 메모리 콘트롤러(112)로부터 메모리 장치(120)에 전송될 수 있다. 칩 선택(CS) 신호가 로직 하이로 활성화된 상태에서 커맨드/어드레스(CA) 버스를 통해서 전송되는 신호는 커맨드임을 나타낼 수 있다. 데이터(DQ)는 양방향 신호 라인들로 구성되는 메모리 버스(130)의 데이터(DQ) 버스를 통해서, 메모리 콘트롤러(112)로부터 메모리 장치(120)로 전송되거나 메모리 장치(120)로부터 메모리 콘트롤러(112)로 전송될 수 있다.
메모리 장치(120)는 메모리 콘트롤러(112)의 제어에 따라 데이터(DQ)를 기입하거나 데이터를 독출하고, 리프레쉬 동작을 수행할 수 있다. 예시적으로, 메모리 장치(120)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory) 장치일 수 있다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 메모리 장치(120)는 LPDDR(Low Power Double Data Rate) SDRAM, Wide I/O DRAM, HBM(High Bandwidth Memory), HMC(Hybrid Memory Cube) 등과 같은 휘발성 메모리 장치들 중 어느 하나일 수 있다. 메모리 장치(120)는 메모리 셀 어레이(200) 및 로우 해머 제어 회로(210)를 포함할 수 있다.
메모리 셀 어레이(200)는 복수의 워드라인들과 복수의 비트라인들, 그리고 워드라인들과 비트라인들이 교차하는 지점에 형성되는 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(200)의 메모리 셀은 휘발성 메모리 셀, 예컨대, DRAM 셀일 수 있다.
로우 해머 제어 회로(210)는 메모리 셀 어레이(200)에 대한 억세스 어드레스들 중에서 집중적으로 억세스되는 제1 해머 어드레스(들) 및 제2 해머 어드레스(들)를 검출할 수 있다. 실시예에 따라, 로우 해머 제어 회로(210)는 로우 해머 모니터링 시간 프레임 동안에 억세스 어드레스들의 회수를 카운트하고, 최대 억세스 회수를 선별(sort)하고. 선별된 최대 억세스 회수의 억세스 어드레스들 일부를 제1 레지스터에 저장하고 제1 해머 어드레스(들)로 설정할 수 있다. 로우 해머 제어 회로(210)는 로우 해머 모니터링 시간 프레임 동안 특정 시점들에서 억세스 어드레스들의 회수를 카운트하기 위해 랜덤 샘플링 시점들을 제공할 수 있다. 로우 해머 제어 회로(210)는 랜덤 샘플링 시점들에서 억세스 어드레스들의 회수를 카운트하고, 카운트된 억세스 어드레스들을 제2 레지스터에 저장하고 제2 해머 어드레스(들)로 설정할 수 있다. 로우 해머 제어 회로(210)는 제2 로우 해머 어드레스들을 제1 해머 어드레스들과 비교하고, 비교 결과, 동일한 해머 어드레스(들)를 제2 레지스터에 저장하고 악성 로우 해머 어드레스(들)로 설정할 수 있다. 로우 해머 제어 회로(210)는 악성 로우 해머 어드레스(들)에 대한 타겟 리프레쉬가 수행되도록 하기 위해 악성 로우 해머 어드레스(들)을 메모리 콘트롤러(112)에게 알리도록 구성될 수 있다. 이에 따라, 로우 해머 제어 회로(210)는 메모리 장치(120)의 로우 해머를 완화할 수 있다(alleviate).
도 2는 본 발명의 실시예들에 따른 메모리 장치를 설명하는 블록 다이어그램이다. 도 2는 DRAM으로 구현된 도 1의 메모리 장치(120)를 보여준다. 도 2에 도시된 DRAM 구성은 예로서 제공되며, 반드시 실제의 DRAM 구성은 아니라는 것을 밝혀둔다. 또한, 도 2에 도시된 예시적인 DRAM 구성은 본 개시 내용에 대한 제한을 나타내거나 암시하지 않는다.
도 1 및 도 2를 참조하면, 메모리 장치(120)는 메모리 셀 어레이(200), 로우 디코더(202), 칼럼 디코더(206), 입출력 게이팅 회로(208), 제어 로직 회로(220), 어드레스 버퍼(230), 리프레쉬 제어 회로(240), 데이터 입력 버퍼(260), 그리고 데이터 출력 버퍼(270)를 포함할 수 있다. 도 2에는 도시되지 않았으나, 메모리 장치(120)는 클럭 버퍼, 모드 레지스터 세트(Mode Register Set: MRS), 뱅크 제어 로직, 전압 발생 회로 등을 더 포함할 수 있다.
어드레스 버퍼(230)는 메모리 콘트롤러(112)로부터 뱅크 어드레스, 로우 어드레스(ROW_ADDR) 및 칼럼 어드레스(COL_ADDR)를 포함하는 어드레스(ADDR)를 수신할 수 있다. 어드레스 버퍼(230)는 수신된 뱅크 어드레스를 뱅크 제어 로직에 제공하고, 수신된 로우 어드레스(ROW_ADDR)를 로우 디코더(202)에 제공하며, 수신된 칼럼 어드레스(COL_ADDR)를 칼럼 디코더(206)에 제공할 수 있다.
메모리 셀 어레이(200)는 로우들 및 칼럼들로 배열되는 매트릭스 형태로 제공되는 복수의 메모리 셀들을 포함한다. 메모리 셀 어레이(200)는 메모리 셀들과 연결되는 복수개의 워드라인들(WL)과 복수개의 비트라인들(BL)을 포함한다. 복수의 워드라인들(WL)은 메모리 셀들의 로우들과 연결되고, 복수의 비트라인들(BL)은 메모리 셀들의 칼럼들과 연결될 수 있다. 활성화된 워드라인(WL)에 연결된 메모리 셀들의 데이터는 비트라인들(BL)에 연결된 센스 앰프들에 의해 센싱 및 증폭될 수 있다.
메모리 셀 어레이(200)는 제1 내지 제4 뱅크들(BANK1~BANK4)을 포함할 수 있다. 뱅크 제어 로직은 뱅크 어드레스에 응답하여 뱅크 제어 신호들을 생성하고, 뱅크 제어 신호들에 응답하여 제1 내지 제4 뱅크들(BANK1~BANK4) 중 뱅크 어드레스에 상응하는 뱅크의 로우 디코더(202) 및 칼럼 디코더(206)가 활성화될 수 있다. 본 실시예는 4개의 뱅크들을 포함하는 메모리 장치(120)의 예가 도시되어 있으나, 실시예에 따라, 메모리 장치(120)는 임의의 수의 뱅크들을 포함할 수 있다.
로우 디코더(202) 및 칼럼 디코더(206)는 제1 내지 제4 뱅크들(BANK1~BANK4) 각각에 대응하여 배치되고, 뱅크 어드레스에 상응하는 뱅크와 연결된 로우 디코더(202) 및 칼럼 디코더(206)가 활성화될 수 있다. 로우 디코더(202)는 어드레스 버퍼(230)로부터 수신된 로우 어드레스(ROW_ADDR)를 디코딩하여 복수의 워드라인들(WL) 중 로우 어드레스(ROW_ADDR)에 상응하는 워드라인(WL)을 선택하고, 선택된 워드라인(WL)을 활성화하는 워드라인 드라이버에 연결할 수 있다.
칼럼 디코더(206)는 메모리 셀 어레이(200)의 복수의 비트라인들(BL) 중 소정의 비트라인들(BL)을 선택할 수 있다. 칼럼 디코더(206)는 버스트 모드에서 칼럼 어드레스(COL_ADDR)에 기초하여 점진적으로 +1씩 증가되는 버스트 어드레스를 디코딩하여 칼럼 선택 신호를 발생하고, 칼럼 선택 신호에 의해 선택된 비트라인들(BL)을 입출력 게이팅 회로(208)에 연결할 수 있다. 버스트 어드레스는 독출 및/또는 기입 커맨드에 대하여 버스트 길이(BL)와 관련해서 억세스할 수 있는 칼럼 로케이션들의 어드레스들을 말한다.
입출력 게이팅 회로(208)는 칼럼 선택 신호에 의해 선택된 비트라인들(BL)의 판독 데이터를 저장하는 판독 데이터 래치들과, 메모리 셀 어레이(200)에 기입 데이터를 기입하기 위한 기입 드라이버를 포함할 수 있다. 입출력 게이팅 회로(208)의 판독 데이터 래치들에 저장된 판독 데이터는 데이터 출력 버퍼(270)를 통해 데이터(DQ) 버스에 제공될 수 있다. 기입 데이터는 데이터(DQ) 버스에 연결된 데이터 입력 버퍼(260)를 통해, 그리고 입출력 게이팅 회로(208)의 기입 드라이버를 통해 메모리 셀 어레이(200)에 인가될 수 있다.
제어 로직 회로(220)는 클록(CK) 신호 및 커맨드(CMD)를 수신하고 메모리 장치(120)의 동작 타이밍 및/또는 메모리 동작을 제어하는 제어 신호들을 생성할 수 있다. 제어 로직 회로(220)는 MRS에 의해 저장된 동작 및 제어 파라미터에 설정된 바와 같이 동작하도록 메모리 장치(120)의 회로들로 제어 신호들를 제공할 수 있다. 제어 로직 회로(220)는 제어 신호들을 이용하여 메모리 셀 어레이(200)로부터 데이터를 판독하고 메모리 셀 어레이(200)에 데이터를 기입할 수 있다. 도 2에는 제어 로직 회로(220)과 어드레스 버퍼(230)가 별개의 구성 요소들인 것으로 도시되어 있으나, 제어 로직 회로(220)과 어드레스 버퍼(230)는 불가분적인 하나의 구성 요소로 구현될 수도 있다. 또한 도 2에는 커맨드(CMD) 및 어드레스(ADDR)가 별개의 신호로 각각 제공되는 것으로 도시되어 있으나, LPDDR 표준 등 에 제시되는 바와 같이 어드레스는 커맨드에 포함되는 것으로 간주될 수 있다.
제어 로직 회로(220)는 로우 해머 모니터링 시간 프레임 동안에 집중적으로 억세스되는 로우 해머 억세스 어드레스(들)를 검출하고, 로우 해머 어드레스에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 타겟 리프레쉬하도록 구성될 수 있다. 또한, 제어 로직 회로(220)는 로우 해머 모니터링 시간 프레임 동안 일 시점에 집중적으로 억세스되는 악성 로우 해머 어드레스(들)를 검출하고, 악성 로우 해머 어드레스(들)에 대한 정보를 메모리 콘트롤러(112)에게 전송하여 악성 로우 해머를 알리고(alert), 악성 로우 해머 어드레스(들)에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 타겟 리프레쉬하도록 구성될 수 있다. 실시예에 따라, 제어 로직 회로(220)는 메모리 콘트롤러(112)로 악성 로우 해머 어드레스(들)에 대한 정보를 전송할 때 메모리 버스(130)의 데이터(DQ) 버스를 통해서 또는 알림 전용 신호 라인을 통해서 전송할 수 있다.
제어 로직 회로(220)는 로우 해머 모니터링 시간 프레임 동안 악성 로우 해머 어드레스(들)를 검출하는 로우 해머 제어 회로(210)를 포함할 수 있다. 로우 해머 제어 회로(210)는 도 3을 참조하며 후술한다. 이하의 실시예에서는 로우 해머 제어 회로(210)가 악성 로우 해머를 제어하는 것으로 설명될 것이나, 본 발명의 실시예들은 이에 국한될 필요가 없다. 예컨대, 로우 해머 제어 회로(210)는 제어 로직 회로(220) 내에 구비되는 구성에 해당하고, 제어 로직 회로(220)가 악성 로우 해머를 제어하는 것으로 설명되어도 무방할 것이다.
제어 로직 회로(220)는 리프레쉬 커맨드(CMD)에 응답하여 리프레쉬 제어 회로(240)가 리프레쉬 카운터 값을 +1씩 증가시킴으로써 노멀 리프레쉬 동작을 수행하도록 제어할 수 있다. 또한, 제어 로직 회로(220)는 로우 해머 어드레스(들) 및 악성 로우 해머 어드레스(들)을 포함하는 해머 어드레스(들)(HM_ADDR)에 기초하여 리프레쉬 제어 회로(240)가 타겟 리프레쉬 동작을 수행하도록 제어할 수 있다. 리프레쉬 제어 회로(240)는 노멀 리프레쉬 동작 및/또는 타겟 리프레쉬 동작이 수행될 메모리 셀 로우에 해당하는 리프레쉬 어드레스(REF_ADDR)를 생성할 수 있다.
도 3은 본 발명의 실시예들에 따른 로우 해머 제어 회로를 설명하는 블록 다이어그램이다. 도 4 및 도 5는 도 3의 로우 해머 제어 회로 내 랜덤마이저에 의해 구현되는 랜덤 셈플링 시점들을 설명하는 도면들이다. 도 6 및 도 7은 도 3의 로우 해머 제어 회로의 동작을 개념적으로 설명하는 도면들이다. 이하에서, 로우 해머 제어 회로는 로우 해머를 제어하거나 관리하기 위한 하드웨어, 펌웨어, 소프트웨어 또는 이들의 결합 방식으로 구현되는 것을 통칭한다.
도 2 및 도 3을 참조하면, 로우 해머 제어 회로(210)는 메모리 셀 어레이(200) 내 하나 이상의 메모리 셀 로우에 대한 로우 해머를 모니터링하고 특정 메모리 셀 로우의 로우 해머 유형을 검출하도록 구성될 수 있다. 특정 메모리 셀 로우는 소정의 시간 구간 동안 최대 억세스 수 또는 최대 액티브 커맨드 수를 갖는 메모리 셀 로우를 말한다. 소정의 시간 구간은 도 4에 도시된 바와 같이, JEDEC 표준에 정의된 32ms 또는 64ms 리프레쉬 윈도우 시간(tREFw)으로 설정될 수 있다. 실시예에 따라, 소정의 시간 구간은 도 5에 도시된 바와 같이, 기본 리프레쉬 레이트 시간(tREFi)으로 설정될 수 있다. 기본 리프레쉬 레이트는, 예를 들어, 32ms 리프레쉬 윈도우 내 8K 정도의 리프레쉬 커맨드(REFRESH) 수로 정의된다. 이하에서, 소정의 시간 구간은 제어 로직 회로(220)에 의해 설정되는 로우 해머 모니터 시간 프레임 또는 시간 윈도우으로 지칭될 수 있다.
로우 해머 제어 회로(210)는 로우 해머 모니터링 시간 프레임 동안 특정 시점들에 집중적으로 억세스되는 악성 로우 해머 어드레스(들)를 검출할 수 있다. 로우 해머 제어 회로(210)는 랜덤마이저(310), 랜덤 샘플링 레지스터(320), 로우 억세스 카운터(330), 로우 해머 어드레스 레지스터(340), 비교부(350) 및 유사성 카운터 회로(360)를 포함할 수 있다.
랜덤마이저(310)는 로우 해머 모니터 시간 프레임 동안 로우 해머 샘플링 시점들을 랜덤하게 제공하도록 구성될 수 있다. 랜덤마이저(310)는 원시 다항식에 근거하여 선형 난수열을 발생하여 출력하는 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Register: LFSR)로 구성될 수 있다. 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Register: LFSR)는, 도 6에 도시된 바와 같이, 쉬프트 레지스터부(601), 궤환 상수부(602) 및 선형 궤환 함수부(603)를 포함할 수 있다.
도 6을 참조하면, 쉬프트 레지스터부(601)는 n개의 쉬프트 레지스터들(S0, S1, ... , Sn-1)로 구성되며, 쉬프트 레지스터들(S0, S1, ... , Sn-1)은 선형 궤환 함수부(603)의 출력(P)을 입력받아 쉬프트하며, 쉬프트 레지스터들(S0, S1, ... , Sn-1) 각 단의 출력(s0, s1, ... , sn-1)을 궤환 상수부(602)의 각 단으로 일대일로 출력할 수 있다.
궤환 상수부(602)는 원시 다항식의 계수로서, 모드 0과 1의 값을 취하며, 쉬프트 레지스터부(601)와의 연결 상태를 나타내는 Ci(C0=1, i=1,2....)의 값이다. 궤환 상수부(602)는 쉬프트 레지스터부(601)의 출력(s0, s1, ... , sn-1)을 입력받아 자신의 상수값 Ci(C0=1, i=1,2....)과 함께 선형 궤환 함수부(603)로 출력할 수 있다.
선형 궤환 함수부(603)는 궤환 상수부(602)와 각 단의 쉬프트 레지스터(201)의 출력(s0, s1, ... , sn-1)을 입력받아 수학식 1에 의해서 출력(P)을 생성하여 쉬프트 레지스터부(601)로 출력한다.
Figure pat00001
선형 쉬프트 레지스터(LFSR)의 동작 과정은 다음과 같다. 선형 궤환 함수부(603)에서는 출력(P)을 계산하여 출력한다. 이 후, 쉬프트 레지스터부(601)에서는 전체 비트들(s0, s1, ... , sn-1)을 출력하고, 선형 궤환 함수부(603)의 출력(P)을 입력받아 쉬프트한다. 쉬프트 레지스터들(S0, S1, ... , Sn-1)의 출력(s0, s1, ... , sn-1)이 궤환 상수부(602)로 출력된다. 이러한 동작 과정이 반복 수행될 때 마다 출력되는 쉬프트 레지스터부(601)의 전체 비트들(s0, s1, ... , sn-1)은 랜덤한 값으로 출력될 수 있다.
도 3으로 돌아가서, 로우 해머 제어 회로(210)는 도 5의 쉬프트 레지스터부(601)의 랜덤 출력 값으로 나타내는 랜덤마이저(310)의 출력을 로우 해머를 모니터링하는 랜덤 샘플링 시점으로 이용할 수 있다. 랜덤마이저(310)의 랜덤 출력 값이 출력될 때마다 랜덤 샘플링 시점이 랜덤하게 결정될 수 있을 것이다.
예시적으로, 랜덤 샘플링 시점들은 도 4에 도시된 바와 같이, 로우 해머 모니터링 시간 프레임(예, tREFw)의 초반부(CASE A), 제1 중반부(CASE B), 제2 중반부(CASE C) 또는 후반부(CASE D)에 집중되는 것으로 나타날 수 있다. 그러나, 랜덤 샘플링 시점이 이에 한정되는 것은 아니며, tREFw 시간 프레임 내 임의의 시점에 집중되어 나타날 수 있다.
예시적으로, 랜덤 샘플링 시점들은 도 5에 도시된 바와 같이, 로우 해머 모니터링 시간 프레임(예, tREFi)의 초반부(CASE 1), 중반부(CASE 2) 또는 후반부(CASE 3)에 집중되는 것으로 나타날 수 있다. 그러나, 랜덤 샘플링 시점이 이에 한정되는 것은 아니며, tREFi 시간 프레임 내 임의의 시점에 집중되어 나타날 수 있다.
도 3에서, 랜덤 샘플링 레지스터(320)는 도 4 또는 도 5의 랜덤 샘플링 시점들 마다 억세스되는 어드레스들을 저장할 수 있다. 랜덤 샘플링 레지스터(320)에 저장된 어드레스는 랜덤 샘플링 어드레스(RS_ADDR)로 지칭될 수 있다.
로우 억세스 카운터(330)는 로우 해머 모니터링 시간 프레임 동안에 억세스되는 어드레스(들)의 억세스 회수를 카운트할 수 있다. 로우 억세스 카운터(330)는 억세스 어드레스(들)의 최대 억세스 회수를 선별하고, 선별된 최대 억세스 회수의 억세스 어드레스들을 로우 해머 어드레스 레지스터(340)에 저장할 수 있다.
로우 억세스 카운터(330)에 의해 선별된 최대 억세스 회수의 억세스 어드레스들 중에서 상위 일부 억세스 어드레스들이 한정 자원의 레지스터들로 구성되는 로우 해머 어드레스 레지스터(340)에 저장될 수 있다. 로우 해머 어드레스 레지스터(340)에 저장되는 억세스 어드레스는 로우 해머 어드레스(RH_ADDR)로 지칭될 수 있다. 로우 해머 어드레스 레지스터(340)에 저장된 로우 해머 어드레스(들)(RH_ADDR)은 로우 해머 모니터링 시간 프레임 동안의 역사상의(historical) 억세스 회수들에 의해 결정된 억세스 어드레스(들)을 의미하고, 저장될 레지스터들의 수에 제한될 수 있다.
비교부(350)는 랜덤 샘플링 레지스터(320)에 저장되는 랜덤 샘플링 어드레스(RS_ADDR)를 로우 해머 어드레스 레지스터(340)에 저장된 로우 해머 어드레스(들)(RH_ADDR)을 비교할 수 있다. 비교부(350)는 도 7에 도시된 바와 같이, 랜덤 샘플링 어드레스(RS_ADDR)가 로우 해머 어드레스(들)(RH_ADDR)와 동일한지 여부를 판단하고, 판단 결과를 유사성 카운터 회로(360)로 제공할 수 있다.
예시적으로, 도 7에서, 로우 해머 어드레스 레지스터(340)에 최대 억세스 회수의 로우 해머 어드레스(들)(RH_ADDR) A14, A15, ... , A20, A1, ... , A8, A9 가 선별된 순서로 저장되어 있다고 가정하자. 그리고, 랜덤 샘플링 레지스터(320)에 랜덤 샘플링 어드레스(RS_ADDR)가 A2, A3, ... , A9, A10, ... , A16, A17 이 순서적으로 저장되어 있다고 가정하자. 비교부(350)는 랜덤 샘플링 어드레스(RS_ADDR) A2와 로우 해머 어드레스(들)(RH_ADDR) A14, A15, ... , A20, A1, ... , A8, A9 를 요소별(elementwise)로 비교하여 동일 여부를 판단할 수 있다.
비교부(350)는 랜덤 샘플링 어드레스(RS_ADDR) A2에 대해 로우 해머 어드레스(RH_ADDR) A14와 비교한 후, 로우 해머 어드레스 레지스터(340)를 제1 방향(701)으로 스위칭하여 로우 해머 어드레스(RH_ADDR) A15, ... , A20, A1, ... , A8, A9 순차적으로 비교하는 동작을 수행하여 동일 여부를 판단할 수 있다. 비교부(350)는 랜덤 샘플링 어드레스(RS_ADDR) A2와 로우 해머 어드레스(들)(RH_ADDR) A14, A15, ... , A20, A1, ... , A8, A9를 비교한 후, 랜덤 샘플링 레지스터(320)를 제2 방향(702)로 스위칭하여 랜덤 샘플링 어드레스(RS_ADDR) A3를 로우 해머 어드레스(들)(RH_ADDR) A14, A15, ... , A20, A1, ... , A8, A9와 비교하는 동작을 수행하여 동일 여부를 판단할 수 있다. 비교부(350)의 요소별 비교 동작에 의해 로우 해머 어드레스(들)(RH_ADDR)와 동일하다고 판단되는 랜덤 샘플링 어드레스(RS_ADDR)는 유사성 카운터 회로(360)로 제공될 수 있다. 로우 해머 어드레스(들)(RH_ADDR)와 동일한 랜덤 샘플링 어드레스(RS_ADDR)는 로우 해머 모니터링 시간 프레임 동안 최고 억세스 회수로 억세스되면서 랜덤 샘플링 시점에서 집중적으로 억세스되는 악성 로우 해머 어드레스(MH_ADDR)로 지칭될 수 있다.
다시 도 3에서, 유사성 카운터 회로(360)는 비교부(350)에서 제공되는 악성 로우 해머 어드레스(들)(MH_ADDR)의 개수를 카운트하고, 카운트 값을 임계치(THRESHOLD1)과 비교할 수 있다. 유사성 카운터 회로(360)는 임계치(THRESHOLD1)를 저장하는 레지스터(362)를 포함할 수 있다. 유사성 카운터 회로(360)는 임계치(THRESHOLD1)를 초과하는 악성 로우 해머 어드레스(들)(MH_ADDR)의 개수가 메모리 콘트롤러(112)로 알릴 수 있다. 메모리 콘트롤러(112)는 악성 로우 해머 어드레스(들)(MH_ADDR)의 정보에 기초하여 악성 로우 해머 어드레스(들)(MH_ADDR)에 관한 타겟 리프레쉬 동작이 수행되도록 제어할 수 있다.
도 8a 및 도 8b는 본 발명의 실시예들에 따른 제어 로직 회로의 동작을 설명하는 플로우 다이어그램들이다. 도 8a는 로우 해머 어드레스(들)를 모니터링하기 위한 제1 로우 해머 모니터 시간 프레임(tREFw)과 악성 로우 해머 어드레스(들)를 모니터링하기 위한 제2 로우 해머 모니터 시간 프레임이 tREFw로 동일하게 설정되는 예를 설명한다. 도 8b는 제1 로우 해머 모니터 시간 프레임(tREFi)과 제2 로우 해머 모니터 시간 프레임(tREFw)이 서로 다르게 설정되는 예를 설명하는데, 제2 로우 해머 모니터링 시간 프레임(tREFw)이 제1 로우 해머 모니터링 시간 프레임(tREFi) 보다 길게 설정되는 예를 설명한다.
도 1 내지 도 7과 연계하여 도 8a을 참조하면, 단계 S810에서 시스템(100)은 초기화를 수행할 수 있다. 시스템(100)이 파워-업되면, 메모리 콘트롤러(112)와 메모리 장치(120)는 미리 정해진 방식에 따라 초기 설정 동작을 수행할 수 있다. 메모리 장치(120)의 초기화에서 디폴트 동작 파라미터들이 설정될 수 있다. 예시적으로, 로우 억세스 카운터(330)의 제1 카운트 값(CT1)과 유사성 카운터 회로(360)의 제2 카운트 값(CT2)이 "0"으로 리셋될 수 있다. 또한, 메모리 장치(120)의 초기화에서, 시스템(100)의 공급자(supplier) 또는 사용자는 로우 해머 모니터 시간 프레임을 설정하고, 악성 로우 해머를 판단하는 기준인 임계치(THRESHOLD1)를 설정할 수 있다.
단계 S821 및 단계 S822에서, 제어 로직 회로(220)는 제1 로우 해머를 모니터링하는 동작(S821)과 제2 로우 해머를 모니터링하는 동작(S822)을 병렬적으로 수행할 수 있다.
제1 로우 해머를 모니터링하는 동작(S821)에서, 제어 로직 회로(220)는 로우 해머 모니터링 시간 프레임(tREFw) 동안에 억세스되는 어드레스(들)의 억세스 회수를 카운트하는 로우 억세스 카운터(330)에 의해 선별된 로우 해머 어드레스(들)(RH_ADDR)를 로우 해머 어드레스 레지스터(340)에 저장할 수 있다.
제2 로우 해머를 모니터링하는 동작(S822)에서, 제어 로직 회로(220)는 로우 해머 모니터링 시간 프레임(tREFw) 동안에 랜덤마이저(310)에 의해 설정되는 랜덤 샘플링 시점들 마다 억세스되는 랜덤 샘플링 어드레스(들)(RS_ADDR)을 랜덤 샘플링 레지스터(320)에 저장할 수 있다.
단계 S830에서, 제어 로직 회로(220)는 단계 S822에서 획득된 랜덤 샘플링 어드레스(RS_ADDR)와 단계 S821에서 획득된 로우 해머 어드레스(들)(RH_ADDR) 사이의 억세스 패턴의 유사도를 판단할 수 있다. 제어 로직 회로(220)는 랜덤 샘플링 어드레스(RS_ADDR)와 로우 해머 어드레스(들)(RH_ADDR)를 요소별 비교하는 비교부(350)를 이용하여 로우 해머 어드레스(들)(RH_ADDR)와 동일하다고 판단되는 랜덤 샘플링 어드레스(RS_ADDR)를 유사 억세스 패턴으로 판단할 수 있다. 유사 억세스 패턴은 로우 해머 모니터링 시간 프레임(tREFw) 동안 최고 억세스 회수로 억세스되면서 랜덤 샘플링 시점에서 집중적으로 억세스되는 악성 로우 해머 어드레스(MH_ADDR)로 나타날 수 있다.
단계 S850에서, 제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 획득된 로우 해머 어드레스(들)(RH_ADDR) 및 악성 로우 해머 어드레스(들)(MH_ADDR)에 대해 타겟 리프레쉬 동작을 수행할 수 있다.
단계 S860에서, 제어 로직 회로(220)는 악성 로우 해머 어드레스(들) (MH_ADDR)에 대한 정보를 메모리 콘트롤러(112)에게 전송하여 악성 로우 해머를 알릴 수 있다.
제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 획득된 로우 해머 어드레스(들)(RH_ADDR) 및 악성 로우 해머 어드레스(들)(MH_ADDR)에 대해 타겟 리프레쉬 동작(단계 S850)을 수행한 후, 단계 S870으로 이동할 수 있다.
제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 획득된 악성 로우 해머 어드레스(들) (MH_ADDR)에 대한 정보를 메모리 콘트롤러(112)에게 전송하여 악성 로우 해머를 알리고(단계 S860), 단계 S870으로 이동할 수 있다.
단계 S870에서, 제어 로직 회로(220)는 로우 해머 모니터 시간 프레임(tREFw)이 경과하는 지를 판단할 수 있다. 로우 해머 모니터 시간 프레임(tREFw)이 경과되지 않으면(NO), 단계 S821 및 단계 S822로 이동할 수 있다. 제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 획득될 로우 해머 어드레스(들)(RH_ADDR) 및 악성 로우 해머 어드레스(들)(MH_ADDR)에 로우 해머 모니터링 동작을 반복적으로 수행할 수 있다. 로우 해머 모니터 시간 프레임(tREFw)이 경과되면(YES), 단계 S810로 이동하여 메모리 장치(120)의 초기화를 수행할 수 있다. 이 때, 로우 억세스 카운터(330)의 제1 카운트 값(CT1)과 유사성 카운터 회로(360)의 제2 카운트 값(CT2)은 "0"으로 리셋될 수 있다.
도 1 내지 도 7과 연계하여 도 8b를 참조하면, 단계 S810에서 시스템(100)은 초기화를 수행할 수 있다. 로우 억세스 카운터(330)의 제1 카운트 값(CT1)과 유사성 카운터 회로(360)의 제2 카운트 값(CT2)이 "0"으로 리셋되고, 제1 로우 해머 모니터 시간 프레임(tREFi) 및 제2 로우 해머 모니터 시간 프레임(tREFw)이 설정될 수 있다.
단계 S821 및 단계 S822에서, 제어 로직 회로(220)는 제1 로우 해머를 모니터링하는 동작(S821)과 제2 로우 해머를 모니터링하는 동작(S822)을 병렬적으로 수행할 수 있다. 제1 로우 해머를 모니터링하는 동작(S821)에서, 제어 로직 회로(220)는 제1 로우 해머 모니터링 시간 프레임(tREFi) 동안에 억세스되는 어드레스(들)의 억세스 회수를 카운트하는 로우 억세스 카운터(330)에 의해 선별된 로우 해머 어드레스(들)(RH_ADDR)를 로우 해머 어드레스 레지스터(340)에 저장할 수 있다. 제2 로우 해머를 모니터링하는 동작(S822)에서, 제어 로직 회로(220)는 제2로우 해머 모니터링 시간 프레임(tREFw) 동안에 랜덤마이저(310)에 의해 설정되는 랜덤 샘플링 시점들 마다 억세스되는 랜덤 샘플링 어드레스(들)(RS_ADDR)을 랜덤 샘플링 레지스터(320)에 저장할 수 있다.
단계 S830에서, 제어 로직 회로(220)는 단계 S822에서 획득된 랜덤 샘플링 어드레스(RS_ADDR)와 단계 S821에서 획득된 로우 해머 어드레스(들)(RH_ADDR) 사이의 억세스 패턴의 유사도를 판단할 수 있다. 제어 로직 회로(220)는 제1 로우 해머 모니터링 시간 프레임(tREFi) 동안 최고 억세스 회수로 억세스되면서 랜덤 샘플링 시점에서 집중적으로 억세스되는 악성 로우 해머 어드레스(MH_ADDR)를 검출할 수 있다.
제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 로우 해머 어드레스(들)(RH_ADDR) 및 악성 로우 해머 어드레스(들)(MH_ADDR)를 획득한 후, 단계 S840 및 단계 S860으로 이동할 수 있다.
단계 S840에서, 제어 로직 회로(220)는 제1 로우 해머 모니터 시간 프레임(tREFi)이 경과하는 지를 판단할 수 있다. 제1 로우 해머 모니터 시간 프레임(tREFi)이 경과되지 않으면(NO), 단계 S821 및 단계 S822로 이동할 수 있다. 제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 획득될 로우 해머 어드레스(들)(RH_ADDR) 및 악성 로우 해머 어드레스(들)(MH_ADDR)에 로우 해머 모니터링 동작을 반복적으로 수행할 수 있다. 제1 로우 해머 모니터 시간 프레임(tREFi)이 경과되면(YES), 단계 S850로 이동할 수 있다.
단계 S850에서, 제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 획득된 로우 해머 어드레스(들)(RH_ADDR) 및 악성 로우 해머 어드레스(들)(MH_ADDR)에 대해 타겟 리프레쉬 동작을 수행할 수 있다. 제어 로직 회로(220)는 타겟 리프레쉬 동작(단계 S850)을 수행한 후, 단계 S870으로 이동할 수 있다.
단계 S860에서, 제어 로직 회로(220)는 악성 로우 해머 어드레스(들) (MH_ADDR)에 대한 정보를 메모리 콘트롤러(112)에게 전송하여 악성 로우 해머를 알릴 수 있다. 제어 로직 회로(220)는 악성 로우 해머를 메모리 콘트롤러(112)에게 전송하여 알리고(단계 S860), 단계 S870으로 이동할 수 있다.
단계 S870에서, 제어 로직 회로(220)는 제2 로우 해머 모니터 시간 프레임(tREFw)이 경과하는 지를 판단할 수 있다. 제2 로우 해머 모니터 시간 프레임(tREFw)이 경과되지 않으면(NO), 단계 S821 및 단계 S822로 이동할 수 있다. 제어 로직 회로(220)는 단계 S821, 단계 S822 및 단계 S830에서 획득될 로우 해머 어드레스(들)(RH_ADDR) 및 악성 로우 해머 어드레스(들)(MH_ADDR)에 로우 해머 모니터링 동작을 반복적으로 수행할 수 있다. 제2 로우 해머 모니터 시간 프레임(tREFw)이 경과되면(YES), 단계 S810로 이동하여 메모리 장치(120)의 초기화를 수행할 수 있다. 이 때, 로우 억세스 카운터(330)의 제1 카운트 값(CT1)과 유사성 카운터 회로(360)의 제2 카운트 값(CT2)은 "0"으로 리셋될 수 있다.
도 9는 본 발명의 예시적인 실시예에 따른 로우 해머를 제어하는 메모리 장치를 설명하는 도면이다. 도 9는 HBM으로 구현된 도 1의 메모리 장치(120)를 보여준다. 도 9에 도시된 HBM 구성은 예로서 제공되며, 반드시 실제의 HBM 구성은 아니라는 것을 밝혀둔다. 또한, 도 9에 도시된 예시적인 HBM 구성은 본 개시 내용에 대한 제한을 나타내거나 암시하지 않는다. 이하, 서로 다른 도면에서 동일한 참조 번호에 붙은 첨자(예컨대, 120a의 a)는 유사하거나 동일한 기능을 하는 다수의 회로를 구분하기 위한 것이다. 설명의 편의를 위하여, 메모리 장치(120a)는 HBM(120a)으로 혼용될 수 있다.
도 1 및 도 9를 참조하면, HBM(120a)은 JEDEC 표준의 HBM 프로토콜을 통하여 호스트 장치(110)에 연결될 수 있다. HBM 프로토콜은 3차원 적층 메모리들(예를 들어, DRAM)을 위한 고성능 랜덤 액세스 메모리(RAM) 인터페이스이다. HBM(120a)은 일반적으로 다른 DRAM 기술들(예를 들어, DDR4, GDDR5 등)보다 실질적으로 더 작은 폼 팩터(form factor)에서, 더 적은 전력을 소비하면서, 더 넓은 대역폭을 달성한다.
HBM(120a)은 서로 독립된 인터페이스를 갖는 다수의 채널들(CH1~CH8)을 포함함으로써 높은 대역폭(Bandwidth)을 가질 수 있다. HBM(120a)은 다수개의 다이들(910, 920)을 포함할 수 있으며, 일 예로서 로직 다이(또는, 버퍼 다이)(910)와 로직 다이(910) 위에 적층된 하나 이상의 코어 다이들(920)을 포함할 수 있다. 도 9의 예에서는, 제1 내지 제4 코어 다이들(921-924)이 HBM(120a)에 구비되는 예가 도시되었으나, 상기 코어 다이들(920)의 개수는 다양하게 변경될 수 있다. 코어 다이들(920)은 메모리 다이들로 지칭될 수 있다.
제1 내지 제4 코어 다이들(921-924) 각각은 하나 이상의 채널을 포함할 수 있다. 도 9에서는 제1 내지 제4 코어 다이들(921-924) 각각이 두 개의 채널을 포함함에 따라 HBM(120a)은 8 개의 채널들(CH1~CH8)을 갖는 예가 도시된다. 예컨대, 제1 코어 다이(921)는 제1 채널 및 제3 채널(CH1, CH3)을 포함하고, 제2 코어 다이(922)는 제2 채널 및 제4 채널(CH2, CH4)을 포함하며, 제3 코어 다이(923)는 제5 채널 및 제7 채널(CH5, CH7)을 포함하며, 제4 코어 다이(924)는 제6 채널 및 제8 채널(CH6, CH8)을 포함할 수 있다.
로직 다이(910)는 호스트 장치(110)와 통신하는 인터페이스 회로(911)를 포함할 수 있으며, 인터페이스 회로(911)를 통해 호스트 장치(110)로부터 커맨드/어드레스 및 데이터를 수신할 수 있다. 호스트 장치(110)는 채널(들)(CH1~CH8)에 대응하여 배치되는 버스(들)(130)을 통해 커맨드/어드레스 및 데이터를 전송할 수 있으며, 채널 별로 버스(130)가 구분되도록 형성되거나, 일부의 버스(130)는 적어도 두 개의 채널들에 공유될 수도 있을 것이다. 인터페이스 회로(911)는 호스트 장치(110)가 메모리 동작 또는 연산 처리를 요청하는 채널로 커맨드/어드레스 및 데이터를 전달할 수 있다. 또한, 본 발명의 예시적인 실시예에 따라, 코어 다이들(920) 각각 또는 채널들 각각은 프로세서-인-메모리(Processor In Memory: PIM) 회로를 포함할 수 있다.
호스트 장치(110)는 다수의 연산 작업들 또는 커널들 중 적어도 일부가 HBM(120a)에서 수행될 수 있도록 커맨드/어드레스 및 데이터를 제공할 수 있으며, 호스트 장치(110)가 지정하는 채널의 PIM 회로에서 연산 처리가 수행될 수 있다. 일 예로서, 수신된 커맨드/어드레스가 연산 처리를 지시하는 경우, 해당 채널의 PIM 회로는 호스트 장치(110)로부터 제공되는 기입 데이터 및/또는 해당 채널에서 독출되는 데이터를 이용하여 연산 처리를 수행할 수 있다. 다른 예로서, HBM(120a)의 해당 채널로 수신된 커맨드/어드레스가 메모리 동작을 지시하는 경우에는 데이터에 대한 억세스 동작이 수행될 수 있다.
실시예에 따라, 채널들(CH1~CH8) 각각은 다수 개의 뱅크들을 포함할 수 있고, 각각의 채널의 PIM 회로에는 하나 이상의 프로세싱 소자들이 구비될 수 있다. 일 예로서, 각각의 채널에서 프로세싱 소자들의 개수는 뱅크들의 개수와 동일할 수 있으며, 또는 프로세싱 소자들의 개수가 뱅크들의 개수보다 적음에 따라 하나의 프로세싱 소자가 적어도 두 개의 뱅크들에 공유될 수도 있을 것이다. 각 채널의 PIM 회로는 호스트 장치(110)에 의해 오프로드된 커널을 실행할 수 있다.
실시예에 따라, 채널들(CH1~CH8) 각각은 도 1 내지 도 8를 참조하여 설명된 로우 해머 제어 회로를 포함할 수 있다. 채널들(CH1~CH8) 각각은 제1 로우 해머 모니터 시간 프레임(tREFi) 동안 최대 억세스 회수로 선별된 로우 해머 어드레스(들)(RH_ADDR)와 제2 로우 해머 모니터 시간 프레임(tREFw) 동안 랜덤 샘플링 시점들 마다 억세스되는 랜덤 샘플링 어드레스(들)(RS_ADDR)을 요소별 비교하고, 비교 결과, 동일하다고 판단되는 악성 로우 해머 어드레스(들)(MH_ADDR)를 콘트롤러(1810)에 알리고, 악성 로우 해머 어드레스(들)(MH_ADDR)에 대한 타겟 리프레쉬가 수행되도록 함으로써, 채널들(CH1~CH8)의 로우 해머를 완화할 수 있다.
한편, 로직 다이(910)는 스루 실리콘 비아(Through Silicon Via: TSV) 영역(912), HBM 물리 계층 인터페이스(PHYsical layer interface: HBM PHY) 영역(913) 및 직렬화기/역직렬화기(SERializer/DESerializer: SERDES) 영역(914)을 더 포함할 수 있다. TSV 영역(912)은 코어 다이들(920)과의 통신을 위한 TSV가 형성되는 영역으로, 채널(들)(CH1~CH8)에 대응하여 배치되는 버스(들)(130)이 형성되는 영역이다. 각각의 채널(CH1~CH8)이 128 비트의 대역폭을 갖는 경우, TSV들은 1024 비트의 데이터 입출력을 위한 구성들을 포함할 수 있다.
HBM PHY 영역(913)은 메모리 콘트롤러(112)와 채널들(CH1~CH8)과의 통신을 위해 다수의 입출력 회로를 포함할 수 있으며, 일 예로서 HBM PHY 영역(913)은 메모리 콘트롤러(112)와 채널들(CH1~CH8)을 연결하기 위한 하나 이상의 인터컨넥트 회로들을 포함할 수 있다. HBM PHY 영역(913)은 메모리 콘트롤러(112)와 채널들(CH1~CH8) 사이의 효율적인 통신에 요구되는 신호들, 주파수, 타이밍, 구동, 상세 동작 파라미터 및 기능성을 위해 제공되는 물리적 또는 전기적 계층과 논리적 계층을 포함할 수 있다. HBM PHY 영역(913)은 해당 채널에 대하여 메모리 셀에 대응하는 로우 및 칼럼을 선택하는 것, 메모리 셀에 데이터를 기입하는 것, 또는 기입된 데이터를 독출하는 것과 같은 메모리 인터페이싱을 수행할 수 있다. HBM PHY 영역(913)은 JEDEC 표준의 HBM 프로토콜의 특징들을 지원할 수 있다.
SERDES 영역(914)은 호스트 장치(110)의 프로세서(들)(112)의 프로세싱 스루풋이 증가함에 따라, 그리고 메모리 대역폭에 대한 요구들이 증가함에 따라, JEDEC(Joint Electron Device Engineering Council) 표준의 SERDES 인터페이스를 제공하는 영역이다. SERDES 영역(914)은 SERDES 송신기 부분, SERDES 수신기 부분 및 제어기 부분을 포함할 수 있다. SERDES 송신기 부분은 병렬-투-직렬 회로 및 송신기를 포함하고, 병렬 데이터 스트림을 수신하고, 수신된 병렬 데이터 스트림을 직렬화 할 수 있다. SERDES 수신기 부분은 수신기 증폭기, 등화기, 클록 및 데이터 복원 회로 및 직렬-투-병렬 회로를 포함하고, 직렬 데이터 스트림을 수신하고, 수신된 직렬 데이터 스트림을 병렬화 할 수 있다. 제어기 부분은 에러 검출 회로, 에러 정정 회로 및 FIFO(First In First Out)와 같은 레지스터들을 포함할 수 있다.
도 10은 본 발명의 실시예들에 따른 로우 해머를 제어하는 메모리 장치를 포함하는 시스템(1000)을 나타내는 블록 다이어그램이다.
도 10을 참조하면, 시스템(1000)은 카메라(1100), 디스플레이(1200), 오디오 처리부(1300), 모뎀(1400), DRAM들(1500a, 1500b), 플래시 메모리들(1600a, 1600b), I/O 디바이스들(1700a, 1700b) 및 어플리케이션 프로세서(Application Processor, 1800, 이하 "AP"라고 칭함)를 포함할 수 있다. 시스템(1000)은 랩탑(laptop) 컴퓨터, 휴대용 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기, 또는 IOT(Internet Of Things) 기기로 구현될 수 있다. 또한, 시스템(1000)은 서버(Server), 또는 개인용 컴퓨터(Personal Computer)로 구현될 수도 있다.
카메라(1100)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬영하고, 쵤영한 이미지/영상 데이터를 저장하거나 디스플레이(1200)로 전송할 수 있다. 오디오 처리부(1300)는 플래시 메모리 장치들(1600a, 1600b)나 네트워크의 컨텐츠에 포함된 오디오 데이터를 처리할 수 있다. 모뎀(1400)는 유/무선데이터 송수신을 위하여 신호를 변조하여 송신하고, 수신측에서 원래의 신호로 복구하기 위해 복조할 수 있다. I/O 디바이스들(1700a, 1700b)는 USB(Universal Serial Bus)나 스토리지, 디지털 카메라, SD(Secure Digital) 카드, DVD(Digital Versatile Disc), 네트워크 어댑터(Network adapter), 터치 스크린 등과 같은 디지털 입력 및/또는 출력 기능을 제공하는 기기들을 포함할 수 있다.
AP(1800)는 시스템(1000)의 전반적인 동작을 제어할 수 있다. AP(1800)는 플래시 메모리 장치들(1600a, 1600b)에 저장된 컨텐츠의 일부가 디스플레이(1200)에 표시되도록 디스플레이(1200)를 제어할 수 있다. AP(1800)는 I/O 디바이스들(1700a, 1700b)을 통하여 사용자 입력이 수신되면, 사용자 입력에 대응하는 제어 동작을 수행할 수 있다. AP(1800)는 AI(Artifitial Intelligence) 데이터 연산을 위한 전용 회로인 엑셀레이터(Accelerator) 블록을 포함하거나, AP(1800)와 별개로 엑셀레이터 칩(1820)을 구비할 수 있다. 엑셀레이터 블록 또는 엑셀레이터 칩(1820)에 추가적으로 DRAM(1500b)이 장착될 수 있다. 엑셀레이터는 AP(1800)의 특정 기능을 전문적으로 수행하는 기능 블록으로, 엑셀레이터는 그래픽 데이터 처리를 전문적으로 수행하는 기능 블럭인 GPU, AI 계산과 인퍼런스(Inference)를 전문적으로 수행하기 위한 블럭인 NPU(Neural Processing Unit), 데이터 전송을 전문적으로 하는 블록인 DPU(Data Processing Unit)를 포함할 수 있다
시스템(1000)은 복수의 DRAM들(1500a, 1500b)을 포함할 수 있다. AP(1800)는 JEDEC(Joint Electron Device Engineering Council) 표준 규격에 맞는 커맨드와 모드 레지스터(MRS) 셋팅을 통하여 DRAM들(1500a, 1500b)을 제어하거나, 저전압/고속/신뢰성 등 업체 고유 기능 및 CRC(Cyclic Redundancy Check)/ECC(Error Correction Code) 기능을 사용하기 위하여 DRAM 인터페이스 규약을 설정하여 통신할 수 있다. 예를 들어 AP(1800)는 LPDDR4, LPDDR5 등의 JEDEC 표준 규격에 맞는 인터페이스로 DRAM(1500a)과 통신할 수 있으며, 엑셀레이터 블록 또는 엑셀레이터 칩(1820)는 DRAM(1500a)보다 높은 대역폭을 가지는 엑셀레이터용 DRAM(1500b)을 제어하기 위하여 새로운 DRAM 인터페이스 규약을 설정하여 통신할 수 있다.
도 10에서는 DRAM들(1500a, 1500b)만을 도시하였으나, 이에 한정되지 않고 AP(1800)이나 엑셀레이터 칩(1820) 대역폭과 반응 속도, 전압 조건들을 만족한다면 PRAM이나 SRAM, MRAM, RRAM, FRAM 또는 Hybrid RAM의 메모리 등 어떤 메모리라도 사용 가능하다. DRAM들(1500a, 1500b)은 I/O 디바이스(1700a, 1700b)나 플래시 메모리들(1600a, 1600b) 보다 상대적으로 작은 레이턴시(latency)와 대역폭(bandwidth)를 가지고 있다. DRAM들(1500a, 1500b)은 시스템(1000)의 파워 온 시점에 초기화되고, 운영 체제와 어플리케이션 데이터가 로딩되어 운영 체제와 어플리케이션 데이터의 임시 저장 장소로 사용되거나 각종 소프트웨어 코드의 실행 공간으로 사용될 수 있다.
DRAM들(1500a, 1500b) 내에서는 더하기/빼기/곱하기/나누기 사칙 연산과 벡터 연산, 어드레스 연산, 또는 FFT(Fast Fourier Transform) 연산이 수행될 수 있다. 또한, DRAM들(1500a, 1500b) 내에서는 인퍼런스(inference)에 사용되는 수행을 위한 함수 기능(function)이 수행될 수 있다. 여기서, 인퍼런스는 인공 신경망(artificial neural network)을 이용한 딥러닝 알고리즘에서 수행될 수 있다. 딥러닝 알고리즘은 다양한 데이터를 통해 모델을 학습하는 트레이닝(training) 단계와 학습된 모델로 데이터를 인식하는 인퍼런스 단계를 포함할 수 있다. 실시예로서, 사용자가 카메라(1100)를 통해 촬영한 이미지는 신호 처리되어 DRAM(1500b) 내에 저장이 되며, 엑셀레이터 블록 또는 엑셀레이터 칩(1820)은 DRAM(1500b)에 저장된 데이터와 인퍼런스에 사용되는 함수를 이용하여 데이터를 인식하는 AI 데이터 연산을 수행할 수 있다.
시스템(1000)은 DRAM들(1500a, 1500b) 보다 큰 용량을 가진 복수의 스토리지 또는 복수의 플래시 메모리들(1600a, 1600b)을 포함할 수 있다. 엑셀레이터 블록 또는 엑셀레이터 칩(1820)은 플래시 메모리 장치(1600a, 1600b)를 이용하여 트레이닝(training) 단계와 AI 데이터 연산을 수행할 수 있다. 일 실시예로, 플래시 메모리들(1600a, 1600b)은 메모리 콘트롤러(1610) 내에 구비된 연산 장치를 사용하여 AP(1800) 및/내지 엑셀레이터 칩(1820)이 수행하는 트레이닝(training) 단계과 인퍼런스 AI 데이터 연산을 보다 효율적으로 수행할 수 있다. 플래시 메모리들(1600a, 1600b)은 카메라(1100)를 통하여 찍은 사진을 저장하거나, 데이터 네트워크로 전송 받은 데이터를 저장할 수 있다. 예를 들어, 증강 현실(Augmented Reality)/가상 현실(Virtual Reality), HD(High Definition) 또는 UHD(Ultra High Definition) 컨텐츠를 저장할 수 있다.
시스템(1000)에서, DRAM들(1500a, 1500b)은 도 1 내지 도 8를 참조하여 설명된 로우 해머 제어 회로를 포함할 수 있다. DRAM들(1500a, 1500b)은 제1 로우 해머 모니터 시간 프레임(tREFi) 동안 최대 억세스 회수로 선별된 로우 해머 어드레스(들)(RH_ADDR)와 제2 로우 해머 모니터 시간 프레임(tREFw) 동안 랜덤 샘플링 시점들 마다 억세스되는 랜덤 샘플링 어드레스(들)(RS_ADDR)을 요소별 비교하고, 비교 결과, 동일하다고 판단되는 악성 로우 해머 어드레스(들)(MH_ADDR)를 콘트롤러(1810)에 알리고, 악성 로우 해머 어드레스(들)(MH_ADDR)에 대한 타겟 리프레쉬가 수행되도록 함으로써, DRAM들(1500a, 1500b)의 로우 해머를 완화할 수 있다.
본 발명은 도면에 도시된 제한된 수의 실시예들과 관련하여 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변경들 및 변형들, 그리고 균등한 다른 실시예들이 가능하다는 점을 인식할 것이다. 따라서, 첨부된 청구항들은 본 발명의 진정한 사상 및 범위 내에 속하는 바와 같은 모든 그러한 변경들 및 변형들을 커버하는 것을 의도한다.

Claims (20)

  1. 메모리 장치에 있어서,
    복수의 메모리 셀 로우들을 포함하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 대한 억세스 어드레스들을 모니터링하여 제1 해머 어드레스 및 제2 해머 어드레스를 검출하는 제어 로직 회로,
    상기 제1 해머 어드레스는 제1 로우 해머 모니터링 시간 프레임 동안 억세스되는 메모리 셀 로우들의 로우 해머 어드레스를 포함하고,
    상기 제2 해머 어드레스는 제2 로우 해머 모니터링 시간 프레임 동안 랜덤 샘플링 시점들에서 억세스되는 메모리 셀 로우들의 랜덤 샘플링 어드레스를 포함하고; 및
    상기 제1 및 상기 제2 해머 어드레스들 각각에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 리프레쉬하는 리프레쉬 제어 회로를 포함하는 메모리 장치.
  2. 제1항에 있어서,
    상기 제1 및 제2 로우 해머 모니터링 시간 프레임들은 동일하게 설정되는 메모리 장치.
  3. 제2항에 있어서,
    상기 제어 로직 회로는 상기 메모리 장치에 규정된 리프레쉬 윈도우 시간(tREFw)을 상기 제1 및 제2 로우 해머 모니터링 시간 프레임들로 이용하는 메모리 장치.
  4. 제1항에 있어서,
    상기 제2 로우 해머 모니터링 시간 프레임은 상기 제1 로우 해머 모니터링 시간 프레임 보다 길게 설정되는 메모리 장치.
  5. 제1항에 있어서,
    상기 제어 로직 회로는 상기 메모리 장치에 규정된 기본 리프레쉬 레이트 시간(tREFi)을 상기 제1 로우 해머 모니터링 시간 프레임으로 이용하는 메모리 장치.
  6. 제1항에 있어서,
    상기 제어 로직 회로는 상기 메모리 장치에 규정된 리프레쉬 윈도우 시간(tREFw)을 상기 제2 로우 해머 모니터링 시간 프레임으로 이용하는 메모리 장치.
  7. 제1항에 있어서,
    상기 제어 로직 회로는 상기 제1 로우 해머 모니터링 시간 프레임 동안 억세스 어드레스들의 억세스 회수를 카운트한 제1 카운트 값들을 저장하고, 상기 제1 카운트 값들을 선별하고, 선별된 제1 카운트 값들의 상기 억세스 어드레스들을 상기 로우 해머 어드레스로 설정하는 메모리 장치.
  8. 제7항에 있어서,
    상기 리프레쉬 제어 회로는 상기 제1 해머 어드레스에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우의 어드레스를 나타내는 상기 리프레쉬 어드레스 신호를 발생하는 메모리 장치.
  9. 제7항에 있어서,
    상기 제어 로직 회로는 상기 제1 로우 해머 모니터링 시간 프레임 경과 후, 상기 제1 카운트 값을 리셋시키는 메모리 장치.
  10. 제1항에 있어서,
    상기 제어 로직 회로는 랜덤마이저를 이용하여 상기 랜덤 샘플링 시점들을 상기 제2 로우 해머 모니터링 시간 프레임 동안에 복수개 제공하고,
    상기 복수개의 랜덤 샘플링 시점들에서 억세스 어드레스들을 상기 랜덤 샘플링 어드레스로 설정하는 메모리 장치.
  11. 제10항에 있어서,
    상기 랜덤마이저는 선형 피드백 쉬프트 레지스터의 출력 비트들에 의해 상기랜덤 샘플링 시점들이 설정되도록 구성되는 메모리 장치.
  12. 제1항에 있어서,
    상기 제어 로직 회로는 상기 제1 해머 어드레스와 상기 제2 해머 어드레스를 비교하여 동일한 해머 어드레스의 수를 카운트한 제2 카운트 값을 저장하고, 상기 제2 카운트 값이 임계치를 초과할 때 상기 제2 해머 어드레스를 악성 해머 어드레스를 제공하는 메모리 장치.
  13. 제12항에 있어서,
    상기 리프레쉬 제어 회로는 상기 악성 해머 어드레스에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 리프레쉬하는 메모리 장치.
  14. 제12항에 있어서,
    상기 제어 로직 회로는 상기 악성 해머 어드레스에 대한 정보를 메모리 콘트롤러에게 알리는 메모리 장치.
  15. 제12항에 있어서,
    상기 제어 로직 회로는 상기 제2 로우 해머 모니터링 시간 프레임 경과 후, 상기 제2 카운트 값을 리셋시키는 메모리 장치.
  16. 메모리 장치에 있어서,
    복수의 메모리 셀 로우들을 포함하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에 대한 제1 로우 해머 모니터링 시간 프레임 동안의억세스 어드레스들을 모니터링한 로우 해머 어드레스에 기초하여 랜덤 샘플링 시점들에서의 악성 로우 해머 어드레스를 검출하는 제어 로직 회로; 및
    상기 로우 해머 어드레스 또는 상기 악성 로우 해머 어드레스에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 리프레쉬하는 리프레쉬 제어 회로를 포함하고,
    상기 제어 로직 회로는,
    상기 랜덤 샘플링 시점들에서 억세스되는 메모리 셀 로우들의 랜덤 샘플링 어드레스를 저장하는 제1 레지스터; 및
    상기 랜덤 샘플링 어드레스와 상기 로우 해머 어드레스를 비교하여 동일한 해머 어드레스를 상기 악성 로우 해머 어드레스로 판단하는 비교부를 포함하는 메모리 장치.
  17. 제16항에 있어서,
    상기 제어 로직 회로는 제2 로우 해머 모니터링 시간 프레임 동안 상기 랜덤 샘플링 시점들을 복수개 제공하는 랜덤마이저를 더 포함하고,
    상기 랜덤마이저는 선형 피드백 쉬프트 레지스터의 출력 비트들에 의해 상기 랜덤 샘플링 시점들이 설정되도록 구성되는 메모리 장치.
  18. 제16항에 있어서,
    상기 제어 로직 회로는 상기 메모리 장치에 규정된 리프레쉬 윈도우 시간(tREFw)을 상기 제1 및 제2 로우 해머 모니터링 시간 프레임들로 이용하는 메모리 장치.
  19. 제16항에 있어서,
    상기 제어 로직 회로는 상기 메모리 장치에 규정된 기본 리프레쉬 레이트 시간(tREFi)을 상기 제1 로우 해머 모니터링 시간 프레임으로 이용하고, 상기 메모리 장치에 규정된 리프레쉬 윈도우 시간(tREFw)을 상기 제2 로우 해머 모니터링 시간 프레임으로 이용하는 메모리 장치.
  20. 복수의 메모리 셀 로우들을 포함하는 메모리 장치의 동작 방법에 있어서,
    상기 메모리 셀 어레이에 대한 억세스 어드레스들을 모니터링하여 제1 해머 어드레스 및 제2 해머 어드레스를 검출하는 단계,
    상기 제1 해머 어드레스는 제1 로우 해머 모니터링 시간 프레임 동안 억세스되는 메모리 셀 로우들의 로우 해머 어드레스를 포함하고,
    상기 제2 해머 어드레스는 제2 로우 해머 모니터링 시간 프레임 동안 랜덤 샘플링 시점들에서 억세스되는 메모리 셀 로우들의 랜덤 샘플링 어드레스를 포함하고; 및
    상기 제1 및 상기 제2 해머 어드레스들 각각에 상응하는 메모리 셀 로우와 물리적으로 인접한 메모리 셀 로우를 리프레쉬하는 단계를 포함하는 메모리 장치의 동작 방법.
KR1020210126722A 2021-09-24 2021-09-24 로우 해머 제어 방법 및 메모리 장치 KR20230043618A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210126722A KR20230043618A (ko) 2021-09-24 2021-09-24 로우 해머 제어 방법 및 메모리 장치
US17/871,917 US11961548B2 (en) 2021-09-24 2022-07-23 Memory device and method for controlling row hammer
TW111135679A TW202329100A (zh) 2021-09-24 2022-09-21 記憶體裝置及操作記憶體裝置的方法
CN202211167816.4A CN115862700A (zh) 2021-09-24 2022-09-23 控制行锤的存储设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210126722A KR20230043618A (ko) 2021-09-24 2021-09-24 로우 해머 제어 방법 및 메모리 장치

Publications (1)

Publication Number Publication Date
KR20230043618A true KR20230043618A (ko) 2023-03-31

Family

ID=85661138

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210126722A KR20230043618A (ko) 2021-09-24 2021-09-24 로우 해머 제어 방법 및 메모리 장치

Country Status (4)

Country Link
US (1) US11961548B2 (ko)
KR (1) KR20230043618A (ko)
CN (1) CN115862700A (ko)
TW (1) TW202329100A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230021496A (ko) * 2021-08-05 2023-02-14 삼성전자주식회사 로우 해머 제어 방법 및 메모리 장치
KR20230069567A (ko) * 2021-11-12 2023-05-19 에스케이하이닉스 주식회사 메모리 장치 및 그의 동작 방법
KR20230076039A (ko) * 2021-11-23 2023-05-31 에스케이하이닉스 주식회사 메모리

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
US9032141B2 (en) 2012-11-30 2015-05-12 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
US10534686B2 (en) 2014-01-30 2020-01-14 Micron Technology, Inc. Apparatuses and methods for address detection
KR102399475B1 (ko) * 2015-12-28 2022-05-18 삼성전자주식회사 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치
KR102329673B1 (ko) * 2016-01-25 2021-11-22 삼성전자주식회사 해머 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
KR20180075761A (ko) 2016-12-26 2018-07-05 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템, 및, 그의 리프레시 동작방법
US11054995B2 (en) 2018-09-07 2021-07-06 Micron Technology, Inc. Row hammer protection for a memory device
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
US10916293B1 (en) 2020-01-21 2021-02-09 Elite Semiconductor Memory Technology Inc. Target row refresh mechanism capable of effectively determining target row address to effectively mitigate row hammer errors without using counter circuit
CN114420181B (zh) * 2022-01-14 2023-09-08 长鑫存储技术有限公司 刷新电路和存储器
US20230326511A1 (en) * 2022-04-11 2023-10-12 Samsung Electronics Co., Ltd. Semiconductor memory device and memory system including the same

Also Published As

Publication number Publication date
CN115862700A (zh) 2023-03-28
US20230094684A1 (en) 2023-03-30
TW202329100A (zh) 2023-07-16
US11961548B2 (en) 2024-04-16

Similar Documents

Publication Publication Date Title
KR20230043618A (ko) 로우 해머 제어 방법 및 메모리 장치
US20230178140A1 (en) Memory devices and methods for controlling row hammer
KR20170020607A (ko) 플렉시블 리프레쉬 스킵 영역을 운영하는 반도체 메모리 장치
US20230205428A1 (en) Memory module and memory system including row hammer counter chip and operating method thereof
US20230128653A1 (en) Memory device and method for controlling row hammer
US11967352B2 (en) Method of controlling row hammer and a memory device
EP4095701A1 (en) Memory device and method of controlling row hammer
US20230094148A1 (en) Memory device for reducing timing parameters and power consumption for internal processing operation and method of implementing the same
KR20230065470A (ko) 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US20240096391A1 (en) Memory devices and methods thereof for managing row hammer events therein
KR20230086543A (ko) 로우 해머 제어 방법 및 메모리 장치
TW202414406A (zh) 記憶體裝置、操作記憶體裝置的方法以及電子裝置
US20240096395A1 (en) Device, operating method, memory device, and cxl memory expansion device
US20240160732A1 (en) Memory device, operating method of memory device, and memory system
US11922992B2 (en) Memory device including sub word line driving circuit
KR20220159860A (ko) 로우 해머 제어 방법 및 메모리 장치
US20230128183A1 (en) Backward compatible processing-in-memory (pim) protocol
US20220199150A1 (en) Memory device and method of refreshing memory device based on temperature
US20240071446A1 (en) Apparatuses and methods for providing command having on-the-fly (otf) latency to memory
US20230376414A1 (en) Memory systems and controllers for generating a command address and methods of operating same
KR20240068513A (ko) 메모리 장치, 메모리 장치의 동작 방법 및 메모리 시스템
KR20230060434A (ko) 구버전과 호환되는 PIM(Processing-In-Memory) 프로토콜
KR20230086560A (ko) 다수의 채널을 갖는 메모리 시스템의 테스트
CN118016117A (en) Memory device, operation method of memory device and memory system