KR20230068242A - 메모리 시스템, 리프레시 제어회로 및 리프레시 제어방법 - Google Patents

메모리 시스템, 리프레시 제어회로 및 리프레시 제어방법 Download PDF

Info

Publication number
KR20230068242A
KR20230068242A KR1020220016768A KR20220016768A KR20230068242A KR 20230068242 A KR20230068242 A KR 20230068242A KR 1020220016768 A KR1020220016768 A KR 1020220016768A KR 20220016768 A KR20220016768 A KR 20220016768A KR 20230068242 A KR20230068242 A KR 20230068242A
Authority
KR
South Korea
Prior art keywords
rows
row
refresh
hash
target
Prior art date
Application number
KR1020220016768A
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 US17/817,348 priority Critical patent/US20230147402A1/en
Priority to CN202211403824.4A priority patent/CN116110452A/zh
Publication of KR20230068242A publication Critical patent/KR20230068242A/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

복수의 메모리 셀 로우들의 리프레시를 제어하는 리프레시 제어회로는, 각각이 입력 데이터에 대한 해시 연산을 수행하고 M비트(M은 자연수) 시퀀스를 출력하는 N개(N은 자연수)의 해시 로직들, 및 상기 M비트 시퀀스의 각 비트에 대응하는 M개의 카운터들을 포함하고, 상기 M개의 카운터들 중에서, 상기 복수의 메모리 셀 로우들 중 액세스된 로우의 어드레스를 입력 데이터로 하여 상기 N개의 해시 로직들로부터 획득한 M비트 시퀀스들의 값이 가리키는 대응 카운터들의 카운트 값들을 업데이트하는 카운팅 블룸 필터; 정해진 기간에 액세스된 메모리 셀 로우들 중 대응 카운터들의 카운트 값들이 임계값보다 큰 로우를 타겟 리프레시 동작의 후보 로우로 결정하는 후보 로우 결정부; 및 상기 후보 로우 결정부에서 결정된 후보 로우들 중 하나 이상의 타겟 로우의 인접한 로우들에 대한 타겟 리프레시 신호를 출력하는 타겟 리프레시 제어부를 포함한다.

Description

