DDR3 SDRAMにおけるコマンドとオペレーション コマンドとオペレーション
アクティブコマンドからtACTPDEN経過後、パワーダウンできる。
プリチャージコマンドからtPRPDEN経過後、パワーダウンできる。
MRSコマンドからtMRSPDEN経過後、パワーダウンできる。
パワーダウン終了からtCKE経過後、再度パワーダウンできる。
パワーダウン終了後、オートリフレッシュコマンドを入力して再度パワーダウンするとき、パワーダウン終了からtXPDLL経過後、再度パワーダウンできる。
オートリフレッシュコマンド入力後パワーダウンしたとき、リフレッシュコマンドからtRFC経過後かつパワーダウン終了からtCKE経過後、コマンド入力が有効になる。
パワーダウン中にクロック周波数(おそらく位相変化を含む)を変更した場合、パワーダウン終了からtXP経過後にDLLリセットを行わなければならない。
一般にPCで使われているスタブバス (Stub BUS) はCPU/メモリコントローラとメモリモジュールをつなぐデータラインを複数のメモリモジュールで共有する。各データラインは、メインのデータラインからメモリモジュールのコネクタで分岐する。デバイスの接合部でインピーダンスが大きく異なるためにデバイス端に達した信号はスタブバスはシステムやモジュール,デバイスの設計を簡素化できる反面、デバイス端で発生した反射波が分岐を通してメインの伝送線路に達するために伝送線路上の波形品質が悪化するために高速なデータ転送には不向きとされている。
このような場合に高速なデータ転送に必要な波形品質を確保するために、以下のような対策が考えられる。
ODTはデバイス内部に終端抵抗を設けることで、部品点数を増やしコストを増大させることなくデバイス端での反射波を抑制し高速なデータ転送に必要な波形品質を確保している。ODTはDDR2 SDRAMから導入されている。
DDR3 SDRAMではDQ, DQS, DQS#, DM, TDQS, TDQS#（x8デバイスでTDQSを利用する場合のみ）の終端抵抗のオン/オフのコントロールをODTピンの入力で行うことができる。ODTピンからの入力がハイのときODTはオンに、ローのときODTはオフになる。ただしMR1:A2,A6,A9でODT無効を選択した場合はODTピンの入力によらずODTは常にオフとなる。ODT オフ時セルフリフレッシュの動作は保証されない。ODT オン時の抵抗値 (RTT) はMR1:A2,A6,A9で指定した値となる。
同期ODTとはODTピンの入力からアディティブレイテンシ (Additive Latency) 分遅延してDQピンなどの終端抵抗 (RTT) の値のオン/オフが同期する機能を指す。同期ODTモードを使用する場合はDLLがロックされていなければならない。DLL オフでODTの動作は保証されない。そのためDLL オフの場合、ODTピンの入力をローにするか、MR1:A2,A6,A9でODT無効を選択しODTを継続してオフにしていなければならない。
同期ODTモード時、ODTピンの入力がハイになってからODT オンレイテンシ (ODTLon) 後にRTTはオンになる。同様にODTピンの入力がローになってからODT オフレイテンシ (ODTLoff) 後にRTTはオフになる。ODTLon, ODTLoffはそれぞれODTLon=WL-2=AL+CWL-2, ODTLoff=WL-2=AL+CWL-2で計算する。
同期ODTモード時、以下のタイミングパラメタが適用される。
最小RTTオン時間 (tAONmin) はODTLonからメモリデバイスがHi-Z状態からODT抵抗をオンに切り替え始めるタイミング、最大RTTオン時間 (tAONmax) はODTLonからメモリデバイスがODT抵抗を完全にオンにしたタイミングである。逆に最小RTT オフ時間 (tAOFmin) はODTLoffからメモリデバイスがODT抵抗をオフに切り替え始めたタイミング、最大RTT オフ時間 (tAOFmax) はODTLoffからメモリデバイスが完全にHi-Z状態になったタイミングである。
ただし、Hi-Z⇔RTTの切り替わりのタイミングを得るのは非常に難しいため簡易的にDQなどの出力が変化する上がり/下がりエッジの任意の2点を結ぶ直線とVSSQ/VRTTとの交点をスペックとして用いる。
ODTH4を満たす時間ODTの入力はハイを保たなければODTオンとなったとは見なされない。ODT ハイでライトコマンドが入力された場合、ライトコマンドからBL4のときはODTH4の間、BL8のときはODTH8の間、ODTの入力はハイを保たなければならない。
ODTH4/ODTH8はODTピンの入力がハイになってからODTピンの入力がローになるまで、またはライトコマンドの入力からODTピンの入力がローになるまでの間を指す。
DDR3 SDRAMは終端と出力を同時に行えない。リード時のプリアンブル (Preamble) より半サイクル以上前にODTピンの入力をローにしてRTTをオフにしていなければならない。またPostamble出力から1サイクル程度RTTは有効にならないだろう。
通常動作時とデータ書き込み時で異なる終端抵抗を設定することで、波形品質が向上する場合がある。DDR2 SDRAMではODTの抵抗値を変更するためにはMRSの再設定しなければならなかったが、DDR3 SDRAMでは動的に終端抵抗を変更できる機能ダイナミックODTを導入した。ダイナミックODTはMR2:A9,A10を設定することで有効になる。ダイナミックODTの仕様は以下の通り。
DLLオフ時、ダイナミックODTの動作は保証されない。DLL オフ時は必ずダイナミックODTをMRSコマンドで無効にしておかなければならない。
RZQはZQピンにつながる外部抵抗の抵抗値 (240Ω±1%)。ZQピンは外部抵抗RZQを介してGNDに接続する。
メモリデバイスがDLL オンモードで動作中にプリチャージパワーダウン (Precharge Power Down) で一時的にDLLをオフにしたときに非同期ODTモードが選択される。非同期ODTモード中、ODTピンからのコントロールはアディティブレイテンシ (Additive Latency:AL) 時間の遅延は発生しない。
最小RTT オン時間 (tAONPDmin) はODT ハイからメモリデバイスがHi-Z状態からODT抵抗をオンに切り替え始めるタイミング、最大RTT オン時間 (tAONPDmax) はODT ハイからメモリデバイスがODT抵抗を完全にオンにしたタイミングである。逆に最小RTT オフ時間 (tAOFPDmin) はODT ハイからメモリデバイスがODT抵抗をオフに切り替え始めたタイミング、最大RTT オフ時間 (tAOFPDmax) はODT ハイからメモリデバイスが完全にHi-Z状態になったタイミングである。
非同期ODTタイミングパラメタは以下のように規定されている。
プリチャージパワーダウン (Precharge Power Down) のスローイグジットモード (Slow Exit Mode) を開始するとODTのモードが同期ODTモードから非同期ODTモードへ移行する。
プリチャージパワーダウンのスローイグジットモードを終了するとODTのモードが非同期ODTモードから同期ODTモードへ移行する。
ZQキャリブレーションは出力抵抗RonおよびODTを補正するために用いられる。DDR3 SDRAMは初期化時のRONとODTの補正により長い時間を要する。また定期的にRON/ODTの補正が必要になる。この補正は初期化時よりも短い時間で完了する。
ZQキャリブレーションロング (ZQ Calibration Long:ZQCL) コマンドは電源投入後の初期化シーケンス内で行われる初期補正で使用される（もちろん、このコマンドは電源投入時だけではなくシステム環境に応じてコントローラはいつでも入力できる）。ZQCLコマンドはメモリデバイス内部の補正回路を起動する。補正完了と共に補正値は補正回路から入出力部へ送られ、RON/ODTを更新・反映される。
リセット後の最初のZQCLコマンドは完全な補正と全ての値の更新のためにtZQinit (512サイクル) の期間を必要とする。それ以外のときはZQCLはtZQoper (256サイクル) で完了する。
ZQキャリブレーションショート (ZQ Calibration Short:ZQCS) コマンドは定期的な補正で使用される。ZQCSコマンドはZQCLコマンドに比べて短い時間:tZQCS(64サイクル)で補正を完了する。
tZQinit/tZQopen/tZQCSの間は抵抗値の補正精度を高めるためにメモリデバイスの入出力チャンネルを静止状態に保たなければならない。DLL ロックと同時にZQキャリブレーションを行うことは可能である。
ZQCSは下式で示される間隔以下で実行することが推奨されている。
ただし、式中のはZQCSコマンド間隔の推奨値、は最大温度感度(抵抗値がどれくらい温度の変化に敏感かを示す値)、はシステムの温度変化の周期、は最大電圧感度(抵抗値がどれくらい電源電圧の変化に敏感かを示す値)、は電圧変化の周期を表す。
ここで、対象デバイスのおよびのスペックが


であり、システム環境が


で、あたえられるときZQCSコマンド間隔の推奨値は以下のように求めることができる。