DeepLearning/FPGAなどを勉強する人

興味のあることを書く

DDR3 SDRAM: Power-Down Mode

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

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

wikiの記述も参照。
DDR3 SDRAMにおけるコマンドとオペレーション - Wikipedia

Power-Down Mode

power-downに関するタイミングのシンボルは以下の通り。

Power-Down Timing

Param. Symbol DDR3L-1333 Unit
CKE MIN pulse width tCKE(MIN) \rm Greater(3CK,5.625ns) CK
Command pass disable delay tCPDED \rm MIN=1 CK
Power-down entry -> power-down exit tPD \rm MIN=tCKE(MIN); \ MAX=9 \times tREFI CK

Power-Down Exit Timing

Param. Symbol DDR3L-1333 Unit
DLL on/any valid command/DLL off -> commands not requiring a locked DLL tXP  \rm MIN=Greater(3CK,6ns) CK
Precharge power-down(DLL off) -> commands requiring a locked DLL tXPDLL  \rm MIN=Greater(10CK,24ns) CK

NOP/DESコマンドと同時にCKEをLOWに落とすことで同期的にpower-downモードに突入する。ただし、MRS/MPR/ZQCAL/READ/WRITE中にCKEをLOWに落としてはならない(他のオペレーション中ならば可能だが、power-down中の電流量になるのは実行中のオペレーションが完了してからとなる)。この時、DRAMのステートと最後に発行されたコマンドによって、power-downモードに突入するまでの時間がそれぞれ異なる(詳細はMicronのドキュメント参照)。
power-downモードに入ると、CK,CK#,ODT,CKE,RESET#を除く入出力バッファは無効になる。また、tCPDEDが満たされるまでは、コマンドはNOP/DESでなければならない。
exitの関しては、fast exitの場合、power-down中DLLはロックされている必要があり、slow exitの場合は抜けた時にDLLをリセットする必要がある。

power-downには2つの種類がある。 バンクが開いたままだとactive power-downモードに入り、全てのバンクが閉じた状態だと、precharge power-downモードに入る。
precharge power-downモードの場合、slow exitかfast exitのどちらか選ぶ必要がある。precharge power-downモード突入時に、slow exitの時はDLLはoffにされ、fast exitの時は維持される。
active power-downの場合、DLLはonのまま。 slow exit modeのprecharge power-downの場合、ODTのタイミング制約が少し異なるので注意(非同期ODT)。

どちらのタイプのpower-downモードであっても、power-down中はCKEはLOWで、RESET#はHIGHで、安定したクロックを維持しなければならない。
また、ODTは正当な状態でなければならないが、他の入力信号はDon't Careとなる。
power-down中にRESET#がLOWになった場合、DRAMはpower-downからresetステートへスイッチする。
CKEがLOWになってからは、CKEはtPD(MIN)の間LOWである必要があり、最大で許可されるpower-down時間はtPD(MAX) (9xtREFI)となっている。

(コマンドはNOP/DESで)CKEがHIGHになったら同期的にpower-downモードから抜ける。この時、CKEはtCKEの間HIGHに維持しなければならない。また、正当で実行可能なコマンドはtXP(power-down exit latency)/tXPDLLを満たした後に適用可能となる。

まとめると以下の表の通りである。

DRAM State MR0[12] DLL State Power-Down Exit Relevant Param.
Active X On Fast tXP -> valid command
Precharged 1 On Fast tXP -> valid command
Precharged 0 Off Slow tXPDLL -> commands requiring a locked DLL/tXP -> others

power-down exit -> refresh -> power-down entry というようなCKE-intensive(多分CKEの上げ下げが集中するようなということ)なオペレーションでは、power-down exitとpower-down entry間のサイクル数だけではDLLの適切な更新には不十分である可能性がある。
なので、REFRESHコマンドをpower-down exitとpower-down entryの間に使用するときは、tPDに加えて2つの条件を満たす必要がある。
まず、REFRESHを発行する前にtXPを満たす必要がある。次に、後続のpower-down entryの前にtXPDLLを満たす必要がある。


主要なタイミングチャートは以下の通り。
f:id:wanwannodao:20170907031145p:plain
f:id:wanwannodao:20170907031211p:plain
f:id:wanwannodao:20170907031156p:plain
f:id:wanwannodao:20170907031203p:plain