寫入延遲 tDQSS
在DQS 寫入時序圖中,可以發現寫入延遲已經不是0了,在發出寫入命令后,DQS與寫入數據要等一段時間才會送達**。這個周期被稱為 DQS 相對于寫入命令的延遲時間(**tDQSS, WRITE Command to the first corresponding rising edge of DQS)。
為什么要有這樣的延遲設計呢?原因也在于同步,畢竟一個時鐘周期兩次傳送,需要很高的控制精度,它必須要等接收方做好充分的準備才行。tDQSS 是 DDR 內存寫入操作的一個重要參數,太短的話恐怕接受有誤,太長則會造成總線空閑。tDQSS 短不能小于 0.75 個時鐘周期,長不能超過 1.25 個時鐘周期。
正常情況下,tDQSS 是一個時鐘周期,但寫入時接受方的時鐘只用來控制命令信號的同步,而數據的接受則完全依靠 DQS 進行同步,DQS 與時鐘不同步也無所謂。tDQSS產生了一個不利影響— — 讀后寫操作延遲的增加,如果 CL=2.5,還要在 tDQSS 基礎上加入半個時鐘周期,因為命令都要在 CK 的上升沿發出。下圖中,當 CL=2.5 時,讀后寫的延遲將為 tD 個時鐘周期(圖中 BL=2)。
DDR 內存的數據真正寫入由于要經過更多步驟的處理,寫回時間(tWR)也明顯延長,一般在3個時鐘周期左右,而在 DDR-Ⅱ規范中更是將 tWR 列為模式寄存器的一項,可見它的重要性。
14.內存的自動自刷新 ASR(Automatic Self-Refresh)
為了保證所保存的數據不丟失,DRAMASR必須定時進行刷新。為了的節省電力,DDR3采用了一種新型的自動自刷新設計(ASR,Automatic Self-Refresh)。當開始ASR之后,將通過一個內置于DRAM芯片的溫度傳感器來控制刷新的頻率,因為刷新頻率高的話,消電就大,溫度也隨之升高。而溫度傳感器則在保證數據不丟失的情況下,盡量減少刷新頻率,降低工作溫度。DDR3的ASR是可選設計,并不見得市場上的DDR3內存都支持這一功能,還有一個附加的功能就是自刷新溫度范圍(SRT,Self-Refresh Temperature)。通過模式寄存器,可以選擇兩個溫度范圍,一個是普通的的溫度范圍(例如0℃至85℃),另一個是擴展溫度范圍,比如到95℃。對于DRAM內部設定的這兩種溫度范圍,DRAM將以恒定的頻率和電流進行刷新操作。
15. 局部自刷新 RASR(Partial Array Self-Refresh)
局部自刷新(RASR,Partial Array Self-Refresh)這是DDR3的一個可選項,通過這一功能,DDR3內存芯片可以只刷新部分邏輯Bank,而不是全部刷新,從而限度的減少因自刷新產生的電力消耗。這一點與移動型內存(Mobile DRAM)的設計很相似
16.延遲鎖定回路(DLL)
DDR SDRAM 對時鐘的**性有著很高的要求,而 DDR SDRAM 有兩個時鐘,一個是外部的總線時鐘,一個是內部的工作時鐘,在理論上 DDR SDRAM 這兩個時鐘應該是同步的,但由于種種原因,如溫度、電壓波動而產生延遲使兩者很難同步,更何況時鐘頻率本身也有不穩定的情況(SDRAM 也有內部時鐘,因為它的工作/傳輸頻率較低,內外同步問題并不突出)。
DDR SDRAM 的 tAC 就是因為內部時鐘與外部時鐘有偏差而引起的,它很可能造成因數據不同步而產生錯誤的惡果。實際上,不同步就是一種正/負延遲,如果延遲不可避免,那么若是設定一個延遲值,如一個時鐘周期,那么內外時鐘的上升與下降沿還是同步的。鑒于外部時鐘周期也不會統一,需要根據外部時鐘動態修正內部時鐘的延遲來實現與外部時鐘的同步,這就是 DLL 的任務。
DLL 不同于主板上的 PLL,它不涉及頻率與電壓轉換,而是生成一個延遲量給內部時鐘。目前 DLL 有兩種實現方法,一個是時鐘頻率測量法(CFM,Clock Frequency Measurement),一個是時鐘比較法(CC,Clock Comparator)。
CFM 是測量外部時鐘的頻率周期,以此周期為延遲值控制內部時鐘,這樣內外時鐘正好就相差了一個時鐘周期,從而實現同步。DLL 就這樣反復測量反復控制延遲值,使內部時鐘與外部時鐘保持同步。
CC的方法則是比較內外部時鐘的長短,如果內部時鐘周期短了,就將所少的延遲加到下一個內部時鐘周期里,再與外部時鐘做比較,若是內部時鐘周期長了,就將多出的延遲從下一個內部時鐘中刨除,如此往復,終使內外時鐘同步。