KR20230037992A - 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법 - Google Patents

로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20230037992A
KR20230037992A KR1020210121181A KR20210121181A KR20230037992A KR 20230037992 A KR20230037992 A KR 20230037992A KR 1020210121181 A KR1020210121181 A KR 1020210121181A KR 20210121181 A KR20210121181 A KR 20210121181A KR 20230037992 A KR20230037992 A KR 20230037992A
Authority
KR
South Korea
Prior art keywords
entries
row
bits
masking
entry
Prior art date
Application number
KR1020210121181A
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 KR1020210121181A priority Critical patent/KR20230037992A/ko
Priority to US17/939,327 priority patent/US12014764B2/en
Priority to CN202211106169.6A priority patent/CN115798537A/zh
Publication of KR20230037992A publication Critical patent/KR20230037992A/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/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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/0658Controller construction arrangements
    • 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
    • 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/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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

본 개시의 예시적 실시예에 따른 로우 해머 방지 회로는, 복수의 엔트리들에 대한 어드레스 비트 및 액세스 횟수를 나타내는 카운트 값을 저장하는 제1 테이블, 수의 엔트리들 각각은 기 액세스 요청된 타겟 로우들에 상응하고, 리프레시 구간 동안 상기 복수의 엔트리들 각각이 2회 이상 액세스 되었는지 여부를 나타내는 위험 비트 및 상기 위험 비트 중 로직 로우의 비트 개수를 나타내는 세이프 비트 카운터를 포함하는 제2 테이블 및 상기 세이프 비트 카운터의 값에 기반하여 상기 제1 테이블에 저장된 복수의 엔트리들 중 마스킹 비교를 수행할 마스킹 엔트리들을 식별하고, 액세스 요청된 타겟 로우의 어드레스 비트와 상기 마스킹 엔트리들의 어드레스 비트 간에 최상위 비트를 제외한 나머지 비트들의 일치 여부에 따라 히트/미스를 판단하고, 상기 마스킹 엔트리들 중 히트 횟수가 임계 값을 초과하는 경우, 상기 임계 값을 초과하는 마스킹 엔트리에 상응하는 로우들의 인접 로우들에 대한 추가 리프레시를 지시하는 제어 신호를 생성하는 로우 해머 방지 로직을 포함할 수 있다.

Description

