DeepLearning/FPGAなどを勉強する人

興味のあることを書く

DDR3 SDRAM: Auto Self Refresh/Self Refresh Temperature

DDR3 SDRAMに関するメモ的なもの(特にDDR3L-1333)。

図は全て以下のMicronのドキュメントからの引用であり、このメモの内容もこれを参照する。
2Gb: x4, x8, x16 DDR3L SDRAM

以下も参照。
DDR3 SDRAMにおけるコマンドとオペレーション - Wikipedia

Auto Self Refresh/Self Refresh Temperature

通常のケース温度\rm T_Cの範囲は0 \sim 85 \ {}^\circ\mathrm{C}だが、拡張温度範囲85 \sim 95 \ {}^\circ\mathrm{C}まで利用するときにself refresh動作を保証するために必須な機能(ちなみにこの機能はオプショナル)。
設定方法に関してはモードレジスタのところでまとめる。

まず、拡張温度範囲でのDRAMは手動でdouble refresh(2倍のレートでのrefresh)を行う必要がある。 double refreshは通常の周期62msを32msにすれば良い。
しかし、self refreshモードにおいては、拡張温度範囲をサポートするためにASRかSRTのいずれかが必要になる。つまり、どちらかを有効にしなければ、拡張温度範囲でself refreshモードは使用できない。

Auto Self Refresh (ASR)

SRTが無効の状態で、ASRが無効の場合、self refreshモードのrefresh rateは常に通常の1x refresh rate(85 \ {}^\circ\mathrm{C}もの)が選択されることになり、ユーザはself refreshモード中は\rm T_C85 \ {}^\circ\mathrm{C}を超えないことを保証しなければならない。
ASRが有効であれば、\rm T_C85 \ {}^\circ\mathrm{C}を超えた時、(self refreshモード時の)refresh rateが自動的に1xから2xに切り替わる。これによって、DRAMは拡張温度範囲でのオペレーションが可能となる。

DRAMは1xから2xの切り替え時のデータ完全性(data integrity)は提供しているが、ASRはサポートされる温度範囲(0 \sim 95 \ {}^\circ\mathrm{C})内でのrefresh rateの自動調整を許していて、85 \ {}^\circ\mathrm{C}未満であっても切り替わりが起こる可能性がある。また、ちょうど85 \ {}^\circ\mathrm{C}の場合、常に1xから2xへ切り替わるとは限らない。

Self Refresh Temperature (SRT)

ASRと同様で、ASRが無効かつSRTも無効ならば、refresh rateは常に1xであり、self refreshモード中は\rm T_C85 \ {}^\circ\mathrm{C}を超えないことを保証しなければならない。
SRTが有効であれば、\rm T_Cに関わらず(self refreshモード時の)refresh rateは強制的に1xから2xに切り替わる。これによって、拡張温度範囲でのオペレーションが可能となる。

ASR vs. SRT

\rm T_C85 \ {}^\circ\mathrm{C}を超えないことを保証できるのであれば、どちらの機能も無効でよい。
しかし、拡張温度範囲でのオペレーションが必要ならば、self refreshモード時の正常なrefreshのためにASRかSRTのどちらか一方を有効にしなければならない(同時に有効にすることはできない)。