로우 해머링을 방지하기 위해 캐시 메모리를 제어하는 방법 및 장치
A method and apparatus for controlling cache memory to prevent row hammering
특허 요약
본 개시는 로우 해머링을 방지하기 위해 캐시 메모리를 제어하는 방법 및 장치에 관한 것이다. 본 개시의 일 실시 예에 따른 방법은, 제1 캐시 세트의 캐시 불일치에 따른 메모리 요청에 기초하여, 디램의 적어도 하나의 로우를 활성화할 수 있다. 또한, 방법은, 적어도 하나의 로우가 활성화되는 횟수와 기설정된 횟수의 비교에 기초하여, 적어도 하나의 로우를 공격자 로우로 설정할 수 있다. 또한, 방법은, 제1 캐시 세트의 확장 세트인 제2 캐시 세트를 추출할 수 있다. 또한, 방법은, 공격자 로우의 데이터를 제2 캐시 세트에 저장할 수 있다.
청구항
번호청구항
5

제1 항에 있어서,상기 메모리 요청에 따른 태그에 기초하여, 상기 제1 캐시 세트 및 상기 제2 캐시 세트에 대한 태그 매칭을 수행하는 단계를 더 포함하는, 방법.

1

제1 캐시 세트의 캐시 불일치에 따른 메모리 요청에 기초하여, 디램의 적어도 하나의 로우를 활성화하는 단계;상기 적어도 하나의 로우가 활성화되는 횟수와 기설정된 횟수의 비교에 기초하여, 상기 적어도 하나의 로우를 공격자 로우로 설정하는 단계;상기 제1 캐시 세트의 확장 세트인 제2 캐시 세트를 추출하는 단계; 및상기 공격자 로우의 데이터를 상기 제2 캐시 세트에 저장하는 단계를 포함하는, 방법.

2

제1 항에 있어서,상기 추출하는 단계는,상기 제1 캐시 세트에 인덱스 해싱(Index hashing)을 수행하여 상기 제2 캐시 세트를 추출하는 단계를 포함하는, 방법.

3

제1 항에 있어서,상기 설정하는 단계는,상기 적어도 하나의 로우가 활성화되는 횟수와 기설정된 횟수의 비교에 기초하여, 공격 비트를 생성하는 단계; 및상기 공격 비트에 기초하여, 상기 적어도 하나의 로우를 공격자 로우로 설정하는 단계를 포함하는, 방법.

4

제1 항에 있어서,상기 저장하는 단계는,상기 공격자 로우의 데이터가 저장되는 캐시 라인의 비트를 상기 제1 캐시 세트의 적어도 하나의 비트로 구성되도록 설정하는 단계; 및상기 공격자 로우의 데이터를 상기 캐시 라인에 저장하는 단계를 포함하고,상기 캐시 라인은,상기 제2 캐시 세트에 포함된 것인, 방법.

6

제5 항에 있어서,상기 태그 매칭을 수행하는 단계는,상기 메모리 요청에 기초하여, 확장 태그를 생성하는 단계; 및상기 확장 태그에 기초하여, 상기 제1 캐시 세트 및 상기 제2 캐시 세트에 대한 태그 매칭을 수행하는 단계를 포함하고,상기 확장 태그는,상기 제1 캐시 세트의 적어도 하나의 비트 및 태그에 기초하여 생성되는, 방법.

7

제1 항에 있어서,상기 제2 캐시 세트의 적어도 하나의 비트 및 상기 제2 캐시 세트에 포함된 적어도 하나의 캐시 라인의 적어도 하나의 비트를 비교하는 단계; 및상기 비교 결과에 기초하여, 상기 적어도 하나의 캐시 라인을 피해자(Victim)로 선택하는 단계를 더 포함하는, 방법.

8

제7 항에 있어서,상기 선택하는 단계는,상기 비교 결과 및 상기 공격자 로우의 설정 여부에 기초하여, 상기 적어도 하나의 캐시 라인을 피해자로 선택하는 단계를 포함하는, 방법.

9

적어도 하나의 메모리; 및적어도 하나의 프로세서;를 포함하고,상기 적어도 하나의 프로세서는,제1 캐시 세트의 캐시 불일치에 따른 메모리 요청에 기초하여, 디램의 적어도 하나의 로우를 활성화하고,상기 적어도 하나의 로우가 활성화되는 횟수와 기설정된 횟수의 비교에 기초하여, 상기 적어도 하나의 로우를 공격자 로우로 설정하고,상기 제1 캐시 세트의 확장 세트인 제2 캐시 세트를 추출하고,상기 공격자 로우의 데이터를 상기 제2 캐시 세트에 저장하는, 장치.

10

제9 항에 있어서,상기 적어도 하나의 프로세서는,상기 제1 캐시 세트에 인덱스 해싱(Index hashing)을 수행하여 상기 제2 캐시 세트를 추출하는, 장치.

11

제9 항에 있어서,상기 적어도 하나의 프로세서는,상기 적어도 하나의 로우가 활성화되는 횟수와 기설정된 횟수의 비교에 기초하여, 공격 비트를 생성하고,상기 공격 비트에 기초하여, 상기 적어도 하나의 로우를 공격자 로우로 설정하는, 장치.

12

제9 항에 있어서,상기 적어도 하나의 프로세서는,상기 공격자 로우의 데이터가 저장되는 캐시 라인의 비트를 상기 제1 캐시 세트의 적어도 하나의 비트로 구성되도록 설정하고,상기 공격자 로우의 데이터를 상기 캐시 라인에 저장하고,상기 캐시 라인은,상기 제2 캐시 세트에 포함된 것인, 장치.

13

제9 항에 있어서,상기 적어도 하나의 프로세서는,상기 메모리 요청에 따른 태그에 기초하여, 상기 제1 캐시 세트 및 상기 제2 캐시 세트에 대한 태그 매칭을 수행하는, 장치.

14

제13 항에 있어서,상기 적어도 하나의 프로세서는,상기 메모리 요청에 기초하여, 확장 태그를 생성하고,상기 확장 태그에 기초하여, 상기 제1 캐시 세트 및 상기 제2 캐시 세트에 대한 태그 매칭을 수행하고,상기 확장 태그는,상기 제1 캐시 세트의 적어도 하나의 비트 및 태그에 기초하여 생성되는, 장치.

15

제9 항에 있어서,상기 적어도 하나의 프로세서는,상기 제2 캐시 세트의 적어도 하나의 비트 및 상기 제2 캐시 세트에 포함된 적어도 하나의 캐시 라인의 적어도 하나의 비트를 비교하고,상기 비교 결과에 기초하여, 상기 적어도 하나의 캐시 라인을 피해자(Victim)로 선택하는, 장치.

16

제15 항에 있어서,상기 적어도 하나의 프로세서는,상기 비교 결과 및 상기 공격자 로우의 설정 여부에 기초하여, 상기 적어도 하나의 캐시 라인을 피해자로 선택하는, 장치.

17

제1 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.