로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법{MEMORY DEVICE INCLUDING ROW HAMMER PREVENTING CIRCUITRY AND OPERATING METHOD THEREOF}
본 개시의 기술적 사상은 메모리 장치에 관한 것으로, 보다 구체적으로는 로우 해머를 방지하기 위한 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법에 관한 것이다.
컴퓨터 기술의 발달과 더불어, 칩에 물리적 공격뿐만 아니라, 소프트웨어적으로 저장된 정보에 불법적으로 접근하거나 유해한 영향을 끼치는 해킹(hacking) 기술 이 발전하고 있다.
DRAM(dynamic random access memory)와 같은 휘발성 메모리 장치는 주기적으로 리프레시 동작을 수행하여 저장된 데이터를 유지할 수 있다. 메모리 장치를 제조하는 제조 공정이 점점 미세화되어 워드라인들 사이의 간격이 점점 좁아지게 되면서, 하나의 워드라인의 전압 분포에 의하여 인접 워드라인에 연결된 메모리 셀의 전하가 받는 영향은 증가하게 되었다. 이에 따라, 하나의 워드라인이 집중적으로 액세스되는 경우, 하나의 워드라인의 활성화 상태의 전압으로 인하여 인접한 워드라인에 연결된 메모리 셀들에 저장된 데이터가 반전되는 비트 플립(bit-flip)되거나, 소실되는 로우 해머(Row Hammer) 현상이 발생하는 바, 이를 해결하기 위한 다양한 방안이 요구될 수 있다.
본 개시의 기술적 사상은 본 개시의 기술적 사상이 해결하고자 하는 과제는 로우 해머링을 완화시키는 메모리 장치를 제공하는 데 있다.
본 개시의 예시적 실시예에 따른 로우 해머 방지 회로는, 복수의 엔트리들에 대한 어드레스 비트 및 액세스 횟수를 나타내는 카운트 값을 저장하는 제1 테이블, 수의 엔트리들 각각은 기 액세스 요청된 타겟 로우들에 상응하고, 리프레시 구간 동안 상기 복수의 엔트리들 각각이 2회 이상 액세스 되었는지 여부를 나타내는 위험 비트 및 상기 위험 비트 중 로직 로우의 비트 개수를 나타내는 세이프 비트 카운터를 포함하는 제2 테이블 및 상기 세이프 비트 카운터의 값에 기반하여 상기 제1 테이블에 저장된 복수의 엔트리들 중 마스킹 비교를 수행할 마스킹 엔트리들을 식별하고, 액세스 요청된 타겟 로우의 어드레스 비트와 상기 마스킹 엔트리들의 어드레스 비트 간에 최상위 비트를 제외한 나머지 비트들의 일치 여부에 따라 히트/미스를 판단하고, 상기 마스킹 엔트리들 중 히트 횟수가 임계 값을 초과하는 경우, 상기 임계 값을 초과하는 마스킹 엔트리에 상응하는 로우들의 인접 로우들에 대한 추가 리프레시를 지시하는 제어 신호를 생성하는 로우 해머 방지 로직을 포함할 수 있다.
본 개시의 예시적 실시예에 따른 메모리 장치는, 복수의 로우 메모리들을 포함하는 메모리 셀 어레이 및 복수의 엔트리들에 대한 어드레스 비트 및 액세스 횟수를 나타내는 카운트 값, 리프레시 구간 동안 상기 복수의 타겟 로우들 각각이 2회 이상 액세스 되었는지 여부를 나타내는 위험 비트 및 상기 위험 비트 중 로직 로우의 비트 개수를 나타내는 세이프 비트 카운터를 포함하는 로우 해머 테이블과, 상기 세이프 비트 카운터의 값에 기반하여 상기 제1 테이블에 저장된 복수의 엔트리들 중 마스킹 비교를 수행할 마스킹 엔트리들을 식별하고, 액세스 요청된 타겟 로우의 어드레스 비트와 상기 마스킹 엔트리들의 어드레스 비트 간에 최상위 비트를 제외한 나머지 비트들의 일치 여부에 따라 히트/미스를 판단하는 로우 해머 방지 회로를 포함하는 메모리 컨트롤러를 포함할 수 있다.
본 개시의 예시적 실시예에 따른 메모리 장치의 동작 방법은, 타겟 로우에 대한 액세스 커맨드를 수신하는 단계, 기 액세스 요청된 로우들에 상응하는 복수의 엔트리들 중 마스킹 엔트리를 식별하는 단계, 상기 마스킹 엔트리의 어드레스 비트와 상기 타겟 로우의 어드레스 비트 간에 최상위 비트를 제외한 나머지 비트가 일치하는지 비교하는 제1 비교를 수행하는 단계, 상기 제1 비교 결과, 히트가 발생한 경우, 상기 발생한 히트에 상응하는 마스킹 엔트리의 액세스 횟수를 증가시키는 단계 및 상기 액세스 횟수가 임계 값을 초과하는 경우, 상기 마스킹 엔트리에 상응하는 2개의 로우에 각각 인접하는 로우들에 대한 추가 리프레시를 지시하는 제어 신호를 생성하는 단계를 포함할 수 있다.
본 개시의 예시적 실시예에 따른 로우 해머 방지 회로는, 테이블의 크기를 늘리지 않고 더 많은 타겟 로우들을 관리할 수 있다.
도 1은 본 개시의 일실시예에 따른 메모리 시스템의 개략적인 구성을 도시한 블록도이다.
도 2는 본 개시의 예시적 실시예들에 따른 로우 해머 방지 회로의 블록도이다.
도 3a는 비교 예에 따른 제1 테이블의 데이터 변화를 도시한다.
도 3b는 본 개시의 에시적 실시예에 따른 제1 테이블(210)의 데이터 변화를 도시한다.
도 3c는 본 개시의 예시적인 실시예들에 따른 제1 테이블(210)의 데이터 변화를 도시한다.
도 4는 본 개시의 예시적 실시예들에 따른 로우 해머 방지 회로(25)의 동작 방법을 도시하는 순서도이다.
도 5는 본 개시의 예시적 실시예들에 따른 마스킹 엔트리를 식별하기 위한 세부 순서도이다.
도 6은 본 개시의 예시적 실시예들에 따른 메모리 시스템의 신호 교환도를 도시한다.
도 7은 본 개시의 예시적 실시예들에 따른 리프레시 구간별 마스킹 엔트리의 개수를 도시한다.
이하, 첨부한 도면을 참조하여 본 개시의 실시예들에 대해 상세히 설명한다.
도 1은 본 개시의 일실시예에 따른 메모리 시스템의 개략적인 구성을 도시한 블록도이다.
도 1을 참조하면, 메모리 시스템은 메모리 장치(10) 및 메모리 컨트롤러(20)를 포함할 수 있다.
다양한 실시예들에 따라, 메모리 컨트롤러(20)는 호스트 장치(HOST)와 데이터를 송수신할 수 있고, 메모리 장치(10)로 커맨드(CMD) 및 어드레스(ADDR)를 송신할 수 있다. 메모리 컨트롤러(20)는 커맨드 생성기(21), 어드레스 생성기(22), 및 디바이스 인터페이스(23) 및 호스트 인터페이스(24)를 포함할 수 있다.
다양한 실시예들에 따라, 호스트 인터페이스(24)는 호스트 장치로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신할 수 있고, 커맨드 생성기(21)는 호스트 장치(HOST)로부터 수신한 커맨드(CMD)를 디코딩함으로써 액세스 커맨드를 생성할 수 있다. 디바이스 인터페이스(23)는 상기 디코딩에 기반하여 생성된 액세스 커맨드를 메모리 장치(10)에게 전달할 수 있다. 상기 액세스 커맨드는 메모리 장치(10)가 어드레스(ADDR)에 대응되는 메모리 셀 어레이(11)의 로우에 액세스함으로써 데이터를 독출하거나 기입하는 것을 지시하는 신호일 수 있다.
다양한 실시예들에 따라, 어드레스 생성기(22)는 호스트 인터페이스(24)로부터 수신한 어드레스(ADDR)를 디코딩함으로써 메모리 셀 어레이 중 액세스할 로우 어드레스 및 컬럼 어드레스를 생성할 수 있다. 아울러, 메모리 장치(10)는 메모리 셀 어레이(11)가 복수의 뱅크들을 포함하는 경우 액세스할 뱅크의 어드레스를 생성할 수 있다.
로우 해머 방지 회로(25)는 및 로우 해머 리프레시 커맨드(Row hammer refresh command)를 생성하여 디바이스 인터페이스(23)를 통해 메모리 장치(10)로 제공할 수 있다. 로우 해머 리프레시 커맨드는 짧은 시간 동안 집중 액세스되는 워드 라인들과 인접한 워드 라인에 대해 추가적인 리프레시 동작을 수행하는 것을 지시하는 신호일 수 있다.
메모리 컨트롤러(20)는 디바이스 인터페이스(23)를 통해 각종 제어 신호를 메모리 장치(10)로 제공함으로써 기입 및 독출 등의 메모리 동작을 제어할 수 있다. 예컨대, 메모리 컨트롤러(20)는 프리차지 커맨드를 메모리 장치(10)로 제공할 수 있다. 프리자치 커맨드는 기입 또는 독출이 완료된 후 메모리 셀 어레이(11)의 상태를 액티브 상태에서 스탠바이 상태로 전환하기 위한 커맨드일 수 있다.
일 실시예에 따르면, 메모리 컨트롤러(20)는 액세스 커맨드를 메모리 장치(10)로 제공하는 경우 액세스 커맨드와 함께 액세스 대상이 되는 로우의 어드레스(ADDR)를 메모리 장치(10)로 송신할 수 있다. 메모리 컨트롤러(20)가 로우 해머 리프레시 커맨드를 메모리 장치(10)로 제공하는 경우 로우 해머 리프레시 커맨드와 함께 액세스가 집중되는 타겟 로우들의 어드레스들을 메모리 장치(10)로 송신할 수 있다. 메모리 장치(10)는 로우 해머 리프레시 커맨드 및 타겟 로우들의 어드레스들을 수신한 경우, 타겟 로우에 대응되는 워드 라인의 인접 워드 라인들에 대해 추가 리프레시 동작을 수행할 수 있다.
메모리 장치(10)는 반도체 소자를 기반으로 하는 저장 장치로, 메모리 셀 어레이(11), 어드레스 버퍼(12), 및 제어 회로(14)를 포함할 수 있다.
일 실시예에 따라, 메모리 장치(10)는 DRAM(Dynamic Random Access Memory), SDRAM(Synchronous DRAM), SRAM(Static RAM), DDR SDRAM(Double Date Rate SDRAM), DDR2 SDRAM, DDR3 SDRAM, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM) 등과 같은 랜덤 액세스 메모리(RAM, Random Access Memory) 장치로 제공될 수 있다. 또한, 메모리 장치(10)는 리프레시 동작이 필요한 임의의 메모리 장치(10)가 적용될 수도 있다. 예컨데, 비휘발성 메모리로서 저항성 메모리 장치(10)가 리프레시 동작을 수행하는 경우, 메모리 장치(10)는 비휘발성 메모리 장치(10)일 수 있다. 메모리 장치(10)는 메모리 컨트롤러(20)로부터 수신된 어드레스(ADDR) 및 커맨드(CMD)에 응답하여, 데이터 라인들을 통해 데이터를 수신하거나 출력하거나, 리프레시 동작을 수행할 수 있다.
메모리 셀 어레이(11)는 복수의 메모리 셀들을 포함하고, 복수의 메모리 셀들은 워드 라인들 및 비트 라인들에 연결될 수 있다. 제어 회로(14)는 메모리 컨트롤러(20)로부터 수신한 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 메모리 셀 어레이(11)에 데이터를 기입하거나, 메모리 셀 어레이(11)로부터 데이터를 독출하거나, 메모리 셀 어레이(11)에 포함된 메모리 셀들을 리프레시하기 위한 제어 신호(CTRL)를 로우 디코더 및 컬럼 디코더로 제공할 수 있다. 이로써, 제어 회로(14)는 메모리 셀 어레이(11)의 데이터를 처리하기 위한 전반적인 동작을 수행할 수 있다.
메모리 장치(10)는 메모리 컨트롤러(20)의 노멀 리프레시 커맨드에 대응하여 메모리 셀 어레이(11)의 메모리 셀들 중 적어도 일부에 대해 노멀 리프레시 동작을 수행할 수 있다. 이 때, 메모리 장치(10)가 노멀 리프레시 동작을 수행하는 경우 메모리 셀 어레이(11)의 메모리 셀 로우들을 순차적으로 리프레시할 수 있다. 메모리 장치(10)는 메모리 컨트롤러(20)의 로우 해머 리프레시 커맨드에 대응하여 메모리 셀 어레이(11)의 메모리 셀들 중 적어도 일부에 대해 리프레시 동작을 수행할 수 있다. 메모리 장치(10)가 로우 해머 리프레시 커맨드에 대응하여 리프레시 동작을 수행하는 경우 타겟 로우에 대응되는 워드 라인과 인접한 워드 라인들에 대해 리프레시 동작을 수행할 수 있다.
도 2는 본 개시의 예시적 실시예들에 따른 로우 해머 방지 회로의 블록도이다.
도 2를 참조하면, 로우 해머 방지 회로(25)는 로우 해머 방지 로직(100)과 제1 테이블(210) 및 제2 테이블(220)을 포함할 수 있다.
제1 테이블(210)은 어드레스 비트들 및 각각의 어드레스 비트들이 얼마나 액세스 되었는지 나타내는 카운터 값을 저장할 수 있다. 일 실시예에 따라 제1 테이블(210)은 미리 정의된 크기의 비트들을 저장할 수 있다. 어드레스 비트열은 M비트에 상응할 수 있다. 상기 M비트는 어드레스 주소를 표현할 수 있는 최대 정수에 상응할 수 있다. 예를 들어, 최대 어드레스가 1023인 경우, 상기 M은 10에 상응할 수 있다. 카운터 비트는 N비트에 상응할 수 있다. 상기 카운터 비트는, 상기 어드레스 비트열에 상응하는 로우 어드레스가 얼마나 액세스되었는지 나타내는 값일 수 있다. 상기 N비트는 측정할 액세스 횟수의 최대 값에 기반하여 결정될 수 있다. 예를 들어, 임의의 메모리 어드레스로 액세스하는 횟수가 최대 500번으로 설정된 경우, 상기 N은 9에 상응할 수 있다. 하나의 로우 어드레스 비트 및 이에 상응하는 카운터 비트는 하나의 엔트리로 지칭될 수 있다. 제1 테이블(210)은 복수의 엔트리들을 포함할 수 있다. 즉, 제1 테이블(210)은 로우 해머링의 대상이 되는 타겟 로우를 관리하기 위한 복수의 어드레스들을 저장할 수 있다. 각각의 로우마다 어드레스 비트 및 카운터 비트의 M+N비트를 포함하므로, 제1 테이블(210)이 K개의 로우들을 관리하는 경우, 제1 테이블(210)은 K*(M+N)비트를 저장할 수 있다.
제2 테이블(220)은 위험 벡터 비트행(222) 및 세이프 비트 카운터(224)를 저장할 수 있다. 세이프 비트 카운터(224)는 제1 테이블(210)에 K개의 엔트리가 저장될 때,
Figure pat00001
개의 레지스터들을 포함할 수 있다. 상기 위험 벡터 비트행(222)은, 상기 제1 테이블(210)의 엔트리 마다 1비트씩 할당되는 세이프 비트들을 포함할 수 있다. 위험 벡터 비트행(222)은 상기 엔트리 개수와 동일한 비트에 상응할 수 있다. 예를 들어, 제1 테이블(210)이 K개의 로우들을 관리하는 경우, 세이프 비트는 K비트일 수 있다. 상기 세이프 비트는, 각각의 엔트리가 2회 이상 액세스 되었는지 나타내는 비트일 수 있다. 예를 들어, 위험 벡터 비트행(222) 중 제1 세이프 비트는 제1 테이블(210) 중 제1 엔트리에 저장된 어드레스가 2회 이상 액세스된 경우, 로직 하이 또는 "1"의 값을 가질 수 있다. 다른 예를 들어, 위험 벡터 비트행(222) 중 제2 세이프 비트는 제1 테이블(210) 중 제2 엔트리에 저장된 어드레스가 1회만 액세스되었거나 또는 0회 액세스된 경우, 로직 로우 또는 "0"의 값을 가질 수 있다.
세이프 비트 카운터(224)는 위험 벡터 비트행(222)에 포함되는 세이프 비트들 중 로직 로우 또는 "0" 값을 갖는 비트들의 개수를 나타낼 수 있다. 다양한 실시예들에 따라, 위험 벡터 비트행(222)의 크기 및 세이프 비트 카운터(224)의 개수는 제1 테이블(210)이 관리하는 엔트리들의 개수에 의해 결정될 수 있다. 예를 들어, 제1 테이블(210)이
Figure pat00002
개의 엔트리들을 저장하는 경우, 위험 벡터 비트행(222)은
Figure pat00003
개의 세이프 비트들을 포함할 수 있다. 세이프 비트 카운터(224)는
Figure pat00004
개의 비트를 저장하는 레지스터들을 포함할 수 있다.
다양한 실시예들에 따라, 세이프 비트 카운터(224)는 리프레시 구간이 종료될때마다 업데이트될 수 있다. 선행 리프레시 구간 동안 로우 해머링에 기반한 액세스에 의해 위험 벡터 비트행(222) 값이 변경될 수 있다. 선행 리프레시 구간이 종료하는 시점에, 세이프 비트 카운터(224)는 위험 벡터 비트행(222)의 비트들 중 "0" 또는 로직 로우의 비트 개수를 식별하고, 세이프 비트 카운터(224)의 값을 업데이트할 수 있다. 세이프 비트 카운터(224)의 값은 후행 리프레시 구간이 시작할 때, 제1 테이블(210)에 포함되는 복수의 엔트리 중 몇 개의 엔트리에 대하여 비트 마스킹을 수행할 지 가변적으로 결정하는 기준이 될 수 있다. 비트 마스킹에 대한 구체적인 설명은 후술하기로 한다.
로우 해머 방지 로직(100)은 제1 테이블(210) 및 제2 테이블(220)을 참조하여, 로우 해머 리프레시 커맨드를 생성할 수 있다. 일 실시예에 따라, 로우 해머 방지 로직(100)은 액세스 커맨드 및 로우 어드레스 정보를 수신하여, 제1 테이블(210)을 업데이트할 수 있다. 로우 해머 방지 로직(100)은 액세스 요청된 로우 어드레스가 제1 테이블(210)에 포함되어 있는지 판단할 수 있다. 이하, 액세스 요청된 로우 어드레스는 타겟 로우 어드레스로 지칭될 수 있다.
타겟 로우 어드레스가 제1 테이블(210)의 엔트리들 중 어느 하나의 엔트리와 동일한 경우, 로우 해머 방지 로직(100)은 타겟 로우 어드레스와 동일한 어드레스 비트를 가지는 상기 어느 하나의 엔트리에 상응하는 카운터 값을 1만큼 증가시킬 수 있다.
타겟 로우 어드레스가 제1 테이블(210)의 엔트리들의 어드레스 비트와 모두 상이한 경우, 로우 해머 방지 로직(100)은 상기 타겟 로우 어드레스를 새로운 엔트리로서 제1 테이블(210)에 업데이트할 수 있다.
일 실시예에 따라, 제1 테이블(210)의 엔트리가 가득 차있는 경우, 로우 해머 방지 로직(100)은 제1 테이블(210)의 엔트리들 중 어느 하나를 삭제하고, 타겟 로우 어드레스를 새롭게 기입할 수 있다. 로우 해머 방지 로직(100)은 제1 테이블(210)의 엔트리들 중 카운터 값이 가장 작은 엔트리를 삭제할 수도 있으나, 이에 제한되는 것은 아니다. 로우 해머 방지 로직(100)이 제1 테이블(210)의 엔트리들 중 어느 하나를 삭제하는 기준은 다양할 수 있다. 예를 들어, 로우 해머 방지 로직(100)은 제1 테이블(210)의 엔트리들 중 가장 최근에 기입된 엔트리를 삭제하고 타겟 로우 어드레스를 새롭게 기입할 수도 있을 것이다.
일 실시예에 따라, 로우 해머 방지 로직(100)은 미리 결정된 임계 값을 초과하는 카운터 값의 엔트리가 발생하는 경우, 상응하는 엔트리의 로우 어드레스 비트와 로우 해머 리프레시 커맨드를 함께 메모리 장치(10)에게 전송할 수 있다. 메모리 장치(10)는 상기 로우 해머 리프레시 커맨드를 수신하고, 함께 수신된 로우 어드레스 비트에 기반하여 타겟 로우 어드레스를 식별할 수 있다. 메모리 장치(10)는 식별된 타겟 로우 어드레스의 인접 로우들에 대하여 추가 리프레시를 수행할 수 있다.
도 3a는 비교 예에 따른 제1 테이블(210)의 데이터 변화를 도시한다.
도 3a를 참조하면, T1 시점에 제1 테이블(210)에 저장된 엔트리들이 도시된다. 이하, 설명의 편의를 위하여, 제1 테이블(210)은 4개의 엔트리들을 저장하는 것을 기준으로 설명하기로 한다. 즉, 로우 해머 방지 로직(100)은 액세스 요청된 타겟 로우 어드레스를 4개만 저장하여 로우 해머를 완화시킬 수 있다. 예를 들어, 제1 엔트리는 0x0010의 어드레스 비트에 상응하는 제1 로우가 25번 액세스되었음을 나타낼 수 있다. 제2 엔트리는 0x0110의 어드레스 비트에 상응하는 로우가 33번 액세스되었음을 나타낼 수 있다. 제3 엔트리는 0x1100의 어드레스 비트에 상응하는 로우가 16번 액세스되었음을 나타낼 수 있다. 제4 엔트리는 0x1110의 어드레스 비트에 상응하는 로우가 11번 액세스되었음을 나타낼 수 있다.
T2 시점에 타겟 로우에게 엑세스를 요청하는 커맨드가 수신될 수 있다. 로우 해머 방지 로직(100)은 0x1010의 어드레스 비트를 수신하고, 제1 테이블(210)의 엔트리들의 어드레스 비트와 비교를 수행할 수 있다. 로우 해머 방지 로직(100)은 제1 테이블(210)의 엔트리들 중 0x1010과 동일한 어드레스 비트를 가지는 엔트리가 없음을 식별하고, 0x1110의 제4 엔트리를 삭제하여 0x1010의 어드레스 비트를 새롭게 기입할 수 있다. 즉, 제1 테이블(210)이 관리하는 엔트리들의 개수가 부족하거나, 또는 제1 테이블(210)의 저장 공간이 부족한 경우, 기존에 로우 해머링의 타겟이 되었던 타겟 로우 및 타겟 로우가 몇번 액세스되었는지 나타내는 카운트 정보가 소실될 수 밖에 없다. 따라서, 도 3a의 로우 해머 방지 로직(100)에 기반하는 경우, 실제로 로우 해머링 공격에 취약한 로우가 있음에도 저장 공간의 부족으로 인해 로우 해머링 공격에 취약한 것을 인지하지 못할 수 있다.
도 3b는 본 개시의 에시적 실시예에 따른 제1 테이블(210)의 데이터 변화를 도시한다.
도 3b를 참조하면, T3 시점에 제1 테이블(210)에 저장된 엔트리들이 도시된다. 이하, 설명의 편의를 위하여, 제1 테이블(210)은 4개의 엔트리들을 저장할 수 있는 것을 기준으로 설명하기로 한다. 제1 테이블(210)은 4개의 엔트리들을 저장할 수 있지만, T3 시점에 제1 테이블(210)은 3개의 엔트리들을 저장할 수 있다. 즉, 제1 테이블(210)은 저장 공간을 모두 사용하지 않은 상태일 수 있다. 예를 들어, 제1 엔트리는 0x0010의 어드레스 비트에 상응하는 제1 로우가 25번 액세스되었음을 나타낼 수 있다. 제2 엔트리는 0x0110의 어드레스 비트에 상응하는 로우가 33번 액세스되었음을 나타낼 수 있다. 제3 엔트리는 0x1100의 어드레스 비트에 상응하는 로우가 16번 액세스되었음을 나타낼 수 있다. 제4 엔트리는 NULL 상태일 수 있다.
T4 시점에 타겟 로우에게 엑세스를 요청하는 커맨드가 수신될 수 있다. 로우 해머 방지 로직(100)은 0x1010의 어드레스 비트를 수신하고, 제1 테이블(210)의 엔트리들의 어드레스 비트와 비교를 수행할 수 있다. 로우 해머 방지 로직(100)은 제1 테이블(210)의 엔트리들 중 0x1010과 동일한 어드레스 비트를 가지는 엔트리가 없음을 식별하고, 0x1010의 어드레스 비트를 새롭게 기입할 수 있다. 이 때, 도 3a와 다르게, 제1 테이블(210)의 엔트리들 중 "EMPTY" 상태의 제4 엔트리가 존재하므로, 로우 해머 방지 로직(100)은 0x1010의 어드레스 비트를 제4 엔트리에 기입하고, 카운터 값을 "1"로 저장할 수 있다.
도 3c는 본 개시의 예시적인 실시예들에 따른 제1 테이블(210)의 데이터 변화를 도시한다.
도 3c를 참조하면, T5 시점에 제1 테이블(210)에 저장된 엔트리들이 도시된다. 이하, 설명의 편의를 위하여, 제1 테이블(210)은 4개의 엔트리들을 저장할 수 있는 것을 기준으로 설명하기로 한다. 제1 테이블(210)은 4개의 엔트리들을 저장할 수 있지만, T3 시점에 제1 테이블(210)은 3개의 엔트리들을 저장할 수 있다. 즉, 제1 테이블(210)은 저장 공간을 모두 사용하지 않은 상태일 수 있다. 예를 들어, 제1 엔트리는 0x0010의 어드레스 비트에 상응하는 제1 로우가 25번 액세스되었음을 나타낼 수 있다. 제2 엔트리는 0x0110의 어드레스 비트에 상응하는 로우가 33번 액세스되었음을 나타낼 수 있다. 제3 엔트리는 0x1100의 어드레스 비트에 상응하는 로우가 16번 액세스되었음을 나타낼 수 있다. 제4 엔트리는 NULL 상태일 수 있다.
T6 시점에 타겟 로우에게 엑세스를 요청하는 커맨드가 수신될 수 있다. 로우 해머 방지 로직(100)은 0x1010의 어드레스 비트를 수신하고, 제1 테이블(210)의 엔트리들의 어드레스 비트와 비교를 수행할 수 있다. 다양한 실시예들에 따라, 로우 해머 방지 로직(100)은 비트 마스킹에 기반하여 제1 테이블(210)의 엔트리들의 어드레스 비트와 비교를 수행할 수 있다. 상기 비트 마스킹은 어드레스 비트 중 최상위 비트(most significant bit, MSB)를 제외한 나머지 비트들만을 비교하는 것을 지칭할 수 있다. 로우 해머 방지 로직(100)은 제1 테이블(210)의 엔트리들 중 MSB를 제외한 0xX010과 동일한 어드레스 비트를 갖는 엔트리가 있는지 검색할 수 있다. 도 3c를 참조하면, 로우 해머 방지 로직(100)은 제1 엔트리의 0x0010의 어드레스 비트 중 MSB를 제외한 나머지 비트들이 타겟 로우의 0x1010의 MSB를 제외한 나머지 비트들과 동일한 것을 검출할 수 있다. 즉, 0x1010의 어드레스 비트에 상응하는 로우는 0x0010의 어드레스 비트에 상응하는 로우와 동일한 로우로 식별될 수 있다. 따라서, 로우 해머 방지 로직(100)은 도 3b와 같이 제4 엔트리에 새롭게 0x1010을 기입하고 카운트 값을 "1"로 입력하지 않고, 대신에 0x0010의 제1 엔트리에 대한 카운트 값을 1만큼 증가시킬 수 있다.
도 4는 본 개시의 예시적 실시예들에 따른 로우 해머 방지 회로(25)의 동작 방법을 도시하는 순서도이다.
도 4를 참조하면, 동작 S410에서, 로우 해머 방지 회로(25)는 타겟 로우의 액티브 커맨드를 수신할 수 있다. 상기 타겟 로우는 로우 해머링에 따라 반복적으로 액세스되는 대상이 되는 로우를 지칭하는 것으로, 액세스 커맨드와 함께 수신되는 로우 어드레스 비트에 의해 식별될 수 있다.
동작 S420에서, 로우 해머 방지 회로(25)는 제1 테이블(210) 중 마스킹 엔트리를 식별할 수 있다. 제1 테이블(210)은 복수의 로우들에 대한 로우 어드레스 비트 및 액세스 횟수를 나타내는 카운트 정보를 포함하는 테이블을 지칭할 수 있다. 예를 들어, 제1 테이블(210)은 K개의 엔트리들을 저장할 수 있으며, 각각의 엔트리는 이전에 액세스되었던 로우의 로우 어드레스 비트 및 이전에 액세스되었던 전체 횟수를 나타내는 카운트 값에 대한 정보를 포함할 수 있다. 일 실시예에 따라, 제1 테이블(210)에 저장되는 복수의 엔트리들은 마스킹 엔트리 및 일반 엔트리로 구별될 수 있다. 상기 마스킹 엔트리는 동작 S410에서 수신된 타겟 로우의 로우 어드레스 비트와 엔트리에 저장된 로우 어드레스 비트가 동일한지 판단할 때, 마스킹 비교에 따라 동일한지 판단되는 엔트리를 지칭할 수 있다. 로우 해머 방지 회로(25)는 세이프 비트 카운터의 값을 참조하여 제1 테이블(210)에 저장된 복수의 엔트리들 중 몇 번째 엔트리까지 마스킹 비교에 따라 어드레스 비트를 비교할 지 판단할 수 있다. 예를 들어, K가 8이고, 세이프 비트 카운터(224)에 저장된 값이 "010"인 경우, 로우 해머 방지 회로(25)는 전체 K개의 엔트리 중 첫 번째 엔트리 및 두 번째 엔트리에 대해서만 마스킹 비교를 수행할 수 있다. 다른 예를 들어, K가 8이고, 세이프 비트 카운터(224)에 저장된 값이 "100"인 경우, 로우 해머 방지 회로(25)는 전체 K개의 엔트리 중 첫 번째 내지 네 번째 엔트리들에 대해서만 마스킹 비교를 수행할 수 있다.
동작 S430에서 로우 해머 방지 회로(25)는 제1 테이블 중 마스킹 엔트리와 타겟 로우 간에 MSB를 제외한 나머지 어드레스 비트들을 비교할 수 있다. 예를 들어, 제1 엔트리가 마스킹 엔트리인 경우, 로우 해머 방지 회로(25)는 제1 엔트리에 저장된 로우 어드레스 비트 중 MSB를 제외한 나머지 비트들과 상기 타겟 로우의 로우 어드레스 비트 중 MSB를 제외한 나머지 비트들이 동일한지 바교할 수 있다. MSB 비트를 제외한 나머지 비트들의 비교 결과가 동일하다면, 제1 엔트리의 로우와 상기 타겟 로우는 동일한 로우로 판단될 수 있다.
동작 S440에서 로우 해머 방지 회로(25)는 제1 테이블(210) 중 나머지 엔트리들과 상기 타겟 로우 간에 모든 어드레스 비트를 비교할 수 있다. 예를 들어, 제2 엔트리 내지 제K 엔트리가 일반 엔트리인 경우, 로우 해머 방지 회로(25)는 제2 엔트리 내지 제K 엔트리 각각에 저장된 로우 어드레스 비트 전체와 상기 타겟 로우의 로우 어드레스 비트 전체가 동일한지 일반 비교할 수 있다. 즉, MSB 값만 상이한 2개의 로우를 비교할 때(예를 들어, 0x1010 및 0x0010), 마스킹 비교에 기반하는 경우, 상기 2개의 로우는 서로 동일한 로우로 인식되고, 일반 비교에 기반하는 경우, 상기 2개의 로우는 서로 상이한 로우로 인식될 수 있다.
동작 S450에서, 로우 해머 방지 회로(25)는 히트가 발생하였는지 판단할 수 있다. 예를 들어, 제1 엔트리가 마스킹 엔트리인 경우, 로우 해머 방지 회로(25)는 제1 엔트리의 로우 어드레스 비트 중 MSB를 제외한 나머지 비트와 타겟 로우의 로우 어드레스 비트 중 MSB를 제외한 나머지 비트가 일치하는 경우, 히트가 발생한 것으로 판단할 수 있다. 다른 예를 들어, 제2 엔트리가 일반 엔트리인 경우, 로우 해머 방지 회로(25)는 제2 엔트리의 로우 어드레스 비트 전체와 타겟 로우의 로우 어드레스 비트 전체가 일치하는 경우, 히트가 발생한 것으로 판단할 수 있다.
동작 S460에서, 로우 해머 방지 회로(25)는 히트가 발생한 엔트리의 세이프 비트가 로직 하이인지 판단할 수 있다. 로우 해머 방지 회로(25)는 히트가 발생한 엔트리의 세이프 비트가 로직 하이인 경우, 상기 히트 발생으로 인해 로직 하이로 변경했어야 하므로, 절차를 종료할 수 있다. 동작 S470에서, 로우 해머 방지 회로(25)는 히트가 발생한 엔트리의 세이프 비트가 로직 로우인 경우, 로직 하이로 변경할 수 있다.
동작 S480에서, 로우 해머 방지 회로(25)는 제1 테이블(210)에 빈 엔트리가 있는지 판단할 수 있다. 동작 S450에서 미스가 발생하였으므로, 동작 S410에서 전달된 타겟 로우는 제1 테이블(210)에 저장되지 않은 새로운 로우 어드레스 비트를 갖는 로우일 수 있다. 따라서, 로우 해머 방지 회로(25)는 제1 테이블(210)의 저장 공간이 남아있는지 여부를 판단하여 상기 타겟 로우를 새롭게 기입할지 여부를 판단할 수 있다.
동작 S490에서, 로우 해머 방지 회로(25)는 타겟 로우를 제1 테이블에 삽입하고, 세이프 비트를 로직 로우로 설정할 수 있다. 동작 S480에서 제1 테이블(210)에 빈 엔트리가 존재하는 것으로 판단된 경우, 로우 해머 방지 회로(25)는 기존에 입력된 엔트리들을 삭제할 필요가 없으므로 상기 타겟 로우를 빈 엔트리에 기입할 수 있다. 또한, 로우 해머 방지 회로(25)는 상기 타겟 로우가 액세스된 것은 이번이 처음이므로(동작 S450에서 미스가 발생), 세이프 비트는 로직 로우 또는 "0"으로 설정할 수 있다.
동작 S495에서, 로우 해머 방지 회로(25)는 제1 테이블(210) 중 하나의 엔트리를 타겟 로우로 교체하여 저장할 수 있다. 동작 S480에서 제1 테이블(210)에 빈 엔트리가 없는 것으로 판단된 경우, 로우 해머 방지 회로(25)는 기존에 입력된 엔트리들 중 어느 하나를 상기 타겟 로우로 교체할 수 있다. 다양한 실시예들에 따라, 로우 해머 방지 회로(25)는 가장 최근에 기입된 엔트리를 선택할 수도 있고, 액세스된 횟수를 나타내는 카운트 값이 가장 낮은 엔트리를 선택할 수도 있으나, 이에 제한되는 것은 아니며 다양한 엔트리 선택 방법이 사용될 수 있다. 또한, 로우 해머 방지 회로(25)는 상기 타겟 로우가 액세스된 것은 이번이 처음이므로(동작 S450에서 미스가 발생), 세이프 비트는 로직 로우 또는 "0"으로 설정할 수 있다.
도 5는 본 개시의 예시적 실시예들에 따른 마스킹 엔트리를 식별하기 위한 세부 순서도이다.
도 5를 참조하면, 동작 S510에서, 로우 해머 방지 회로(25)는 리프레시 구간 종료 시점의 위험 벡터 비트행(222) 중 "0" 또는 로직 로우의 비트 개수를 세이프 비트 카운터(224)에 대입할 수 있다. 위험 벡터 비트행(222) 중 "0" 또는 로직 로우의 비트는 특정 엔트리가 자주 교체(replace)되었음을 나타낼 수 있다. 제1 테이블(210)에 저장된 엔트리들이 자주 교체되는 것은 로우 해머의 공격 대상이 되는 타겟 로우들을 모두 저장할만큼 제1 테이블(210)의 저장 용량이 크지 않다는 것을 의미할 수 있다. 따라서, 로우 해머 방지 회로(25)는 세이프 비트 카운터의 값이 클수록 제1 테이블(210)의 부족한 엔트리를 보상하기 위하여 마스킹 비교를 수행하는 엔트리 개수를 늘릴 수 있다. 로우 해머 방지 회로(25)는 리프레시 구간의 종료 시점에 세이프 비트 카운터(224)에 위험 벡터 비트행(222)의 "0" 또는 로직 로우의 비트 개수를 대입함으로써 다음 리프레시 구간에서 마스크 비교를 수행할 엔트리 개수를 가변적으로 설정할 수 있다.
동작 S520에서, 로우 해머 방지 회로(25)는 세이프 비트 카운터(224) 값에 기반하여 제1 테이블 중 마스킹 비교를 수행할 엔트리를 결정할 수 있다. 로우 해머 방지 회로(25)는 상기 K개 엔트리 중 세이프 비트 카운터(224) 값이 나타내는 10진수의 정수번째 엔트리까지 마스킹 비교를 수행할 수 있다. 예를 들어, 세이프 비트 카운터(224)에 저장된 값이 "010"인 경우, 로우 해머 방지 회로(25)는 전체 K개의 엔트리 중 첫 번째 엔트리 및 두 번째 엔트리에 대해서만 마스킹 비교를 수행할 수 있다. 다른 예를 들어, 세이프 비트 카운터(224)에 저장된 값이 "100"인 경우, 로우 해머 방지 회로(25)는 전체 K개의 엔트리 중 첫 번째 내지 네 번째 엔트리들에 대해서만 마스킹 비교를 수행할 수 있다.
도 6은 본 개시의 예시적 실시예들에 따른 메모리 시스템의 신호 교환도를 도시한다.
도 6을 참조하면, 동작 S610에서, 호스트 장치(HOST)는 메모리 컨트롤러(20)에게 타겟 로우에 대한 액세스 커맨드를 송신할 수 있다. 동작 S620에서 메모리 컨트롤러(20)는 제1 테이블(210)을 참조하여 타겟 로우와 히트가 발생한 엔트리에 대한 카운트 횟수가 임계 값을 초과함을 검출할 수 있다.
일 실시예에 따라, 타겟 로우와 히트가 발생한 엔트리는 마스킹 엔트리에 상응할 수 있다. 예를 들어, K가 8이고, 세이프 비트 카운터 값이 "111"인 경우, 로우 해머 방지 회로(25)는 타겟 로우와 제1 테이블(210)에 저장된 엔트리들의 MSB를 제외한 나머지 어드레스 비트가 일치하는 경우, 동일한 로우로 판단하고, 히트가 발생한 엔트리의 카운트 값을 증가시킬 수 있다.
다른 실시예에 따라, 타겟 로우와 히트가 발생한 엔트리는 일반 엔트리에 상응할 수 있다. 예를 들어, K가 8이고, 세이프 비트 카운터 값이 "000"인 경우, 로우 해머 방지 회로(25)는 타겟 로우와 제1 테이블(210)에 저장된 엔트리들의 모든 어드레스 비트가 일치해야만 동일한 로우로 판단하고, 히트가 발생한 엔트리의 카운트 값을 증가시킬 수 있다.
동작 S630에서, 메모리 컨트롤러(20)는 로우 해머 리프레시 커맨드를 메모리 장치(10)에게 전송할 수 있다. 일 실시예에 따라, 카운트 횟수가 임계 값을 초과한 엔트리가 일반 엔트리인 경우, 메모리 컨트롤러(20)는 상기 일반 엔트리에 상응하는 로우에 인접 로우들을 추가적으로 리프레시할 것을 지시하는 로우 해머 리프레시 커맨드를 생성할 수 있다. 예를 들어, 상기 일반 엔트리에 저장된 로우 어드레스 비트가 0x0010인 경우, 메모리 컨트롤러(20)는 0x0010의 로우에 인접하는 2개의 로우들을 추가적으로 리프레시하도록 제어할 수 있다. 다른 실시예에 따라, 카운트 횟수가 임계 값을 초과한 엔트리가 마스킹 엔트리인 경우, 메모리 컨트롤러(20)는 상기 마스킹 엔트리에 상응하는 로우들 각각에 인접하는 로우들을 추가적으로 리프레시할 것을 지시하는 로우 해머 리프레시 커맨드를 생성할 수 있다. 예를 들어, 상기 마스킹 엔트리에 저장된 로우 어드레스 비트가 0x0010인 경우, 메모리 컨트롤러(20)는 0x0010의 로우에 인접하는 2개의 로우들 및 0x1010의 로우에 인접하는 2개의 로우들을 추가적으로 리프레시하도록 제어할 수 있다. 0x0010의 로우와 0x1010의 로우는 마스킹 엔트리에서 동일한 로우로 식별되었기 때문이다. 동작 S640에서 메모리 장치(10)는 상기 로우 해머 리프레시 커맨드를 수신하고, 커맨드의 대상이 되는 인접 로우들을 추가적으로 리프레시할 수 있다.
도 7은 본 개시의 예시적 실시예들에 따른 리프레시 구간별 마스킹 엔트리의 개수를 도시한다.
도 7을 참조하면, 제1 구간은 제1 리프레시 시점(REF1) 내지 제2 리프레시 시점(REF2)에 상응할 수 있다. 이하, 설명의 편의를 위하여 엔트리의 개수 K는 8이고, 세이프 비트 카운터(224)는
Figure pat00005
개의 비트, 즉 3비트를 저장하기 위한 8개의 레지스터들을 포함하는 것을 기준으로 설명하며, 이에 제한되는 것은 아니다. 상기 제1 구간 동안 세이프 비트 카운터(224)의 값은 "001"일 수 있다. 상기 제1 구간 동안, 위험 벡터 비트행(222) 중 "0" 또는 로직 로우의 비트 개수는 1개일 수 있다. 다시 말해, 상기 제1 구간 동안 제1 테이블(210)에 저장된 엔트리 중 미스가 발생하여 새로운 타겟 로우의 어드레스 비트로 교체된 엔트리의 개수는 1개 일 수 있다. 로우 해머 방지 회로(25)는 로우 해머링 공격의 타겟 로우 대부분이 제1 테이블(210)에 저장된 엔트리들과 히트가 발생하므로 마스킹 엔트리의 개수는 1로 설정할 수 있다.
제2 구간은 제2 리프레시 시점(REF2) 내지 제3 리프레시 시점(REF3)에 상응할 수 있다. 상기 제2 구간 동안 세이프 비트 카운터(224)의 값은 "010"일 수 있다. 즉, 상기 제2 구간 동안 제1 테이블(210)에 저장된 엔트리 중 미스가 발생하여 새로운 타겟 로우의 어드레스 비트로 교체된 엔트리의 개수는 2개일 수 있다. 로우 해머 방지 회로(25)는 로우 해머링 공격의 타겟 로우 중 제1 테이블(210)에 저장된 엔트리에 포함되지 않는 미스가 증가하였으므로, 히트 확률을 증가시키기 위하여 마스킹 엔트리의 개수는 2로 증가시킬 수 있다.
제3 구간은 제3 리프레시 시점(REF3) 내지 제4 리프레시 시점(REF4)에 상응할 수 있다. 상기 제3 구간 동안 세이프 비트 카운터(224)의 값은 "100"일 수 있다. 즉, 상기 제3 구간 동안 제1 테이블(210)에 저장된 엔트리 중 미스가 발생하여 새로운 타겟 로우의 어드레스 비트로 교체된 엔트리의 개수는 4개일 수 있다. 로우 해머 방지 회로(25)는 로우 해머링 공격의 타겟 로우 중 제1 테이블(210)에 저장된 엔트리에 포함되지 않는 미스가 증가하였으므로, 제1 구간 및 제2 구간보다 히트 확률을 더욱 증가시키기 위하여 마스킹 엔트리의 개수는 4로 증가시킬 수 있다.
제4 구간은 제4 리프레시 시점(REF4) 내지 제5 리프레시 시점(REF5)에 상응할 수 있다. 상기 제4 구간 동안 세이프 비트 카운터(224)의 값은 "111"일 수 있다. 즉, 상기 제4 구간 동안 제1 테이블(210)에 저장된 엔트리 중 미스가 발생하여 새로운 타겟 로우의 어드레스 비트로 교체된 엔트리의 개수는 7개일 수 있다. 즉, 제1 테이블(210)의 저장 용량의 제한으로 인하여 로우 해머링의 공격 대상인 타겟 로우에 대한 정보를 추가적으로 저장하지 못하고, 제1 테이블(210)의 엔트리의 대부분이 변경되었을 수 있다. 로우 해머 방지 회로(25)는 제1 테이블(210)에 저장된 엔트리에 포함되지 않는 미스가 증가하였으므로, 히트 확률을 증가시키기 위하여 마스킹 엔트리의 개수는 7으로 증가시킬 수 있다. 마스킹 엔트리 개수가 7인 경우, 제1 테이블(210)은 동일한 저장 용량으로 2배의 로우들에 대한 로우 해머 방지를 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 복수의 엔트리들에 대한 어드레스 비트 및 액세스 횟수를 나타내는 카운트 값을 저장하는 제1 테이블; 복수의 엔트리들 각각은 기 액세스 요청된 타겟 로우들에 상응함;
    리프레시 구간 동안 상기 복수의 엔트리들 각각이 2회 이상 액세스 되었는지 여부를 나타내는 위험 비트 및 상기 위험 비트 중 로직 로우의 비트 개수를 나타내는 세이프 비트 카운터를 포함하는 제2 테이블; 및
    상기 세이프 비트 카운터의 값에 기반하여 상기 제1 테이블에 저장된 복수의 엔트리들 중 마스킹 비교를 수행할 마스킹 엔트리들을 식별하고, 액세스 요청된 타겟 로우의 어드레스 비트와 상기 마스킹 엔트리들의 어드레스 비트 간에 최상위 비트를 제외한 나머지 비트들의 일치 여부에 따라 히트/미스를 판단하고, 상기 마스킹 엔트리들 중 히트 횟수가 임계 값을 초과하는 경우, 상기 임계 값을 초과하는 마스킹 엔트리에 상응하는 로우들의 인접 로우들에 대한 추가 리프레시를 지시하는 제어 신호를 생성하는 로우 해머 방지 로직을 포함하는 것을 특징으로 하는 로우 해머 방지 회로.
  2. 제1항에 있어서,
    상기 로우 해머 방지 로직은,
    상기 복수의 엔트리들 중 상기 마스킹 엔트리들을 제외한 일반 엔트리들의 어드레스 비트와 상기 액세스 요청된 타겟 로우의 어드레스 비트 간에 모든 비트들의 일치 여부에 따라 히트/미스를 판단하는 로우 해머 방지 회로.
  3. 제2항에 있어서,
    상기 로우 해머 방지 로직은,
    상기 일반 엔트리들 중 히트 횟수가 임계 값을 초과하는 경우, 상기 임계 값을 초과하는 일반 엔트리에 상응하는 로우의 인접 로우들에 대한 추가 리프레시를 지시하는 제어 신호를 생성하는 로우 해머 방지 회로.
  4. 제1항에 있어서,
    상기 위험 비트의 개수는,
    상기 복수의 엔트리들의 개수와 동일한 것을 특징으로 하는 로우 해머 방지 회로.
  5. 제1항에 있어서,
    상기 마스킹 엔트리들은,
    상기 복수의 엔트리들 중 세이프 비트 카운터 값과 동일한 개수에 따라 순차적으로 선택되는 것을 특징으로 하는 로우 해머 방지 회로.
  6. 제1항에 있어서,
    상기 임계 값을 초과하는 마스킹 엔트리는,
    상기 최상위 비트만 상이하고, 나머지 어드레스 비트들은 동일한 2개의 제1 로우 및 제2 로우를 모두 포함하는 것을 특징으로 하는 로우 해머 방지 회로.
  7. 제6항에 있어서,
    상기 로우 해머 방지 로직은,
    상기 제1 로우에 대한 반복적인 액세스에 응답하여, 상기 제1 로우 및 상기 제2 로우에 대한 추가적인 리프레시를 지시하는 제어 신호를 생성하는 것을 특징으로 하는 로우 해머 방지 회로.
  8. 복수의 로우 메모리들을 포함하는 메모리 셀 어레이; 및
    복수의 엔트리들에 대한 어드레스 비트 및 액세스 횟수를 나타내는 카운트 값, 리프레시 구간 동안 상기 복수의 타겟 로우들 각각이 2회 이상 액세스 되었는지 여부를 나타내는 위험 비트 및 상기 위험 비트 중 로직 로우의 비트 개수를 나타내는 세이프 비트 카운터를 포함하는 제1 테이블과,
    상기 세이프 비트 카운터의 값에 기반하여 상기 제1 테이블에 저장된 복수의 엔트리들 중 마스킹 비교를 수행할 마스킹 엔트리들을 식별하고, 액세스 요청된 타겟 로우의 어드레스 비트와 상기 마스킹 엔트리들의 어드레스 비트 간에 최상위 비트를 제외한 나머지 비트들의 일치 여부에 따라 히트/미스를 판단하는 로우 해머 방지 회로를 포함하는 메모리 컨트롤러를 포함하는 메모리 장치.
  9. 제8항에 있어서,
    상기 로우 해머 방지 회로는,
    상기 마스킹 엔트리들 중 히트 횟수가 임계 값을 초과하는 경우, 상기 임계 값을 초과하는 마스킹 엔트리에 상응하는 로우들의 인접 로우들에 대한 추가 리프레시를 지시하는 것을 특징으로 하는 메모리 장치.
  10. 제9항에 있어서,
    상기 로우 해머 방지 회로는,
    상기 복수의 엔트리들 중 상기 마스킹 엔트리들을 제외한 일반 엔트리들의 어드레스 비트와 상기 액세스 요청된 타겟 로우의 어드레스 비트 간에 모든 비트들의 일치 여부에 따라 히트/미스를 판단하고, 상기 일반 엔트리들 중 히트 횟수가 임계 값을 초과하는 경우, 상기 임계 값을 초과하는 일반 엔트리에 상응하는 로우의 인접 로우들에 대한 추가 리프레시를 지시하는 것을 특징으로 하는 메모리 장치.
  11. 제10항에 있어서,
    상기 로우 해머 방지 회로는,
    상기 일반 엔트리들의 어드레스 비트와 상기 액세스 요청된 타겟 로우의 어드레스 비트 간에 모든 비트들이 일치하지 않는 경우, 미스가 발생하였음을 판단하고, 상기 복수의 엔트리들 중 어드레스 비트를 포함하지 않는 엔트리가 있는지 판단하고, 상기 타겟 로우의 어드레스 비트를 어드레스 비트를 포함하지 않는 엔트리에 기입하는 것을 특징으로 하는 메모리 장치.
  12. 제11항에 있어서,
    상기 로우 해머 방지 회로는,
    상기 복수의 엔트리들 각각이 어드레스 비트를 포함하는 경우, 상기 복수의 엔트리들 중 카운트 값이 가장 낮은 엔트리로 상기 타겟 로우의 어드레스 비트를 기입하는 것을 특징으로 하는 메모리 장치.
  13. 제8항에 있어서,
    상기 위험 비트의 개수는,
    상기 복수의 엔트리들의 개수와 동일한 것을 특징으로 하는 메모리 장치.
  14. 제8항에 있어서,
    상기 마스킹 엔트리들은,
    상기 복수의 엔트리들 중 세이프 비트 카운터 값과 동일한 개수에 따라 순차적으로 선택되는 것을 특징으로 하는 메모리 장치.
  15. 제9항에 있어서,
    상기 임계 값을 초과하는 마스킹 엔트리는,
    상기 최상위 비트만 상이하고, 나머지 어드레스 비트들은 동일한 2개의 제1 로우 및 제2 로우를 모두 포함하는 것을 특징으로 하는 메모리 장치.
  16. 제15항에 있어서,
    상기 로우 해머 방지 로직은,
    상기 제1 로우에 대한 반복적인 액세스에 응답하여, 상기 제1 로우 및 상기 제2 로우에 대한 추가적인 리프레시를 지시하는 제어 신호를 생성하는 것을 특징으로 하는 메모리 장치.
  17. 타겟 로우에 대한 액세스 커맨드를 수신하는 단계;
    기 액세스 요청된 로우들에 상응하는 복수의 엔트리들 중 마스킹 엔트리를 식별하는 단계;
    상기 마스킹 엔트리의 어드레스 비트와 상기 타겟 로우의 어드레스 비트 간에 최상위 비트를 제외한 나머지 비트가 일치하는지 비교하는 제1 비교를 수행하는 단계;
    상기 제1 비교 결과, 히트가 발생한 경우, 상기 발생한 히트에 상응하는 마스킹 엔트리의 액세스 횟수를 증가시키는 단계; 및
    상기 액세스 횟수가 임계 값을 초과하는 경우, 상기 마스킹 엔트리에 상응하는 2개의 로우에 각각 인접하는 로우들에 대한 추가 리프레시를 지시하는 제어 신호를 생성하는 단계를 포함하는 메모리 장치의 동작 방법.
  18. 제17항에 있어서,
    상기 마스킹 엔트리를 식별하는 단계는,
    상기 복수의 엔트리들 중 상기 복수의 엔트리들 각각이 2회 이상 액세스 되었는지 여부를 나타내는 위험 비트 중 로직 로우인 비트의 개수를 식별하는 단계; 및
    상기 복수의 엔트리들 중 상기 식별된 개수의 엔트리를 상기 마스킹 엔트리로 결정하는 단계를 더 포함하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  19. 제17항에 있어서,
    상기 복수의 엔트리들 중 상기 마스킹 엔트리를 제외한 일반 엔트리의 어드레스 비트와 상기 타겟 로우의 어드레스 비트 간에 모든 비트가 일치하는지 비교하는 제2 비교를 수행하는 단계;
    상기 제2 비교 중 히트가 발생한 경우, 상기 발생한 히트에 상응하는 일반 엔트리의 액세스 횟수를 증가시키는 단계; 및
    상기 액세스 횟수가 임계 값을 초과하는 경우, 상기 일반 엔트리에 상응하는 로우의 인접 로우들에 대한 추가 리프레시를 지시하는 제어 신호를 생성하는 단계를 포함하는 메모리 장치의 동작 방법.
  20. 제17항에 있어서,
    상기 마스킹 엔트리에 상응하는 2개의 로우에 각각 인접하는 로우들에 대한 추가 리프레시를 지시하는 단계는, 최상위 비트를 제외한 나머지 어드레스 비트가 동일한 제1 로우 및 제2 로우에 각각 인접하는 로우들에 대한 리프레시를 수행하는 단계를 더 포함하는 메모리 장치의 동작 방법.
