DDR3 SDRAMにおけるコマンドとオペレーション
通常動作時とデータ書き込み時で異なる終端抵抗を設定することで、波形品質が向上する場合がある。DDR2 SDRAMではODTの抵抗値を変更するためにはMRSの再設定しなければならなかったが、DDR3 SDRAMでは動的に終端抵抗を変更できる機能ダイナミックODTを導入した。ダイナミックODTはMR2:A9,A10を設定することで有効になる。ダイナミックODTの仕様は以下の通り。
2つのRTT値 (RTT_Nom/RTT_WR) を利用できる。
RTT_NomはMR1:A2,A6,A9で設定する
RTT_WRはMR2:A9,A10で設定する。
終端のオン/オフはODTピンのハイ/ローで指定し、レイテンシはODTLon/ODTLoffである。
ライトコマンド入力からODTLcnw (ODT RTT_Nom⇒RTT_WT レイテンシ)サイクル後にRTT_WRが有効になる。
BL8時、ライトコマンド入力からODTLcwn8 (ODT RTT_WR⇒RTT_Nom レイテンシ) サイクル後にRTT_Nomに戻る。
BC4時、ライトコマンド入力からODTLcwn8 (ODT RTT_WR⇒RTT_Nom レイテンシ) サイクル後にRTT_Nomに戻る。
DLLオフ時、ダイナミックODTの動作は保証されない。DLL オフ時は必ずダイナミックODTをMRSコマンドで無効にしておかなければならない。
RZQはZQピンにつながる外部抵抗の抵抗値 (240Ω±1%)。ZQピンは外部抵抗RZQを介してGNDに接続する。
ただしCWL=5、AL=0、Din nはCol nに対応して書き込まれるデータである。 ライトコマンドの入力時にはデータの書き込み完了からtWR期間経過後からパワーダウンできる。バーストチョップを使用してもtWRの起点となるサイクルは変わらない。
アクティブパワーダウンまたはファストイグジットモードでパワーダウンしている場合はパワーダウンイグジットからtXP経過後にコマンド入力が可能になる。スローイグジットモードでパワーダウンしている場合はDLLの再ロックのためにtXPDLL経過後にコマンド入力が可能になる。ただしこの場合でもDLLリセットコマンドの入力は不要である。
オートリフレッシュコマンドからtREFPDEN経過後、パワーダウンできる。
アクティブコマンドからtACTPDEN経過後、パワーダウンできる。
プリチャージコマンドからtPRPDEN経過後、パワーダウンできる。
MRSコマンドからtMRSPDEN経過後、パワーダウンできる。
パワーダウン終了からtCKE経過後、再度パワーダウンできる。
パワーダウン終了後、オートリフレッシュコマンドを入力して再度パワーダウンするとき、パワーダウン終了からtXPDLL経過後、再度パワーダウンできる。
オートリフレッシュコマンド入力後パワーダウンしたとき、リフレッシュコマンドからtRFC経過後かつパワーダウン終了からtCKE経過後、コマンド入力が有効になる。
パワーダウン中にクロック周波数(おそらく位相変化を含む)を変更した場合、パワーダウン終了からtXP経過後にDLLリセットを行わなければならない。
フライバイ構造によって波形品質の向上とDIMM内の配線の短縮が可能になるが、反面クロックがDIMM内の各DRAMに伝播する時間に差が生じ、クロックとDQSの位相差が発生する。そこでメモリコントローラはDQS入力タイミングをクロックの伝播遅延にあわせて遅らせるという処理が必要になる。ライトレベリングはこの遅延量の決定のために必要となる機能である。
ライトレベリングとはDDR3 SDRAMからの簡易なフィードバックによってメモリコントローラがクロックとDQSの位相補正を行う機能のことを言う。 DDR3 SDRAMはDQSの上がりエッジでクロックをサンプルした結果をDQピンからメモリコントローラに返す。このフィードバックは非同期で行われる。 メモリコントローラはDQSのタイミングを変更しながら、この値が0から1に変化するタイミングを検出する。この位相差はDQピンにも同時にフィードバックしなければならない。DQS,DQS#,DQピンは全てコントローラで終端する。x16デバイスでは上位8ビットと下位8ビットは独立しておりそれぞれ別々に制御する。