The emerging problem of 3-D stacked DRAM is hot spots over $85^\circ C$ which induces twice-frequent refresh called extended temperature mode deteriorating the performance and power consumption of DRAM.
Proposed thermal spreading scheduler prevents the intensification of hot spots by granting priority to the requests whose influence on peak temperature are least critical. This scheduler spreads heat of hot spots and shortens the duration of extended temperature mode, thereby total refresh counts decreased dramatically without any change on DRAM. Experi-ment results show 27.1% reduction of extended temperature mode duration, 19.3% reduction of refresh power consumption without degradation of read/write latency.
DRAM은 그 구성이 매우 간단하기 때문에 쉽게 집적이 가능한 장점이 있는 반면, 꾸준한 refresh 동작이 필요하다는 단점이 있다. DRAM에서 data가 저장되는 cell capacitor는 아무리 정교한 공정을 통해 제작을 하더라도 필연적으로 leakage current가 발생하게 되는데, electric charge의 potential을 통해 data를 저장하는 DRAM의 특성상 이러한 leakage current는 저장된 charge의 potential을 변화시키므로, data를 garbage 값으로 바꿔버리는 역할을 한다. 때문에 일정 간격으로 cell capacitor의 data를 다시 써주는 동작, 즉 refresh를 반복하게 된다. 이 refresh 동작이 일어날 때에는 해당 주소에 대한 접근이 불가하므로, read/write latency와 sense amplifier에 의한 power consumption을 증가시키며, bank-level parallelism과 row hit rate를 감소시킨다. 더욱이 cell capacitor의 용량이 DRAM의 집적도 증가에 따라 감소하는 반면, leakage current는 scaling에 의해 그 값이 변하지 않으므로, refresh 간격 역시 점점 줄어들게 되었다.
Refresh 동작 자체가 leakage current에 의한 것이므로, leakage current의 크기는 refresh 횟수에 가장 직접적으로 영향을 준다. 특히 온도 증가는 직접적으로 transistor의 leakage current를 증가시키는 요인이 된다. 따라서 온도가 증가하게 되는 경우 refresh 동작이 자주 실행되어야 하는데, DRAM의 스펙을 결정하는 JEDEC에서는 그 기준을 85도에 두고 있다. 85도가 넘어가게 되면 DRAM은 extended temperature mode로 동작하게 되며, 그 refresh의 주기를 절반으로 하여 2배 자주 refresh를 하게 된다. 특히 최근에 양산화 예정에 있는 3-D stacked DRAM에서는 열 문제가 더욱 심각해지고 있다.
이 논문에서 제시하는 thermal spreading scheduler는 queue에서 issue를 기다리고 있는 request를 대상으로 각각의 request들의 물리적인 주소의 온도 분포를 조사하여, 상대적으로 온도가 낮은 곳의 request를 우선적으로 issue하도록 설계되어있다. 이러한 동작을 통해 DRAM 내부의 hot spot에 access가 집중되어, 온도가 85도가 넘어가서 extended temperature mode로 동작하는 상황을 막는 것이 목표이다. 이 thermal spreading scheduler는 크게 3부분으로 나뉘며 이는 각각 $\tau$-map, thermal synergy calculator, temperature-adaptive scheduler이다.
DRAM에서 온도가 올라가는 현상은 주로 sense amplifier의 동작에 의한 것이다. Sense amplifier는 DRAM의 block과 row buffer마다 배치되어있으며 row activation과 column select command가 issue될 때 charge를 drive하는 역할을 한다. $\tau$-map은 현재 DRAM의 온도 정보를 매우 간단한 형태로 담고 있는 일종의 table로, 그 구획의 기준은 sense amplifier가 배치되어있는 cell 이다. Memory controller에서 DRAM의 data를 읽기 위해 command를 issue하게 되면, 해당 command의 주소에 weight를 더해주는 방식으로 온도를 모사하게 된다. $\tau$-map은 35 by 8 형태의 table로 구성되어 있으며 각 블록은 $\tau _{mn}$ 값을 실수 형태의 값으로 가지고 있다. 한 cell의 온도가 상승하게 되면 주변 block까지 모두 영향을 주게 되고 그 범위는 14개 (같은 layer에 7개, $\pm$ 1 layer에 3개, $\pm$ 2 layer에 1개) 이다. 또, 각 block의 온도는 매 cycle마다 일정한 cooling rate만큼 감소하므로, $\tau _{mn}$ 는 시간의 흐름에 감소하게 된다. 즉,
$\tau _{nm} = \alpha \ast \beta + \tau_{nm-previous} \ast (1-cooling rate/100)^{t/1000}$
로 계산된다. (이때 t는 마지막으로 $\tau$ -value를 update 한 뒤 흐른 시간이다.) 이러한 패턴을 모사하여 $\tau$-map을 구성하였다.
CPU나 GPU에서 read/write request를 보내면 memory controller의 queue에 request들이 쌓이게 된다. Thermal synergy calculator는 $\tau$-map 의 정보를 기준으로 매 cycle마다 queue에 들어있는 request의 주소를 파악, 해당 request가 issue되었을 때 영향을 주는 block들의 전체 온도 총합을 계산하게 된다. (이 값을 thermal synergy라고 한다.) 그리고 온도 상승에 가장 영향을 가장 적게 주는 request의 priority를 증가시킨다. 즉 85도에 가까운 block이 존재할 경우, 그 block이 충분히 냉각될 수 있도록 당분간 접근을 막고, 상대적으로 85도보다 낮은 구획에 먼저 접근을 허용하는 방식이다.
$Thermal synergy = j \in thermal boundary of cell i \Sigma cell j \beta \tau _j$
마지막으로, thermal synergy 만을 고려한 scheduler의 경우 latency를 지나치게 증가시킬 수 있으므로, temperature-adaptive scheduler를 도입하였다. Temperature-adaptive scheduler는 $\tau$-map을 기반으로 현재 온도를 조사하여 온도에 따라 scheduling 방식을 변경하는 block이다. 70도를 기준으로, DRAM의 최고 온도가 70도 이하인 경우에는 wait time이 긴 request를 우선 issue 하고, 70도가 넘을 경우부터 thermal synergy를 반영하여, 차가운 곳에 access하는 request에 우선권을 주도록 설계되었다.
Core의 개수가 1/2/4개인 경우 각각 16개, 20개, 20개의 workload를 사용하였으며, DRAM 용량이 8Gb, 16Gb, 32Gb인 상황에서 simulation을 진행하였다. 그 결과, extended temperature mode의 duration은 약 27.1% 감소하였으며, 이 결과로 인해 refresh power 역시 19.3% 감소하였다. 또한 latency와 total execution time 역시 소폭 감소하였다. 더불어 다양한 냉각 환경 (다양한 cooling rate)에서도 비슷한 결과를 보이는 것을 알 수 있었다.