1 |
1
복수의 파티션으로 분할되어 있는 저항 변화 메모리(resistance switching memory) 셀 어레이를 포함하는 제1 메모리 모듈 및 캐시로 사용되는 제2 메모리 모듈에 연결되는 메모리 제어 장치로서,상기 제1 메모리 모듈 및 상기 제2 메모리 모듈에 액세스하는 메모리 컨트롤러,상기 제2 메모리 모듈의 복수의 캐시 인덱스에 각각 대응하는 복수의 캐시 라인의 태그 정보를 관리하는 룩업 로직, 그리고수신한 읽기 요청의 어드레스로부터 제1 캐시 인덱스와 제1 태그를 분리하고, 상기 제1 캐시 인덱스와 상기 제1 태그를 기초로 상기 룩업 로직을 참조하여 상기 읽기 요청의 캐시 히트 또는 캐시 미스를 판단하며, 상기 읽기 요청이 캐시 미스이고, 상기 복수의 파티션 중 제1 파티션으로 진행 중인 쓰기가 있으며, 상기 읽기 요청의 대상이 상기 복수의 파티션 중 제2 파티션인 경우, 상기 메모리 컨트롤러로 상기 제1 메모리 모듈로부터 상기 읽기 요청의 대상 데이터를 읽도록 지시하는 캐시 컨트롤러를 포함하는 메모리 제어 장치
|
2 |
2
제1항에서,상기 읽기 요청이 상기 캐시 미스이고, 상기 제1 파티션으로 진행 중인 쓰기가 있으며, 상기 읽기 요청의 대상이 상기 제1 파티션인 경우, 상기 캐시 컨트롤러는 상기 읽기 요청을 대기시키는 메모리 제어 장치
|
3 |
3
제1항에서,상기 읽기 요청이 캐시 히트인 경우, 상기 캐시 컨트롤러는 상기 메모리 컨트롤러로 상기 제2 메모리 모듈로부터 상기 대상 데이터를 읽도록 지시하는 메모리 제어 장치
|
4 |
4
제1항에서,상기 캐시 컨트롤러는, 수신한 쓰기 요청의 어드레스로부터 제2 캐시 인덱스와 제2 태그를 분리하고, 상기 제2 캐시 인덱스와 상기 제2 태그를 기초로 상기 룩업 로직을 참조하여 상기 쓰기 요청의 캐시 히트 또는 캐시 미스를 판단하며, 상기 쓰기 요청이 캐시 미스인 경우, 상기 룩업 로직을 참조하여 상기 제2 메모리 모듈에 빈 캐시 라인이 존재하는지를 판단하는 메모리 제어 장치
|
5 |
5
제4항에서,상기 빈 캐시 라인이 존재하지 않는 경우, 상기 캐시 컨트롤러는 상기 룩업 로직을 참조하여 상기 복수의 캐시 라인 중 희생 캐시 라인을 찾고, 상기 메모리 컨트롤러로 상기 제2 메모리 모듈의 상기 희생 캐시 라인에서 희생 데이터를 읽고, 상기 제1 메모리 모듈에 상기 희생 데이터를 쓰고, 상기 제2 메모리 모듈의 상기 희생 캐시 라인에 상기 쓰기 요청의 대상 데이터를 쓰도록 지시하는 메모리 제어 장치
|
6 |
6
제5항에서,상기 룩업 로직은 복수의 웨이(way)를 포함하고,각 웨이는 상기 복수의 캐시 인덱스에 각각 대응하는 복수의 세트를 포함하며,각 세트는 카운터를 포함하고,상기 캐시 컨트롤러는, 상기 복수의 세트 중 상기 제2 캐시 인덱스에 대응하는 대상 세트에서 소정의 값을 카운터로 가지는 웨이에 의해 지시되는 캐시 라인을 상기 희생 캐시 라인으로 선택하는메모리 제어 장치
|
7 |
7
제6항에서,상기 룩업 로직은, 상기 대상 세트에 캐시 액세스가 발생할 때마다 상기 캐시 액세스가 발생한 웨이에 해당하는 카운터를 '0'으로 설정하고, 다른 웨이에 해당하는 카운터를 '1'씩 증가시키며,상기 소정의 값은 상기 복수의 웨이의 개수에서 1을 뺀 값인메모리 제어 장치
|
8 |
8
제4항에서,상기 빈 캐시 라인이 존재하는 경우, 상기 캐시 컨트롤러는 상기 메모리 컨트롤러로 상기 제2 메모리 모듈의 상기 빈 캐시 라인에 상기 쓰기 요청의 대상 데이터를 쓰도록 지시하고, 상기 룩업 로직을 갱신하는 메모리 제어 장치
|
9 |
9
제4항에서,상기 쓰기 요청이 상기 캐시 히트인 경우, 상기 캐시 컨트롤러는 상기 메모리 컨트롤러로 상기 제2 메모리 모듈에 상기 쓰기 요청의 대상 데이터를 쓰도록 지시하는 메모리 제어 장치
|
10 |
10
제1항에서,상기 진행 중인 쓰기는 캐시 방출에 따른 쓰기인 메모리 제어 장치
|
11 |
11
제1항에서,상기 진행 중인 쓰기는 캐시 라인 플러시 요청과 펜스 요청에 의한 연속성 동작에 따른 쓰기인 메모리 제어 장치
|
12 |
12
제11항에서,상기 캐시 컨트롤러는, 상기 펜스 요청 이후에도 읽기 동작을 수행하는 메모리 제어 장치
|
13 |
13
제1항 내지 제12항 중 어느 한 항에 기재된 상기 메모리 제어 장치,상기 제1 메모리 모듈, 그리고상기 제2 메모리 모듈을 포함하는 메모리 시스템
|
14 |
14
저항 변화 메모리(resistance switching memory)를 포함하는 제1 메모리 모듈 및 캐시로 사용되는 제2 메모리 모듈에 연결되는 메모리 제어 장치로서,상기 제1 메모리 모듈 및 상기 제2 메모리 모듈에 액세스하는 메모리 컨트롤러,복수의 웨이(way)를 포함하고, 각 웨이는 복수의 캐시 인덱스에 대응하는 복수의 세트를 포함하며, 각 세트는 태그 정보와 카운터를 포함하는 룩업 로직, 그리고수신한 쓰기 요청의 어드레스로부터 제1 캐시 인덱스와 제1 태그를 분리하고, 상기 제1 캐시 인덱스와 상기 제1 태그를 기초로 상기 룩업 로직을 참조하여 상기 쓰기 요청의 캐시 히트 또는 캐시 미스를 판단하며, 상기 쓰기 요청이 캐시 미스이고 상기 제2 메모리 모듈에 빈 캐시 라인이 존재하지 않는 경우, 상기 복수의 세트 중 상기 제1 캐시 인덱스에 대응하는 대상 세트에서 소정의 값을 카운터로 가지는 웨이에 의해 지시하는 캐시 라인을 희생 캐시 라인으로 선택하고, 상기 메모리 컨트롤러로 상기 희생 캐시 라인의 희생 데이터를 상기 제1 메모리 모듈로 쓰도록 지시하는 캐시 컨트롤러를 포함하는 메모리 제어 장치
|
15 |
15
제14항에서,상기 룩업 로직은, 상기 대상 세트에 캐시 액세스가 발생할 때마다 상기 캐시 액세스가 발생한 웨이에 해당하는 카운터를 '0'으로 설정하고, 다른 웨이에 해당하는 카운터를 '1'씩 증가시키며,상기 소정의 값은 상기 복수의 웨이의 개수에서 1을 뺀 값인메모리 제어 장치
|
16 |
16
제14항에서,상기 제1 메모리 모듈은, 제1 파티션 및 제2 파티션을 포함하는 복수의 파티션으로 분할되어 있는 메모리 셀 어레이를 포함하며,상기 캐시 컨트롤러는, 수신한 읽기 요청의 어드레스로부터 제2 캐시 인덱스와 제2 태그를 분리하고, 상기 제2 캐시 인덱스와 상기 제2 태그를 기초로 상기 룩업 로직을 참조하여 상기 읽기 요청의 캐시 히트 또는 캐시 미스를 판단하며, 상기 읽기 요청이 캐시 미스이고, 상기 제1 파티션으로 진행 중인 쓰기가 있으며, 상기 읽기 요청의 대상이 상기 제2 파티션인 경우, 상기 캐시 컨트롤러는 상기 메모리 컨트롤러로 상기 제1 메모리 모듈로부터 상기 읽기 요청의 대상 데이터를 읽도록 지시하는메모리 제어 장치
|
17 |
17
제16항에서,상기 읽기 요청이 상기 캐시 미스이고, 상기 제1 파티션으로 진행 중인 쓰기가 있으며, 상기 읽기 요청의 대상이 상기 제1 파티션인 경우, 상기 캐시 컨트롤로는 상기 읽기 요청을 대기시키는 메모리 제어 장치
|
18 |
18
제16항에서,상기 읽기 요청이 캐시 히트인 경우, 상기 캐시 컨트롤러는 상기 메모리 컨트롤러로 상기 제2 메모리 모듈로부터 상기 읽기 요청의 대상 데이터를 읽도록 지시하는 메모리 제어 장치
|
19 |
19
제14항 내지 제18항 중 어느 한 항에 기재된 상기 메모리 제어 장치,상기 제1 메모리 모듈, 그리고상기 제2 메모리 모듈을 포함하는 메모리 시스템
|
20 |
20
복수의 파티션으로 분할되어 있는 저항 변화 메모리(resistance switching memory) 셀 어레이를 포함하는 제1 메모리 모듈 및 캐시로 사용되는 제2 메모리 모듈에 연결되는 메모리 제어 장치로서,상기 제1 메모리 모듈 및 상기 제2 메모리 모듈에 액세스하는 메모리 컨트롤러,복수의 웨이(way)를 포함하고, 각 웨이는 상기 제2 메모리 모듈의 복수의 캐시 라인에 각각 대응하는 복수의 캐시 인덱스에 각각 대응하는 복수의 세트를 포함하며, 상기 복수의 캐시 라인의 태그 정보를 관리하는 룩업 로직, 그리고수신한 요청의 어드레스로부터 대상 캐시 인덱스와 대상 태그를 분리하고, 상기 대상 캐시 인덱스와 상기 대상 태그를 기초로 상기 룩업 로직을 참조하여 상기 요청의 캐시 히트 또는 캐시 미스를 판단하는 캐시 컨트롤러를 포함하며,상기 수신한 요청이 캐시 미스인 경우에, 상기 캐시 컨트롤러는,상기 수신한 요청이 읽기 요청일 때, 상기 복수의 파티션 중 제1 파티션으로 진행 중인 쓰기가 있으며, 상기 읽기 요청의 대상이 상기 복수의 파티션 중 제2 파티션인 경우, 상기 메모리 컨트롤러로 상기 제1 메모리 모듈로부터 상기 읽기 요청의 대상 데이터를 읽도록 지시하고,상기 수신한 요청이 쓰기 요청일 때, 상기 제2 메모리 모듈에 빈 캐시 라인이 존재하지 않는 경우, 상기 복수의 세트 중 상기 대상 캐시 인덱스에 대응하는 대상 세트에서 상기 복수의 웨이 중 대상 웨이를 1 클록 사이클로 검출하고, 상기 대상 세트의 상기 대상 웨이의 캐시 라인을 희생 캐시 라인으로 선택하고, 상기 메모리 컨트롤러로 상기 희생 캐시 라인의 희생 데이터를 상기 제1 메모리 모듈로 쓰고, 상기 쓰기 요청의 대상 데이터를 상기 희생 캐시 라인으로 쓰도록 지시하는메모리 제어 장치
|
21 |
21
제20항에 기재된 상기 메모리 제어 장치,상기 제1 메모리 모듈, 그리고상기 제2 메모리 모듈을 포함하는 메모리 시스템
|