메모리 시스템, 리프레시 제어회로 및 리프레시 제어방법{MEMORY SYSTEM, REFRESH CONTROL CIRCUIT, AND REFRESH CONTROL METHOD}
본 발명은 메모리 장치를 포함하는 메모리 시스템, 상기 메모리 장치의 리프레시 제어회로 및 리프레시 제어방법에 관한 것이다.
메모리는 다수의 워드라인들 및 비트라인들에 연결된 메모리 셀들을 포함할 수 있다. 하나의 워드라인들에 연결된 메모리 셀들은 메모리 셀 로우를 구성할 수 있다. 메모리의 집적도가 증가하면서 메모리에 포함된 다수의 메모리 셀 로우들 사이의 간격이 줄어들고 있다. 메모리 셀 로우들의 간격이 줄어들면서 인접한 메모리 셀 로우들 간의 커플링 효과가 증가하고 있다.
메모리 셀에 데이터가 입출력될 때마다 워드라인이 활성화 상태와 비활성화 상태에서 토글하게 되는데, 이에 따라 인접한 메모리 셀 로우들 간의 커플링 효과가 커지면서 자주 활성화되는 메모리 셀 로우의 인접한 메모리 셀 로우의 데이터가 유실되는 현상이 발생하고 있다. 이러한 현상을 로우 해머링(Row Hammering)이라고 하는데, 로우 해머링으로 인해 메모리 셀이 리프레시되기 전에 메모리 셀의 데이터가 유실되는 현상이 발생하여 문제가 되고 있다.
본 발명은 로우 해머링으로 인해 리프레시가 필요한 메모리 셀 로우들을 효율적으로 선정하는 리프레시 제어회로, 리프레시 제어방법 및 메모리 시스템을 제공하고자 한다.
본 발명의 실시 예에 따르면, 복수의 메모리 셀 로우들의 리프레시를 제어하는 리프레시 제어회로는, 각각이 입력 데이터에 대한 해시 연산을 수행하고 M비트(M은 자연수) 시퀀스를 출력하는 N개(N은 자연수)의 해시 로직들, 및 상기 M비트 시퀀스의 각 비트에 대응하는 M개의 카운터들을 포함하고, 상기 M개의 카운터들 중에서, 상기 복수의 메모리 셀 로우들 중 액세스된 로우의 어드레스를 입력 데이터로 하여 상기 N개의 해시 로직들로부터 획득한 M비트 시퀀스들의 값이 가리키는 대응 카운터들의 카운트 값들을 업데이트하는 카운팅 블룸 필터; 정해진 기간에 액세스된 메모리 셀 로우들 중 대응 카운터들의 카운트 값들이 임계값보다 큰 로우를 타겟 리프레시 동작의 후보 로우로 결정하는 후보 로우 결정부; 및 상기 후보 로우 결정부에서 결정된 후보 로우들 중 하나 이상의 타겟 로우의 인접한 로우들에 대한 타겟 리프레시 신호를 출력하는 타겟 리프레시 제어부를 포함한다.
본 발명의 실시 예에 따른 메모리 시스템은, 복수의 메모리 셀 로우들을 포함하는 메모리 장치; 및 상기 메모리 장치를 제어하는 컨트롤러를 포함하고, 상기 컨트롤러는 상기 복수의 메모리 셀 로우들 중에서 액세스된 로우들을 카운팅 블룸 필터에 입력함으로써 상기 액세스된 로우들의 액세스 카운팅을 수행하고, 상기 카운팅 블룸 필터에 저장된 카운트 값들에 기초하여 상기 액세스된 로우들 중 자주 액세스된 것으로 추정되는 로우들을 후보 로우들로 결정하며, 상기 후보 로우들 중에서 결정된 타겟 로우의 인접한 로우들에 타겟 리프레시 동작을 수행하도록 상기 메모리 장치를 제어한다.
본 발명의 실시 예에 따르면, 복수의 메모리 셀 로우들의 리프레시 제어방법은, 카운팅 기간에, 상기 복수의 메모리 셀 로우들 중에서 액세스된 제1 로우의 어드레스를 복수의 해시 로직들에 입력하여 복수의 제1 해시 연산 결과값들을 획득하고, 복수의 카운터들 중 상기 복수의 제1 해시 연산 결과값들 각각이 가리키는 대응 카운터들의 카운터 값을 업데이트하는 단계; 상기 카운팅 기간 이후의 후보 선정 기간에, 상기 복수의 메모리 셀 로우들 중에서 액세스된 제2 로우의 어드레스를 상기 복수의 해시 로직들에 입력하여 복수의 제2 해시 연산 결과값들을 획득하고, 상기 복수의 카운터들 중 상기 복수의 제2 해시 연산 결과값들 각각이 가리키는 카운터들의 카운트 값에 따라 상기 제2 로우를 타겟 리프레시 후보 로우로 결정하는 단계; 및 상기 후보 선정 기간에 결정된 후보 로우들 중 적어도 하나의 타겟 로우의 인접한 로우들에 대한 타겟 리프레시를 제어하는 단계를 포함한다.
본 발명은 로우 해머링으로 인해 리프레시가 필요한 메모리 셀 로우들을 효율적으로 선정하는 리프레시 제어회로, 리프레시 제어방법 및 메모리 시스템을 제공할 수 있다.
구체적으로, 본 발명은 카운팅 블룸 필터를 이용하여 메모리 셀 로우들의 액세스 카운팅을 수행함으로써, 액세스 카운팅에 요구되는 카운터 자원을 절약할 수 있는 리프레시 제어회로, 리프레시 제어방법 및 메모리 시스템을 제공할 수 있다.
또한, 본 발명은 상기 카운팅 블룸 필터가 복수의 해시 함수들을 이용하여 하나의 로우 어드레스를 여러 개의 카운터에 매핑함으로써 악의적인 사용자가 메모리 셀 로우들의 액세스 패턴을 추적하기 어렵게 하고, 로우 해머링 공격에 대한 보안성을 강화할 수 있는 리프레시 제어회로, 리프레시 제어방법 및 메모리 시스템을 제공할 수 있다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2 및 3은 본 발명의 실시 예에 따른 메모리 장치를 설명하기 위한 도면들이다.
도 4는 본 발명의 실시 예에 따른 리프레시 제어회로를 나타내는 블록도이다.
도 5a 및 도 5b는 본 발명의 실시 예에 따른 리프레시 동작 주기를 설명하기 위한 타이밍도들이다.
도 6은 본 발명의 실시 예에 따른 리프레시 제어방법을 나타내는 흐름도이다.
도 7 내지 도 8c는 본 발명의 실시 예에 따른 리프레시 제어방법을 설명하기 위한 도면들이다.
도 9는 본 발명의 실시 예에 따른 리프레시 제어회로를 나타내는 블록도이다.
도 10은 본 발명의 실시 예에 따른 리프레시 제어방법을 설명하기 위한 타이밍도이다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 반도체 모듈을 나타내는 도면이다.
도 12는 본 발명의 실시 예에 따른 메모리 시스템이 적용된 시스템을 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 컨트롤러(100) 및 메모리 장치(200)를 포함할 수 있다.
컨트롤러(100)는 호스트의 요청에 따라 메모리 장치(200)의 동작을 제어할 수 있다. 예를 들어, 도 1의 컨트롤러(100)는 호스트의 메인 프로세서에 포함되어 메모리 장치(200)를 제어하는 메모리 컨트롤러일 수도 있으며, 메모리 장치(200)와 하나의 메모리 칩으로 집적되는 제어 로직일 수도 있다.
메모리 장치(200)는 컨트롤러(100)로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신할 수 있으며, 상기 커맨드(CMD) 및 어드레스(ADDR)에 의해 지시되는 동작을 수행할 수 있다. 메모리 장치(200)는 리프레시 동작을 필요로 하는 메모리 장치일 수 있다. 예를 들어, 메모리 장치(200)는 DRAM(Dynamic Random Access Memory)일 수 있으며, 리프레시 동작이 요구되는 다른 종류의 메모리 장치일 수도 있다.
메모리 장치(200)는 각각이 메모리 셀들을 포함하는 로우들을 포함할 수 있다. 메모리 셀들은 데이터 비트에 대응하는 전하를 저장할 수 있으며, 시간이 흐름에 따라 메모리 셀들의 전하가 유실되면 상기 메모리 셀들에 저장된 데이터가 유실될 수 있다. 그리고, 앞서 설명된 바와 같이, 로우 해머링(Row Hammering)으로 인해 어떤 로우가 자주 활성화되는 경우에도 상기 로우의 인접한 로우에 저장된 데이터가 유실될 수 있다.
컨트롤러(100)는 데이터 유실을 방지하기 위한 리프레시 동작을 제어하는 리프레시 제어회로(110)를 포함할 수 있다. 리프레시 제어회로(110)는 메모리 장치(200)의 로우들이 주기적으로 리프레시되도록 하는 오토 리프레시 동작을 스케줄링할 수 있다. 그리고, 리프레시 제어회로(110)는 오토 리프레시 동작 이외에, 로우 해머링에 의한 데이터 유실을 방지하기 위한 추가적인 리프레시 동작인 타겟 리프레시 동작을 더 스케줄링할 수 있다.
타겟 리프레시 동작은 로우들을 순차적으로 리프레시하는 오토 리프레시 동작과는 달리, 로우 해머링으로 인해 데이터가 유실될 가능성이 높다고 판단되는 로우를 리프레시하는 동작을 지칭할 수 있다. 즉, 리프레시 제어회로(110)는 데이터가 유실될 가능성이 높은 로우를 결정하여 타겟 리프레시 동작을 스케줄링할 수 있고, 컨트롤러(100)는 타겟 리프레시 동작을 제어하기 위해, 액티브 커맨드와 함께 상기 로우의 어드레스를 메모리 장치(200)로 인가할 수 있다.
리프레시 제어회로(110)는 데이터가 유실될 가능성이 높은 로우를 결정하기 위해, 메모리 장치(200)에 액티브 커맨드와 함께 인가되는 로우 어드레스들을 모니터링하고, 자주 액세스되는 로우를 결정할 수 있다. 그리고, 리프레시 제어회로(110)는 자주 액세스되는 로우의 인접한 로우를 데이터가 유실될 가능성이 높은 로우로 결정할 수 있다.
만약 리프레시 제어회로(110)가 자주 액세스되는 로우를 결정하기 위해 액세스되는 로우들 각각에 대해 액세스 카운팅을 수행해야 한다면, 리프레시 제어회로(110)는 다수의 카운터 자원을 필요로 할 수 있다. 리프레시 제어회로(110)가 많은 수의 카운터 자원을 포함할수록 메모리 시스템(10)의 소형화가 어려워지고 메모리 시스템(10)의 소비전력이 증가할 수 있다.
반면에, 리프레시 제어회로(110)가 제한된 수의 카운터 자원을 이용하여 액세스 카운팅을 수행하기 위해 일부 로우에 대한 액세스 카운팅을 누락하는 경우, 로우 해머링으로 인한 데이터 유실이 방지되기 어렵다. 예를 들어, 악의적인 사용자가 메모리 시스템(10)을 해킹함으로써 액세스 카운팅이 누락되는 로우들을 알아낼 수 있다. 악의적인 사용자가 상기 로우들에 대해 고의적으로 반복 액세스하는 로우 해머링 공격을 수행하는 경우, 리프레시 제어회로(110)는 상기 로우들의 액세스를 감지하지 못하고, 상기 로우들에 인접한 로우들의 데이터 유실을 방지하지 못할 수 있다.
따라서, 리프레시 제어회로(110)가 제한된 수의 카운터 자원을 이용하여 액세스되는 모든 로우들의 액세스 카운팅을 효율적으로 수행할 수 있는 방법이 요구된다.
본 발명의 실시 예에 따르면, 리프레시 제어회로(110)는 액세스되는 로우의 어드레스를 카운팅 블룸 필터에 입력함으로써 액세스 카운팅을 수행할 수 있다. 그리고, 리프레시 제어회로(110)는 어떤 로우의 어드레스를 카운팅 블룸 필터에 입력한 결과에 기초하여 상기 로우가 자주 액세스되었는지 여부를 추정하고, 자주 액세스된 것으로 추정되는 로우의 인접한 로우에 대한 타겟 리프레시 동작을 제어할 수 있다.
블룸 필터는 특정 데이터가 집합에 존재하는지 여부를 확률적으로 판단하는 비트 기반의 자료구조일 수 있다. 특정 데이터가 집합에 존재하는지 판단하기 위해서, 특정 데이터를 복수의 해시 함수들에 입력하여 복수의 결과 값들을 구한 후에, 상기 자료구조에서 상기 결과 값들이 가리키는 비트 값들을 참조할 수 있다.
카운팅 블룸 필터는 상기 블룸 필터를 변형한 자료구조로서, 복수의 카운터들을 포함하는 카운터 기반의 자료구조일 수 있다. 로우 어드레스의 액세스 카운팅을 수행하기 위해, 상기 로우 어드레스를 복수의 해시 함수들에 입력하여 복수의 결과 값들을 구한 후에, 복수의 결과 값들이 가리키는 카운터들의 카운트 값들을 업데이트할 수 있다.
해시 함수는 충돌의 가능성이 있으므로, 카운팅 블룸 필터는 긍정오류(False Positive)의 가능성을 가지고 있으나 부정오류(False Negative)의 가능성은 갖지 않는다. 따라서, 본 발명의 실시 예에 따른 리프레시 제어회로(110)의 카운터 자원의 개수가 메모리 장치(200)에 포함된 메모리 셀 로우들의 개수보다 적더라도, 리프레시 제어회로(110)는 액세스된 로우들을 누락하지 않고 액세스 카운팅을 수행할 수 있다. 따라서, 리프레시 제어회로(110)는 제한된 카운터 자원을 이용하여 액세스된 모든 로우들에 대한 액세스 카운팅을 효율적으로 수행할 수 있으며, 고의적인 로우 해머링 공격을 효과적으로 방어할 수 있다. 따라서, 메모리 장치(200)의 신뢰성이 향상될 수 있다.
도 2 및 3은 본 발명의 실시 예에 따른 메모리 장치를 설명하기 위한 도면들이다.
도 2에 도시된 메모리 장치(200)는 도 1을 참조하여 설명된 메모리 장치(200)에 대응할 수 있다. 도 2를 참조하면, 메모리 장치(200)는 메모리 셀 어레이(211), 로우 디코더(212), 센스 앰프(213) 및 컬럼 디코더(214)를 포함할 수 있다.
컨트롤러(220)는 외부 장치로부터 제공되는 커맨드(CMD), 어드레스(ADDR) 및 클럭 신호(CK)를 버퍼링할 수 있다. 그리고, 컨트롤러(220)는 버퍼링된 커맨드(CMD) 및 어드레스(ADDR)를 메모리 장치(210)로 제공하고, 버퍼링된 클럭 신호(CK)를 메모리 장치(210)의 동작을 제어하기 위한 출력 클럭 신호(QCK)로서 메모리 장치(210)로 제공할 수 있다.
메모리 장치(200)는 메인 채널을 통해서 외부 장치와 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 주고받을 수 있다. 예를 들어, 메인 채널은 DDR(Double Data Rate), DDR2, DDR3, DDR4, LPDDR(Low Power DDR), USB (Universal Serial Bus), MMC(Multimedia Card), embedded MMC, PCI (Peripheral Component Interconnection), PCI-E (PCI-Express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (Small Computer Small Interface), ESDI (Enhanced Small Disk Interface), IDE (Integrated Drive Electronics), 파이어와이어(Firewire), UFS(Universal Flash Storage), NVMe(Nonvolatile Memory express) 중 적어도 하나를 포함할 수 있다.
메인 채널을 통해 반도체 모듈로 수신된 신호는 메모리 장치(200) 및 제어회로가 실장된 인쇄 회로기판을 통해 메모리 장치(200)로 전달될 수 있다. 그리고, 제어회로가 메모리 장치(200)로 제공하는 신호도 상기 인쇄 회로기판을 통해 전달될 수 있다.
메모리 장치(200)는 휘발성을 갖는 메모리 장치, 예를 들어 DRAM 메모리 장치일 수 있다.
DRAM은 집적 회로 내의 커패시터에 데이터의 각 비트를 저장하는 랜덤 액세스 메모리의 일종이다. 각 커패시터는 충전 상태 또는 방전 상태를 가질 수 있으며, 이러한 두 상태는 일반적으로 한 비트의 '0' 및 '1'로 불리는 두 값을 나타낼 수 있다. DRAM의 각 커패시터에 저장된 전하는 누설되기 때문에, 커패시터에 저장된 정보는 각 커패시터의 전하가 주기적으로 리프레시되지 않으면 유실될 수 있다.
DRAM의 각 커패시터가 제공하는 메모리 셀들은 워드라인들 및 비트라인들에 연결되어 메모리 셀 어레이를 구성할 수 있다.
도 3을 참조하면, 메모리 셀 어레이(211)는 비트라인들(BL)과 워드라인들(WL)에 연결되는 복수의 메모리 셀들(MC)을 포함하며, 복수의 메모리 셀들(MC) 각각은 셀 스위치(TR)와 셀 커패시터(CC)를 포함할 수 있다. 일례로, 셀 스위치(TR)를 턴-온시키고 셀 커패시터(CC)를 충전 또는 방전시킴으로써 복수의 메모리 셀들(MC) 각각에 데이터를 저장할 수 있으며, 셀 스위치(TR)를 턴-온시키고 셀 커패시터(CC)의 전압을 측정함으로써 복수의 메모리 셀들(MC) 각각에 저장된 데이터를 읽어올 수 있다.
메모리 셀이 액세스되기 전에 상기 메모리 셀이 연결된 워드라인이 활성화되어야 하며, 상기 메모리 셀이 액세스된 후 상기 워드라인이 프리차지되어야 한다. 이러한 활성화 및 프리차지 동작에 의해 상기 워드라인과 인접한 워드라인에 연결된 메모리 셀들의 전하가 누설될 수 있다.
도 3을 참조하면, 워드라인(WL)에 연결된 메모리 셀들(MC)은, 메모리 셀 어레이(211)의 로우를 구성할 수 있다. 예를 들어, 도 3은 N번째 로우(Row_N), 및 상기 N 번째 로우(Row_N)에 인접한 로우들(Row_N-1, Row_N+1)을 도시한다. N번째 로우(Row_N)가 자주 액세스되는 경우, N번째 로우(Row_N)에 대응하는 워드라인이 자주 활성화 및 프리차지될 수 있다. N번째 로우(Row_N)와 인접한 로우들(Row_N-1, Row_N+1) 간의 전기적 커플링으로 인해, 인접한 로우들(Row_N-1, Row_N+1)의 데이터가 유실되는 로우 해머링이 발생할 수 있다.
이하에서, 도 4 내지 도 10을 참조하여 로우 해머링으로 인해 타겟 리프레시가 필요한 로우들을 효율적으로 선정하는 리프레시 제어회로 및 리프레시 제어방법이 보다 자세히 설명된다.
도 4는 본 발명의 실시 예에 따른 리프레시 제어회로를 나타내는 블록도이다.
도 4에 도시된 리프레시 제어회로(110)는 도 1을 참조하여 설명된 리프레시 제어회로(110)에 대응할 수 있다. 리프레시 제어회로(110)는 카운팅 블룸 필터(111), 후보 로우 결정부(112) 및 타겟 리프레시 제어부(113)를 포함할 수 있다.
카운팅 블룸 필터(111)는 M개(M은 자연수)의 카운터들(C1-CM) 및 N개(N은 자연수)의 해시 로직들(Hash1-HashN)을 포함할 수 있다. 카운터들(C1-CM)은 앞서 설명된 카운터 기반 자료구조를 제공할 수 있다. 해시 로직들(Hash1-HashN)은 입력 데이터에 대한 해시 연산을 수행함으로써 M비트 시퀀스들을 결과값들로 생성할 수 있다. M비트 시퀀스들의 각 비트는 카운터들(C1-CM) 각각에 대응할 수 있으며, 카운팅 블룸 필터(111)는 M비트 시퀀스들이 가리키는 카운터들의 카운터 값을 업데이트할 수 있다. 카운팅 블룸 필터(111)는 로우 어드레스(ADDR_R)를 입력 데이터로 하여 해시 연산을 수행하고, 해시 연산 결과값들이 가리키는 카운터들의 카운트 값들을 업데이트할 수 있다.
한편, 해시 로직들의 개수 N값과 카운터들의 개수 M값은 설계에 따라 자유롭게 선택될 수 있다. 예를 들어, N값이 작아질수록 해시 연산을 위한 연산 자원의 소모가 줄어들 수 있으며, N값이 커질수록 해시 연산 결과값들로부터 로우 어드레스를 역으로 추적하기 어려워져서 로우 해머링 공격에 대한 보안성이 향상될 수 있다. 그리고, M값이 작아질수록 액세스 카운팅을 위한 카운터 자원의 소모가 줄어들 수 있으며, M값이 커질수록 해시 연산 결과값들의 충돌이 적어져서 액세스 카운팅의 정확도가 향상될 수 있다. 따라서, 연산 자원과 카운터 자원의 양, 액세스 카운팅의 정확도, 보안성 등을 고려하여 N값과 M값이 사전에 결정될 수 있다.
후보 로우 결정부(112)는 정해진 기간에 액세스된 로우들 중 자주 액세스된 것으로 추정되는 로우들을 타겟 리프레시를 위한 후보 로우들로 결정할 수 있다. 앞서 설명된 바에 따르면, 로우 어드레스를 해시 로직들(Hash1-HashN)에 입력하면, 카운터들(C1-CM) 중 어떤 카운터들을 가리키는 결과 값들이 생성될 수 있다. 이하에서, 어떤 로우 어드레스에 대한 해시 연산 결과 값들이 가리키는 카운터들은 상기 로우 어드레스의 대응 카운터들로 지칭될 수 있다. 후보 로우 결정부(112)는 어떤 로우 어드레스의 대응 카운터들에 저장된 카운터 값들과 임계값을 비교함으로써 상기 로우 어드레스가 자주 액세스된 로우인지 여부를 추정하고, 자주 액세스된 것으로 추정되는 로우들을 상기 후보 로우들로 결정할 수 있다.
타겟 리프레시 제어부(113)는 후보 로우 결정부(112)에 의해 결정된 후보 로우들 중 하나 이상의 로우를 타겟 로우로 결정하고, 상기 타겟 로우의 인접한 로우들에 대한 메모리 장치(200)의 타겟 리프레시 동작을 제어할 수 있다. 예를 들어, 타겟 리프레시 제어부(113)는 타겟 리프레시 동작을 제어하기 위해 타겟 리프레시 제어신호(TR)을 출력할 수 있다. 도 1을 참조하여 설명된 컨트롤러(100)는 상기 타겟 리프레시 제어신호에 응하여 메모리 장치(200)로 액티브 커맨드 및 상기 인접한 로우들의 어드레스를 제공할 수 있다.
한편, 리프레시 제어회로(110)는 타겟 리프레시 동작이 주기적으로 수행되도록 타겟 리프레시 동작을 스케줄링할 수 있다. 그리고, 후보 로우 결정부(112)가 후보 로우를 선정하는 동작 및 타겟 리프레시 제어부(113)가 타겟 리프레시 동작을 제어하는 동작은 주기적으로 수행될 수 있다. 도 5a 내지 도 5b에서 타겟 리프레시 동작 주기에 대해 자세히 설명된다.
도 5a 및 도 5b는 본 발명의 실시 예에 따른 리프레시 동작 주기를 설명하기 위한 타이밍도들이다.
도 5a는 타겟 리프레시 동작의 주기를 설명하기 위한 도면이다. 리프레시 제어회로(110)는 메모리 셀 어레이(211)의 로우들이 순차적으로 리프레시되도록 오토 리프레시 동작들(AR)을 스케줄링할 수 있다. 리프레시 제어회로(110)는 오토 리프레시 동작들(AR)의 사이사이에 타겟 리프레시 동작들(TR)이 수행되도록 타겟 리프레시 동작들(TR)을 스케줄링할 수 있다.
도 5a는 오토 리프레시 동작들(AR)과 타겟 리프레시 동작들(TR)이 수행되는 시점을 시간축 상에 나타낸다. 도 5a를 참조하면, 제1 내지 제4 로우들(Row1-Row4)에 대한 오토 리프레시 동작들(AR)이 수행된 후 타겟 리프레시 동작(TR)이 수행되고, 제5 내지 제8 로우들(Row5-Row8)에 대한 오토 리프레시 동작들(AR)이 수행된 후 타겟 리프레시 동작(TR)이 수행될 수 있다. 즉, 네 번의 오토 리프레시 동작들(AR)이 수행될 때마다 한 번의 타겟 리프레시 동작(TR)이 수행될 수 있다.
한편, 도 5a는 타겟 리프레시 동작(TR)의 주기가 일정한 경우를 예시하고 있으나, 본 발명은 이에 제한되지 않는다. 예를 들어, 리프레시 제어회로(110)는 랜덤한 주기로 타겟 리프레시 동작(TR)을 제어할 수도 있다. 즉, 시간적으로 인접한 타겟 리프레시 동작들(TR) 사이의 기준 시구간들(tREF1, tREF2)의 길이는 일정할 수도 있으나, 매번 랜덤하게 결정될 수도 있다.
리프레시 제어회로(110)는 기준 시구간에 액세스되는 로우들의 액세스 카운팅을 수행하고, 액세스 카운팅 결과에 기초하여 후보 로우들을 선정할 수 있다. 그리고, 리프레시 제어회로(110)는 기준 시구간 종료 시에 상기 후보 로우들을 참조하여 타겟 리프레시 동작(TR)을 제어할 수 있다.
도 5b는 임의의 기준 시구간(tREFi)에서 액세스 카운팅을 수행하고, 후보 로우들을 선정하는 시간을 예시한다.
기준 시구간(tREFi)은 카운팅 기간 및 후보 선정 기간을 포함할 수 있다. 리프레시 제어회로(110)는 카운팅 기간에 액세스되는 로우들에 대한 액세스 카운팅을 수행함으로써 후보 로우들을 선정하기 위한 로우 액세스 이력을 수집할 수 있다. 그리고, 리프레시 제어회로(110)는 상기 카운팅 기간 이후의 후보 선정 기간에 액세스되는 로우들에 대한 로우 액세스 이력에 기초하여 자주 액세스된 것으로 추정되는 후보 로우들을 결정할 수 있다.
기준 시구간 내에서 카운팅 기간이 후보 선정 기간으로 전환되는 시점은 전환 시점으로 지칭될 수 있다. 전환 시점은, 카운팅 기간에 액세스된 로우들에 기초하여 후보 로우들을 결정하기에 충분한 횟수의 액세스 카운팅이 수행될 수 있는 시점으로 결정될 수 있다. 예를 들어, 전환 시점은 기준 시구간에서 절반 이상의 시간이 경과한 시점으로 결정될 수 있다. 후보 선정 기간 이후에 타겟 리프레시 동작이 수행되는 시점은 TR(Target Refresh) 시점으로 지칭될 수 있다.
한편, 리프레시 제어회로(110)가 랜덤한 주기로 타겟 리프레시 동작을 제어하는 경우, 악의적인 사용자가 카운팅 기간 및 후보 선정 기간을 알아내기 어려워질 수 있다. 악의적인 사용자가 후보 선정 기간을 회피하여 특정 로우에 반복적으로 액세스함으로써 로우 해머링 공격을 수행하는 것이 어려워질 수 있으며, 데이터는 로우 해머링 공격으로부터 더욱 효과적으로 보호될 수 있다.
이하에서, 하나의 기준 시구간에서 수행되는 타겟 리프레시 제어 동작이 도 6 내지 도 8c를 참조하여 자세히 설명된다.
도 6은 본 발명의 실시 예에 따른 리프레시 제어방법을 나타내는 흐름도이다. 도 7 내지 도 8c는 본 발명의 실시 예에 따른 리프레시 제어방법을 설명하기 위한 도면들이다.
도 6에서, 단계 S11 내지 단계 S13은 카운팅 기간에 수행되는 동작을 나타내며, 단계 S15 내지 단계 S17은 후보 선정 기간에 수행되는 동작을 나타낸다. 도 7은 카운팅 기간에 수행되는 동작을 설명하기 위한 도면이며, 도 8a 내지 도 8c는 후보 선정 기간에 수행되는 동작을 설명하기 위한 도면들이다.
도 6을 참조하면, 단계 S11에서 제1 로우의 액세스가 감지될 수 있다. 구체적으로, 제1 로우는 메모리 셀 어레이(211)에 포함된 복수의 로우들 중 어느 하나일 수 있다. 리프레시 제어회로(110)는 메모리 장치(200)에 액티브 커맨드와 함께 인가되는 어드레스에 기초하여 제1 로우의 액세스를 감지할 수 있다.
단계 S12에서, N개의 해시 함수를 이용한 제1 해시 연산이 수행될 수 있다. 구체적으로, 카운팅 블룸 필터(111)는 제1 로우의 어드레스를 N개의 해시 로직들에 입력함으로써 제1 해시 연산을 수행하고, N개의 결과값들을 생성할 수 있다. 결과값들 각각은 M비트 시퀀스일 수 있으며, M비트 시퀀스의 각 비트는 M개의 카운터들 중 하나에 대응할 수 있다.
단계 S13에서, 상기 제1 해시 연산의 결과값들이 가리키는 카운터들의 카운트 값이 업데이트될 수 있다. 구체적으로, 카운팅 블룸 필터(111)는 M개의 카운터들 중 상기 결과값들이 가리키는 대응 카운터들의 카운터 값을 정해진 증분만큼 증가시킬 수 있다.
도 7은 카운팅 블룸 필터(111)가 3개의 해시 로직들(Hash1-Hash3) 및 10개의 카운터들(C1-C10)을 포함하는 경우를 예로 들어 단계 S12 및 단계 S13의 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 제1 로우 어드레스(ADDR_R1)가 해시 로직들(Hash1-Hash3) 각각에 입력될 수 있다. 해시 로직들(Hash1-Hash3) 각각은 제1 로우 어드레스(ADDR_R1)에 대한 해시 연산을 수행하여 10비트 시퀀스를 출력할 수 있다. 10비트 시퀀스의 각 비트는 10개의 카운터들(C1-C10) 중 하나에 대응할 수 있다. 그리고, 10비트 시퀀스는 '1'값을 갖는 비트에 대응하는 카운터를 가리킬 수 있다.
예를 들어, 제1 해시 로직(Hash1)으로부터 출력된 10비트 시퀀스 '01000 00000'은 두 번째 비트가 '1'값을 가지며, 상기 시퀀스는 제2 카운터(C2)를 가리킬 수 있다. 마찬가지로, 제2 해시 로직(Hash2)으로부터 출력된 시퀀스는 제8 및 제9 카운터(C8, C9)를 가리키며, 제3 해시 로직(Hash3)으로부터 출력된 시퀀스는 제5 카운터(C5)를 가리킬 수 있다. 해시 로직들(Hash1-Hash3)으로부터 출력된 3개의 10비트 시퀀스들은 제2, 제5, 제8, 제9 카운터(C2, C5, C8, C9)를 가리킬 수 있다. 상기 시퀀스들이 가리키는 카운터들은, 상기 제1 로우의 대응 카운터들로 지칭될 수 있다.
카운팅 기간에 액세스된 로우들의 대응 카운터들의 카운트 값이 업데이트될 수 있다. 도 7의 예에서, 제2, 제5, 제8, 제9 카운터(C2, C5, C8, C9)의 카운트 값들이 각각 1씩 증가(+1)할 수 있다. 한편, 도 7은 서로 다른 시퀀스들이 서로 다른 카운터를 가리키는 경우를 예시하고 있으나, 해시 연산 결과에 따라서는 서로 다른 시퀀스들이 어떤 카운터를 중복하여 가리키는 경우가 발생할 수도 있다. 중복하여 가리켜진 카운터의 카운트 값은, 중복하여 가리켜진 횟수만큼 증가할 수 있다.
다시 도 6을 참조하면, 단계 S14에서 전환 시점에 도달하였는지 여부가 확인될 수 있다. 전환 시점에 도달하지 않은 경우(단계 S14에서, "아니오"), 리프레시 제어회로(110)는 단계 S11 내지 단계 S13을 반복 수행함으로써 액세스되는 로우들의 액세스 카운팅을 계속 수행할 수 있다.
전환 시점에 도달한 경우(단계 S14에서, "예"), 카운팅 기간은 후보 선정 기간으로 전환될 수 있으며, 단계 S15의 동작이 수행될 수 있다.
단계 S15에서, 제2 로우의 액세스가 감지될 수 있다. 구체적으로, 제2 로우는 메모리 셀 어레이(211)에 포함된 복수의 로우들 중 어느 하나일 수 있다. 프레시 제어회로(110)는 메모리 장치(200)에 액티브 커맨드와 함께 인가되는 어드레스에 기초하여 제2 로우의 액세스를 감지할 수 있다.
단계 S16에서, N개의 해시 함수를 이용한 제2 해시 연산이 수행될 수 있다. 구체적으로, 카운팅 블룸 필터(111)는 제2 로우의 어드레스를 N개의 해시 로직들에 입력함으로써 제2 해시 연산을 수행하고, N개의 결과값들을 생성할 수 있다. 상기 제1 해시 연산과 제2 해시 연산은 서로 동일한 N개의 해시 로직들을 이용하여 수행될 수 있다.
단계 S17에서, 상기 제2 해시 연산의 결과값들이 가리키는 카운터들의 카운트 값에 따라, 상기 제2 로우가 후보 로우로 선정될 수 있다. 예를 들어, 만약 제2 로우가 자주 액세스된 로우라면 상기 제2 로우의 대응 카운터의 카운트 값들이 다른 카운터의 카운트 값들에 비해 크게 증가할 수 있다. 따라서, 후보 로우 결정부(112)는 대응 카운터의 카운트 값들이 임계값보다 큰 경우에 상기 제2 로우를 후보 로우로 선정할 수 있다.
도 8a는 카운팅 블룸 필터(111)가 3개의 해시 로직들(Hash1-Hash3) 및 10개의 카운터들(C1-C10)을 포함하는 경우를 예로 들어 단계 S16 및 단계 S17의 동작을 설명하기 위한 도면이다. 도 8a에 도시된 해시 로직들(Hash1-Hash3)은 도 7에 도시된 해시 로직들(Hash1-Hash3)과 동일한 해시 연산을 수행할 수 있다.
도 8a를 참조하면, 제2 로우 어드레스(ADDR_R2)에 의한 해시 연산 결과값으로 도출된 10비트 시퀀스들에 기초하여, 제2 로우 어드레스(ADDR_R2)의 대응 카운터는 제4, 제8, 제10 카운터(C4, C8, C10)로 결정될 수 있다. 해시 로직들(Hash1-Hash3) 각각은 하나의 입력으로부터 유일한(uniform) 시퀀스를 출력할 수 있다. 즉, 제2 로우 어드레스(ADDR_R2)가 액세스될 때마다 항상 제4, 제8, 제10 카운터(C4, C8, C10)의 카운트 값이 업데이트될 수 있다.
그러나, 해시 함수들은 충돌 가능성을 가지므로 제4, 제8, 제10 카운터(C4, C8, C10) 각각의 카운트 값은 제2 로우가 아닌 다른 로우가 액세스될 때도 업데이트될 수 있다. 따라서, 제4, 제8, 제10 카운터(C4, C8, C10) 중 어느 하나의 카운트 값이 임계값보다 크다는 것만으로는 반드시 제2 로우가 자주 액세스되었다고 단정할 수는 없다. 그러나, 제4, 제8, 제10 카운터(C4, C8, C10)의 카운트 값들이 모두 임계값보다 크다면, 제2 로우가 자주 액세스된 것으로 추정될 수 있다. 바꾸어 말하면, 제4, 제8, 제10 카운터(C4, C8, C10)의 카운트 값들 중 최솟값이 임계값보다 크다면, 제2 로우가 자주 액세스된 것으로 추정될 수 있다.
도 8a는 카운터들(C1-C10) 각각의 카운트 값(Cnt_value)을 예시한다. 카운트 값의 임계값은 '1000'일 수 있다. 카운터들(C1-C10) 중 카운트 값이 임계값보다 큰 카운터들은 도트 패턴으로 도시된다. 도 8a의 예에서, 제2 로우의 대응 카운터들인 제4, 제8, 제10 카운터(C4, C8, C10)의 카운트 값들 중 최솟값 '1050'이 임계값 '1000'보다 크므로, 제2 로우가 후보 로우로 결정될 수 있다.
한편, 카운트 값의 임계값은 설계에 따라 자유롭게 선택될 수 있다. 구체적으로, 상기 임계값은 어떤 로우가 반복적으로 액세스되는 경우 상기 로우의 인접한 로우가 리프레시되지 않아도 데이터를 정상적으로 유지할 수 있는 카운트 값인 한계 액세스 카운트에 기초하여 결정될 수 있다. 예를 들어, 어떤 로우가 1000번 액세스될 때까지 인접한 로우가 리프레시되지 않더라도 상기 인접한 로우가 데이터를 정상적으로 유지할 수 있다면, 상기 임계값은 1000으로 결정될 수 있다.
상기 임계값을 결정하기 위해서 상기 한계 액세스 카운트뿐만 아니라, 카운터의 개수 M값이 더 고려될 수 있다. 해시 함수의 충돌은, 각 로우별 액세스 카운트의 과대추정(over-estimation)을 유발할 수 있다. 예를 들어, 제2 로우의 대응 카운터들의 카운트 값들 중 최솟값이 '1050'인 경우라도, 제2 로우가 1050번 이상 액세스되었다고 단정할 수 없다. 제10 카운터(C10)는 제2 로우뿐만 아니라 다른 로우의 액세스에 의해서 카운트될 수 있으므로, 상기 최솟값이 '1050'인 경우 제2 로우는 실제로는 1050번보다 적은 횟수만큼 액세스되었을 수 있다. 카운터의 개수가 작아질수록 해시 함수의 충돌이 많아질 수 있으며, 각 카운터들은 각 로우들의 실제 액세스 카운트보다도 큰 값으로 카운트될 수 있다. 따라서, 카운터의 개수가 작아질수록 상기 임계값을 큰 값으로 결정함으로써 과대추정을 보상할 수 있다.
한편, 도 6 및 도 8a에 대한 설명에서는 생략되었으나, 카운팅 구간에서 액세스된 로우들의 경우와 마찬가지로, 후보 선정 구간에서 액세스된 로우들의 대응 카운터들의 카운터 값들 또한 업데이트될 수 있다.
다시 도 6을 참조하면, 단계 S18에서 타겟 리프레시를 수행할 시점에 도달하였는지 여부가 확인될 수 있다. 타겟 리프레시 시점이 아닌 경우(단계 S18에서, "아니오"), 리프레시 제어회로(110)는 단계 S15 내지 단계 S17을 반복 수행함으로써 액세스되는 로우들 중에서 후보 로우를 선정하는 동작을 계속 수행할 수 있다.
도 8b는 후보 선정 구간에서 제3 로우가 더 액세스되는 경우를 예로 들어 본 발명의 실시 예를 설명하기 위한 도면이다. 도 8b의 카운팅 블룸 필터(111)는 도 7 및 도 8a에 도시된 것과 동일한 3개의 해시 로직들(Hash1-Hash3) 및 10개의 카운터들(C1-C10)을 이용하여 액세스 카운팅을 수행할 수 있다.
도 8b를 참조하면, 제3 로우 어드레스(ADDR_R3)에 의한 해시 연산 결과값으로 도출된 10비트 시퀀스들에 기초하여, 제3 로우 어드레스(ADDR_R3)의 대응 카운터는 제3 및 제4 카운터(C3, C4)로 결정될 수 있다. 제3 로우 어드레스(ADDR_R3)의 대응 카운터들의 최솟값 '1077'이 임계값보다 크므로, 후보 선정 구간에서 제3 로우가 추가적으로 후보 로우로 결정될 수 있다.
전환 시점에 도달한 경우(단계 S18에서, "예"), 단계 S19에서, 후보 로우들 중 적어도 하나의 타겟 로우에 인접한 로우들에 대한 타겟 리프레시 동작이 제어될 수 있다.
한 번의 타겟 리프레시 동작에서 동시에 리프레시될 수 있는 로우들의 개수는 제한될 수 있다. 만약 후보 로우들의 인접한 로우들의 개수가 상기 제한된 개수보다 많은 경우, 타겟 리프레시 제어부(113)는 상기 후보 로우들 중 제한된 개수의 로우들을 타겟 로우들로 선정하고, 타겟 로우들의 인접한 로우들에 대해서 타겟 리프레시 동작을 수행할 수 있다.
구현에 따라, 타겟 리프레시 제어부(113)는 후보 로우들 중 가장 액세스 카운트가 높을 것으로 추정되는 로우들을 타겟 로우들로 선정할 수 있다. 그러나, 본 발명은 이에 제한되지 않는다. 예를 들어, 타겟 리프레시 제어부(113)는 타겟 로우들을 신속하게 결정하기 위해, 후보 로우들 중 제한된 개수의 로우들을 랜덤하게 선택함으로써 타겟 로우들을 선정할 수 있다.
타겟 리프레시 제어부(113)는 타겟 로우들의 인접한 로우들에 대한 타겟 리프레시 제어신호를 출력한 이후, 상기 타겟 로우들의 대응 카운터들의 카운트 값들을 감소시킬 수 있다. 예를 들어, 타겟 리프레시 제어부(113)는 상기 타겟 로우들을 카운팅 블룸 필터(111)에 입력함으로써 상기 타겟 로우들 각각의 대응 카운터들을 결정하고, 상기 대응 카운터들의 카운트 값들 각각에서 상기 카운트 값들 중 최솟값을 뺌으로써 상기 카운트 값들을 감소시킬 수 있다.
도 8c는 단계 S19의 타겟 리프레시 제어가 완료된 후에, 다음 기준 시구간에 포함된 어느 시점에서의 카운팅 블룸 필터(111)의 상태를 예시한다. 도 8c의 카운팅 블룸 필터(111)는 도 7, 도 8a 및 도 8b에 도시된 것과 동일한 3개의 해시 로직들(Hash1-Hash3) 및 10개의 카운터들(C1-C10)을 이용하여 액세스 카운팅을 수행할 수 있다.
단계 S19에서, 후보 로우들인 제2 및 제3 로우 중 제2 로우만이 타겟 로우로 선정된 경우, 제2 로우의 인접한 로우들의 타겟 리프레시 동작이 수행될 수 있다. 그리고, 제2 로우의 대응 카운터인 제4, 제8 및 제10 카운터(C4, C8, C10)의 카운터 값들이 최솟값인 '1050'만큼씩 감소될 수 있다. 도 8c에서 표시된 카운트 값들은 타겟 리프레시 동작 이후에 감소된 카운트 값들을 예시한다.
대응 카운터의 카운터 값들을 최솟값만큼씩 감소시키는 것은, 대응 카운터의 카운터 값들 중 되도록이면 타겟 로우에 의해 카운팅된 카운트 값만큼을 감소시키려는 취지일 수 있다. 예를 들어, 도 8a 및 도 8b의 예에서 제4 카운터(C4)의 카운트 값은 제2 로우가 액세스될 때도 업데이트될 수 있고, 제3 로우가 액세스될 때도 카운트될 수 있다. 제4 카운터(C4)의 도 8b에서의 카운트 값 '2230'를 '1050'만큼 감소시키는 경우 제4 카운터(C4)의 카운트 값에서 제3 로우에 의해 카운트된 값들은 대체로 유지될 수 있다.
도 8c의 예에서, 다음 기준 시구간의 후보 로우 선정 구간에서 제3 로우가 다시 액세스될 수 있다. 도 8b를 참조하여 설명된 것과 같이 제3 로우의 대응 카운터는 제3 및 제4 카운터(C3, C4)로 결정될 수 있다. 대응 카운터의 카운트 값들 중 최솟값 '1077'이 임계값보다 크므로, 제3 로우는 다시 후보 로우로 선정될 수 있다. 요컨대, 어떤 기준 시구간의 후보 로우들 중 타겟 로우로 선정되지 못한 로우들은, 다음 기준 시구간에서 다시 후보 로우로 선정될 수 있으며 타겟 로우로 선정될 기회를 가질 수 있다.
구현에 따라, 카운팅 블룸 필터(111)는 어떤 로우에 오토 리프레시 동작이 수행되면, 상기 로우에 인접한 로우들의 대응 카운터의 카운터 값을 감소시킬 수 있다. 자주 액세스된 로우의 인접한 로우에 타겟 리프레시가 수행되기 전에 상기 인접한 로우에 오토 리프레시가 수행된 경우, 곧바로 타겟 리프레시 동작을 수행하지 않아도 상기 로우의 데이터 유실이 방지될 수 있다. 따라서, 어떤 로우에 오토 리프레시 동작이 수행되면, 상기 로우에 타겟 리프레시 동작이 곧바로 수행되지 않도록 상기 로우의 인접한 로우들의 대응 카운터의 카운터 값을 감소시킬 수 있다.
본 발명의 실시 예에 따르면, 리프레시 제어회로(110)는 카운팅 블룸 필터를 이용하여 로우들의 액세스 카운팅을 수행함으로써, 제한된 수의 카운터 자원을 이용하여 모든 로우들의 액세스 이력을 추적할 수 있다. 따라서, 악의적인 사용자가 로우 해머링 공격을 수행하기 위해 어떤 로우에 반복적으로 액세스하는 경우라도, 상기 로우를 타겟 로우로 결정하여 타겟 리프레시 동작을 수행할 수 있다.
이하에서, 도 9 내지 도 10을 참조하여 악의적인 로우 해머링 공격을 더욱 효과적으로 방어할 수 있는 리프레시 제어회로(110)의 예가 설명된다.
도 9는 본 발명의 실시 예에 따른 리프레시 제어회로를 나타내는 블록도이다.
도 9의 리프레시 제어회로(110)에 포함된 카운팅 블룸 필터(111), 후보 로우 결정부(112) 및 타겟 리프레시 제어부(113)는 도 4를 참조하여 설명된 것들과 대응할 수 있다. 도 9의 리프레시 제어회로(110)는 해시 로직 재구성부(114)를 더 포함할 수 있다.
해시 로직 재구성부(114)는 카운팅 블룸 필터(111)에 포함된 N개의 해시 로직들을 주기적으로 변경함으로써 N개의 해시 로직들을 재구성할 수 있다. 예를 들어, N개의 해시 로직들 각각은 복수의 논리 게이트들을 포함할 수 있으며, 해시 로직들 각각의 해시 함수는 상기 논리 게이트들의 연결 구조에 따라 정의될 수 있다. 본 발명의 실시 예에 따르면, 해시 로직 재구성부(114)는 해시 로직들 각각의 연결 구조를 변경함으로써 해시 로직들 각각의 해시 함수를 변경할 수 있다.
도 10은 본 발명의 실시 예에 따른 리프레시 제어방법을 설명하기 위한 타이밍도이다.
도 10은 타겟 리프레시 동작(TR)들이 수행되는 시점을 시간축에 도시한다. 해시 로직들에 적용되는 해시 함수는 주기적으로 변경될 수 있다. 예를 들어, 카운팅 블룸 필터는 해시 함수들(Hash1A, ??)을 이용하여 액세스 카운팅을 수행하고, 후보 로우들을 선정할 수 있다. 그리고, 어느 시점 이후에 카운팅 블룸 필터는 변경된 해시 함수들(Hash1B, ??)을 이용하여 액세스 카운팅을 수행하고, 후보 로우들을 선정할 수 있다.
해시 로직들의 해시 함수가 고정되는 경우, 악의적인 사용자가 반복적으로 여러 로우에 액세스해봄으로써 M개의 카운터들 중 어느 카운터에서 해시 충돌이 적게 일어나는지 추측할 수 있다. 그리고, 악의적인 사용자가 해시 충돌이 적게 일어나는 카운터들을 대응 카운터로 갖는 로우에 반복적으로 액세스함으로써, 자주 액세스되는 로우들을 검출하기 어렵게 함으로써 타겟 리프레시를 회피하면서 로우 해머링 공격을 수행할 수 있다.
그러나, 본 발명의 실시 예에 따라 해시 로직들의 해시 함수가 변경되는 경우, 로우들 각각의 대응 카운터도 변경될 수 있다. 예를 들어, 카운팅 블룸 필터가 해시 함수들(Hash1A, ??)을 사용하여 타겟 리프레시를 수행하는 동안 악의적인 사용자는 타겟 리프레시를 회피하기 위한 전략을 결정할 수 있다. 그러나, 카운팅 블룸 필터가 변경된 해시 함수들(Hash1B, ??)을 사용하여 타겟 리프레시를 수행하는 시점에서 악의적인 사용자의 전략은 더 이상 무의미해질 수 있다. 따라서, 악의적인 사용자가 타겟 리프레시를 회피하면서 로우 해머링 공격을 수행하기 어려워질 수 있으며, 로우 해머링 공격에 대한 보안이 강화될 수 있다.
이하에서, 본 발명의 실시 예에 따른 리프레시 제어회로 및 리프레시 제어방법이 적용된 메모리 시스템의 예들이 도 11 및 도 12를 참조하여 설명된다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템을 나타내는 도면이다.
도 11을 참조하면, 반도체 장치(30)는 메모리 시스템에 대응할 수 있으며, 반도체 장치(30)는 복수의 단위 메모리 장치들(400) 및 제어 로직(300)을 포함할 수 있다. 복수의 단위 메모리 장치들(400) 및 제어 로직(300)은 하나의 메모리 칩을 구성할 수 있다.
단위 메모리 장치(400)는 도 2를 참조하여 설명된 메모리 장치(200)에 대응할 수 있다. 예를 들어, 단위 메모리 장치(400)가 DRAM인 경우, 단위 메모리 장치(400) 은 메모리 뱅크로 정의될 수 있다. 복수의 단위 메모리 장치들(400) 각각은, 메모리 셀 어레이(411), 로우 디코더(412), 센스 앰프 회로(413), 및 칼럼 디코더(414) 등을 포함할 수 있다.
복수의 단위 메모리 장치들(400)의 동작은 로직 회로(300)에 의해 제어될 수 있다. 로직 회로(300)는 외부로부터 수신한 데이터를 복수의 단위 메모리 장치들(400) 중 적어도 하나에 저장하거나, 외부로부터 수신한 어드레스 정보에 기초하여 복수의 단위 메모리 장치들(400) 중 적어도 하나로부터 데이터를 읽어와서 외부로 출력할 수 있다.
또한 로직 회로(300)는 외부 장치와 신호를 주고받기 위한 입출력 회로를 포함할 수 있다. 로직 회로(300)를 기준으로 양측에 복수의 단위 메모리 장치들(400)이 배치되므로 로직 회로(300)는 반도체 장치(30)의 센터 영역에 배치될 수 있다.
로직 회로(300)는 도 1을 참조하여 설명된 컨트롤러(100)에 대응할 수 있으며, 리프레시 제어회로를 포함할 수 있다. 본 발명의 실시 예에 따르면, 로직 회로(300)는 제한된 수의 카운터 자원을 포함하는 카운팅 블룸 필터를 이용하여 복수의 단위 메모리 장치들(400)에서 액세스되는 로우들을 효율적으로 카운팅할 수 있다. 그리고, 로직 회로(300)는 어떤 로우를 상기 카운팅 블룸 필터에 입력한 결과에 기초하여 상기 로우가 자주 액세스되는 로우인지 여부를 추정하고, 추정 결과에 따라 상기 로우의 인접한 로우들에 타겟 리프레시 동작을 수행할 수 있다. 따라서, 로직 회로(300)는 로우 해머링에 의한 데이터 유실을 효과적으로 방지할 수 있다.
도 12는 본 발명의 실시 예에 다른 메모리 시스템이 적용된 시스템을 나타내는 도면이다.
도 12의 시스템(1000)은 기본적으로 휴대용 통신 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기 또는 IOT(internet of things) 기기와 같은 모바일(mobile) 시스템일 수 있다. 하지만 도 12의 시스템(1000)은 반드시 모바일 시스템에 한정되는 것은 아니고, 개인용 컴퓨터(personal computer), 랩탑(laptop) 컴퓨터, 서버(server), 미디어 재생기(media player) 또는 내비게이션(navigation)과 같은 차량용 장비(automotive device) 등이 될 수도 있다.
도 12를 참조하면, 시스템(1000)은 메인 프로세서(main processor)(1100), 메모리(1200a, 1200b) 및 스토리지 장치(1300a, 1300b)를 포함할 수 있으며, 추가로 촬영 장치(image capturing device)(1410), 사용자 입력 장치(user input device)(1420), 센서(1430), 통신 장치(1440), 디스플레이(1450), 스피커(1460), 전력 공급 장치(power supplying device)(1470) 및 연결 인터페이스(connecting interface)(1480) 중 하나 이상을 포함할 수 있다.
메인 프로세서(1100)는 시스템(1000)의 전반적인 동작, 보다 구체적으로는 시스템(1000)을 이루는 다른 구성 요소들의 동작을 제어할 수 있다. 이와 같은 메인 프로세서(1100)는 범용 프로세서, 전용 프로세서 또는 애플리케이션 프로세서(application processor) 등으로 구현될 수 있다.
메인 프로세서(1100)는 하나 이상의 CPU 코어(1110)를 포함할 수 있으며, 메모리(1200a, 1200b) 및/또는 스토리지 장치(1300a, 1300b)를 제어하기 위한 컨트롤러(1120)를 더 포함할 수 있다. 실시예에 따라서는, 메인 프로세서(1100)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기(accelerator)(1130)를 더 포함할 수 있다. 이와 같은 가속기(1130)는 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 및/또는 DPU(Data Processing Unit) 등을 포함할 수 있으며, 메인 프로세서(1100)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다.
메모리(1200a, 1200b)는 시스템(1000)의 주기억 장치로 사용될 수 있으며, SRAM 및/또는 DRAM 등의 휘발성 메모리를 포함할 수 있으나, 플래시 메모리, PRAM 및/또는 RRAM 등의 비휘발성 메모리를 포함할 수도 있다. 메모리(1200a, 1200b)는 메인 프로세서(1100)와 동일한 패키지 내에 구현되는 것도 가능하다.
메모리(1200a, 1200b)는 도 1을 참조하여 설명된 메모리 장치(200)에 대응할 수 있으며, 컨트롤러(1120)는 도 1을 참조하여 설명된 컨트롤러(100)에 대응할 수 있다. 컨트롤러(1120)는 메모리(1200a, 1200b)의 리프레시 동작을 제어하기 위한 리프레시 제어회로를 포함할 수 있다.
본 발명의 실시 예에 따르면, 컨트롤러(1120)는 카운팅 블룸 필터를 이용하여 메모리(1200a, 1200b)에 포함된 메모리 셀 로우들의 액세스 카운팅을 수행하고, 액세스 카운팅 결과에 따라 로우 해머링으로 인해 리프레시 동작이 필요한 로우들을 효율적으로 선정할 수 있다.
스토리지 장치(1300a, 1300b)는 전원 공급 여부와 관계 없이 데이터를 저장하는 비휘발성 저장 장치로서 기능할 수 있으며, 메모리(1200a, 1200b)에 비해 상대적으로 큰 저장 용량을 가질 수 있다. 스토리지 장치(1300a, 1300b)는 스토리지 컨트롤러(1310a, 1310b)와, 스토리지 컨트롤러(1310a, 1310b)의 제어 하에 데이터를 저장하는 비휘발성 메모리(non-volatile memory, NVM)(1320a, 1320b)를 포함할 수 있다. 비휘발성 메모리(1320a, 1320b)는 2D(2-dimensional) 구조 혹은 3D(3-dimensional) V-NAND(Vertical NAND) 구조의 플래시 메모리를 포함할 수 있으나, PRAM 및/또는 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다.
스토리지 장치(1300a, 1300b)는 메인 프로세서(1100)와는 물리적으로 분리된 상태로 시스템(1000)에 포함될 수도 있고, 메인 프로세서(1100)와 동일한 패키지 내에 구현될 수도 있다. 또한, 스토리지 장치(1300a, 1300b)는 SSD(solid state device) 혹은 메모리 카드(memory card)와 같은 형태를 가짐으로써, 후술할 연결 인터페이스(1480)와 같은 인터페이스를 통해 시스템(1000)의 다른 구성 요소들과 탈부착 가능하도록 결합될 수도 있다. 이와 같은 스토리지 장치(1300a, 1300b)는 UFS(Universal Flash Storage), eMMC(embedded multi-media card) 혹은 NVMe(non-volatile memory express)와 같은 표준 규약이 적용되는 장치일 수 있으나, 반드시 이에 한정되는 건 아니다.
촬영 장치(1410)는 정지 영상 또는 동영상을 촬영할 수 있으며, 카메라(camera), 캠코더(camcorder) 및/또는 웹캠(webcam) 등일 수 있다.
사용자 입력 장치(1420)는 시스템(1000)의 사용자로부터 입력된 다양한 유형의 데이터를 수신할 수 있으며, 터치 패드(touch pad), 키패드(keyboard), 키보드(keyboard), 마우스(mouse) 및/또는 마이크(microphone) 등일 수 있다.
센서(1430)는 시스템(1000)의 외부로부터 획득될 수 있는 다양한 유형의 물리량을 감지하고, 감지된 물리량을 전기 신호로 변환할 수 있다. 이와 같은 센서(1430)는 온도 센서, 압력 센서, 조도 센서, 위치 센서, 가속도 센서, 바이오 센서(biosensor) 및/또는 자이로스코프(gyroscope) 센서 등일 수 있다.
통신 장치(1440)는 다양한 통신 규약에 따라 시스템(1000) 외부의 다른 장치들과의 사이에서 신호의 송신 및 수신을 수행할 수 있다. 이와 같은 통신 장치(1440)는 안테나, 트랜시버(transceiver) 및/또는 모뎀(MODEM) 등을 포함하여 구현될 수 있다.
디스플레이(1450) 및 스피커(1460)는 시스템(1000)의 사용자에게 각각 시각적 정보와 청각적 정보를 출력하는 출력 장치로 기능할 수 있다.
전력 공급 장치(1470)는 시스템(1000)에 내장된 배터리(도시 안함) 및/또는외부 전원으로부터 공급되는 전력을 적절히 변환하여 시스템(1000)의 각 구성 요소들에게 공급할 수 있다.
연결 인터페이스(1480)는 시스템(1000)과, 시스템(1000)에 연결되어 시스템(1000과 데이터를 주고받을 수 있는 외부 장치 사이의 연결을 제공할 수 있다. 연결 인터페이스(1480)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe, IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC, UFS, eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다.
본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되는 것이 아니며 첨부된 청구범위에 의해 한정하고자 한다. 따라서, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당 기술분야의 통상의 지식을 가진 자에 의해 다양한 형태의 치환, 변형 및 변경이 가능할 것이며, 이 또한 본 발명의 범위에 속한다고 할 것이다.
10, 30: 메모리 시스템
100, 300, 1120: 컨트롤러
200, 400, 1200a, 1200b: 메모리 장치

Claims (10)

  1. 복수의 메모리 셀 로우들의 리프레시를 제어하는 리프레시 제어회로에 있어서,
    각각이 입력 데이터에 대한 해시 연산을 수행하고 M비트(M은 자연수) 시퀀스를 출력하는 N개(N은 자연수)의 해시 로직들, 및 상기 M비트 시퀀스의 각 비트에 대응하는 M개의 카운터들을 포함하고, 상기 M개의 카운터들 중에서, 상기 복수의 메모리 셀 로우들 중 액세스된 로우의 어드레스를 입력 데이터로 하여 상기 N개의 해시 로직들로부터 획득한 M비트 시퀀스들의 값이 가리키는 대응 카운터들의 카운트 값들을 업데이트하는 카운팅 블룸 필터;
    정해진 기간에 액세스된 메모리 셀 로우들 중 대응 카운터들의 카운트 값들이 임계값보다 큰 로우를 타겟 리프레시 동작의 후보 로우로 결정하는 후보 로우 결정부; 및
    상기 후보 로우 결정부에서 결정된 후보 로우들 중 하나 이상의 타겟 로우의 인접한 로우들에 대한 타겟 리프레시 신호를 출력하는 타겟 리프레시 제어부
    를 포함하는 리프레시 제어회로.
  2. 제1항에 있어서,
    상기 카운팅 블룸 필터는
    상기 M비트 시퀀스들 각각의 비트들 중 '1' 값을 갖는 비트들에 대응하는 카운터들을 상기 액세스된 로우의 대응 카운터들로 결정하는
    리프레시 제어회로.
  3. 제1항에 있어서,
    상기 카운팅 블룸 필터는
    상기 인접한 로우들에 대한 타겟 리프레시 신호를 출력한 후, 상기 하나 이상의 타겟 로우 각각의 대응 카운터들의 카운트 값들을 감소시키는
    리프레시 제어회로.
  4. 제3항에 있어서,
    상기 카운팅 블룸 필터는
    상기 하나 이상의 타겟 로우 각각의 대응 카운터들의 카운터 값들에, 상기 카운터 값들 중 최솟값을 뺌으로써 상기 카운터 값들을 감소시키는
    리프레시 제어회로.
  5. 제1항에 있어서,
    상기 타겟 리프레시 제어부는
    동시에 타겟 리프레시될 수 있는 로우들의 개수에 따라, 상기 후보 로우들 중 정해진 개수의 로우들을 랜덤으로 선정하여 상기 하나 이상의 타겟 로우로 결정하는
    리프레시 제어회로.
  6. 제1항에 있어서,
    상기 리프레시 제어회로는
    정해진 주기에 상기 복수의 메모리 셀 로우들이 모두 리프레시될 수 있도록 상기 복수의 메모리 셀 로우들을 순차적으로 리프레시하기 위한 오토 리프레시 동작들을 스케줄링하며, 상기 스케줄링된 오토 리프레시 동작들의 사이사이에 상기 타겟 리프레시 동작을 스케줄링하는
    리프레시 제어회로.
  7. 제1항에 있어서,
    상기 리프레시 제어회로는
    상기 N개의 해시 로직들 각각에 적용된 해시 함수를 주기적으로 변경함으로써 상기 N개의 해시 로직들을 재구성하는 해시 로직 재구성부
    를 더 포함하는 리프레시 제어회로.
  8. 제1항에 있어서,
    상기 임계값은
    상기 복수의 메모리 셀 로우들 중 어떤 로우가 반복적으로 액세스되는 경우 상기 로우의 인접한 로우가 리프레시되지 않고 데이터를 정상적으로 유지할 수 있는 액세스 카운트인 한계 액세스 카운트에 기초하여 결정되는
    리프레시 제어회로.
  9. 메모리 시스템에 있어서,
    복수의 메모리 셀 로우들을 포함하는 메모리 장치; 및
    상기 메모리 장치를 제어하는 컨트롤러를 포함하고,
    상기 컨트롤러는
    상기 복수의 메모리 셀 로우들 중에서 액세스된 로우들을 카운팅 블룸 필터에 입력함으로써 상기 액세스된 로우들의 액세스 카운팅을 수행하고, 상기 카운팅 블룸 필터에 저장된 카운트 값들에 기초하여 상기 액세스된 로우들 중 자주 액세스된 것으로 추정되는 로우들을 후보 로우들로 결정하며, 상기 후보 로우들 중에서 결정된 타겟 로우의 인접한 로우들에 타겟 리프레시 동작을 수행하도록 상기 메모리 장치를 제어하는
    메모리 시스템.
  10. 복수의 메모리 셀 로우들의 리프레시 제어방법에 있어서,
    카운팅 기간에, 상기 복수의 메모리 셀 로우들 중에서 액세스된 제1 로우의 어드레스를 복수의 해시 로직들에 입력하여 복수의 제1 해시 연산 결과값들을 획득하고, 복수의 카운터들 중 상기 복수의 제1 해시 연산 결과값들 각각이 가리키는 대응 카운터들의 카운터 값을 업데이트하는 단계;
    상기 카운팅 기간 이후의 후보 선정 기간에, 상기 복수의 메모리 셀 로우들 중에서 액세스된 제2 로우의 어드레스를 상기 복수의 해시 로직들에 입력하여 복수의 제2 해시 연산 결과값들을 획득하고, 상기 복수의 카운터들 중 상기 복수의 제2 해시 연산 결과값들 각각이 가리키는 카운터들의 카운트 값에 따라 상기 제2 로우를 타겟 리프레시 동작의 후보 로우로 결정하는 단계; 및
    상기 후보 선정 기간에 결정된 후보 로우들 중 적어도 하나의 타겟 로우의 인접한 로우들에 대한 타겟 리프레시를 제어하는 단계
    를 포함하는 리프레시 제어방법.
KR1020220016768A 2021-11-10 2022-02-09 메모리 시스템, 리프레시 제어회로 및 리프레시 제어방법 KR20230068242A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/817,348 US20230147402A1 (en) 2021-11-10 2022-08-03 Memory system, refresh control circuit, and refresh control method
CN202211403824.4A CN116110452A (zh) 2021-11-10 2022-11-10 存储器系统、刷新控制电路和刷新控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210154143 2021-11-10
KR20210154143 2021-11-10

Publications (1)

Publication Number Publication Date
KR20230068242A true KR20230068242A (ko) 2023-05-17

Family

ID=86547326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220016768A KR20230068242A (ko) 2021-11-10 2022-02-09 메모리 시스템, 리프레시 제어회로 및 리프레시 제어방법

Country Status (1)

Country Link
KR (1) KR20230068242A (ko)

Similar Documents

Publication Publication Date Title
US11282561B2 (en) Refresh command control for host assist of row hammer mitigation
CN110827883B (zh) 存储器件、存储系统以及用于刷新存储器件的方法
US10636476B2 (en) Row hammer mitigation with randomization of target row selection
JP2020166832A5 (ko)
KR102577160B1 (ko) 메모리 시스템
KR20210091647A (ko) 비휘발성 메모리에 대한 자동 증분 기입 카운트
US11961550B2 (en) Memory device, memory system having the same and operating method thereof
US11727965B2 (en) Nonvolatile memory device, operating method of nonvolatile memory device, and electronic device including nonvolatile memory device
US11688453B2 (en) Memory device, memory system and operating method
KR20230068242A (ko) 메모리 시스템, 리프레시 제어회로 및 리프레시 제어방법
US20230147402A1 (en) Memory system, refresh control circuit, and refresh control method
US20240144988A1 (en) Memory device, memory system including memory device, and method of operating memory device
US20230236732A1 (en) Memory device
US20230143468A1 (en) Memory device, a memory system having the same and an operating method thereof
US11848043B2 (en) Memory device and memory system
US20240071479A1 (en) Sram including reference voltage generator and read method thereof
KR20240062601A (ko) 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법