KR1020210121181A 2021-09-10 2021-09-10 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법 KR20230037992A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210121181A KR20230037992A (ko) 2021-09-10 2021-09-10 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법
US17/939,327 US12014764B2 (en) 2021-09-10 2022-09-07 Memory device including row hammer preventing circuitry and an operating method of the memory device
CN202211106169.6A CN115798537A (zh) 2021-09-10 2022-09-09 行锤击防止电路***、存储器装置和存储器装置操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210121181A KR20230037992A (ko) 2021-09-10 2021-09-10 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20230037992A true KR20230037992A (ko) 2023-03-17

Family

ID=85431893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210121181A KR20230037992A (ko) 2021-09-10 2021-09-10 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법

Country Status (2)

Country Link
KR (1) KR20230037992A (ko)
CN (1) CN115798537A (ko)

Also Published As

Publication number Publication date
CN115798537A (zh) 2023-03-14
US20230079457A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
KR102421311B1 (ko) 태그 매칭 명령에 응답하는 저장회로
JP2017182854A (ja) 半導体装置
CN105808455B (zh) 访问内存的方法、存储级内存及计算机***
US11532336B2 (en) Memory device for processing a row-hammer refresh operation and a method of operating thereof
US20230402086A1 (en) Memory system
CN114822628A (zh) 用于动态分配的侵害者检测的设备和方法
US11869628B2 (en) Apparatuses and methods to perform low latency access of a memory
KR101050339B1 (ko) 플래시 메모리 장치 및 데이터 읽기 방법
KR20160024550A (ko) 데이터 저장 장치 및 그것의 동작 방법
US6823426B2 (en) System and method of data replacement in cache ways
US10496546B2 (en) Cache memory and processor system
US20030120881A1 (en) Memory-access management method and system for synchronous dynamic random-access memory or the like
KR102591121B1 (ko) 반도체장치
US20230410875A1 (en) Memory device and defense method thereof
US10055152B2 (en) Semiconductor devices
CN115881185A (zh) 存储器装置、存储器***和存储器装置的操作方法
KR20230037992A (ko) 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법
US12014764B2 (en) Memory device including row hammer preventing circuitry and an operating method of the memory device
US11972788B2 (en) Apparatuses, systems, and methods for controller directed targeted refresh operations based on sampling command
US20240038288A1 (en) Memory device refresh operations
US20240185904A1 (en) Memory device and operating method thereof
US12002502B2 (en) Memory device and refresh method thereof
US20240112719A1 (en) Memory devices, memory systems having the same and operating methods thereof
US20240104209A1 (en) Memory device for performing target refresh operation and operating method thereof
US20240069757A1 (en) Memory control device and refresh control method thereof