在 DDR 標(biāo)準(zhǔn)中有很多很多時序參數(shù)(timing parameter),但當(dāng)你真的和 DDR4 打交道時,會發(fā)現(xiàn)經(jīng)常訪問或者讀到的參數(shù)也就那么幾個,它們相比剩下的參數(shù)要常用許多。所以,本文將基于具體的DDR命令,討論那些經(jīng)常用到的參數(shù)。
這些命令真的很容易忘記,一段時間不怎么用到后,記憶就會馬上模糊。本系列的另一篇文章:Timing Parameter Cheat Sheet,可以用作具體時序參數(shù)的快速查找手冊。
Note:本文所用到的圖片都來自于 JEDEC DDR4 標(biāo)準(zhǔn),或者美光的產(chǎn)品手冊,在參考文獻部分給出了相應(yīng)的鏈接。
激活命令 ACTIVATE Timing
激活命令用于在訪問之前打開某個 bank 中的某個 row。在 Understanding the Basics一文中我們了解到每個 bank 有僅有一組 sense amps,所以每個 bank 中可以保持一個 row 處于打開狀態(tài)。與激活命令相關(guān)的常用時序參數(shù)共有 3 個,tRRD_S,tRRD_L?以及?tFAW。
1、tRRD_S
row-to-row delay--short
當(dāng)向多個屬于不同 bank group 的 bank 發(fā)送 ACT 命令時,ACT 命令之間需要滿足?tRRD_S?長度的間隔
2、tRRD_L
row-to-row delay--long
與?tRRD_S?的不同點在于,當(dāng)向多個屬于同一個?bank group 的 bank 發(fā)送 ACT 命令時,ACT 命令之間需要滿足?tRRD_L?長度的間隔
圖-1?tRRD?時序圖
3、tFAW
Four Activate Window
限制容納至多四個 ACT 命令的窗口,在這段時間內(nèi)最多只能發(fā)出四個 ACT 命令。
當(dāng)連續(xù)發(fā)送 ACT 命令時,ACT 命令之間一方面需要滿足?tRRD_S/L?,另一方面,在發(fā)送四個 ACT 命令后,需要等待?tFAW?窗口結(jié)束,才能發(fā)送第五個 ACT 命令。
圖-2?tFAW?時序圖
刷新命令 REFRESH Timing
為了確保存儲在 SDRAM 中的數(shù)據(jù)不會丟失,存儲控制器需要平均間隔?tREFI?,發(fā)送一次 REFRESH 命令。但是在進行刷新之前,SDRAM 所有的 bank 需要進行 PRECHARGE 預(yù)充電,并空閑一段時間,這個時長稱為?tRP(min) 。在發(fā)出 REFRESH 命令后,必須經(jīng)過?tRFC(min) 的延遲,才能發(fā)出下一個命令( DES 命令除外)。
值得注意的是,這里的?tREFI?是刷新命令之間的“平均”間隔,這是因為你可以在周期性發(fā)出的刷新命令中,減少一部分,但在后續(xù)補上(譯注:只需要平均間隔滿足?tREFI?即可)。延后刷新功能是 DDR4 標(biāo)準(zhǔn)新增的,用于解決高密度刷新帶來的較長命令鎖定期影響性能的問題。可延后發(fā)出的刷新命令數(shù)量取決于當(dāng)前的刷新模式(1x,2x 和 4x),在模式寄存器 MR2 中設(shè)置。
1、tREFI
DRAM 所需的刷新命令的平均間隔
2、tRFC
刷新命令與其他命令(除 DES 命令)之間的延遲
3、tRP
Precharge time
所有 bank 需要在刷新命令前預(yù)充電,并保持?tRP?的空閑時間
圖-3 刷新時序圖
圖-4 延后刷新命令
讀命令 READ Timing
讀命令相關(guān)的時序參數(shù)可以分為三類
總體讀時序?Read Timing
時鐘-數(shù)據(jù)有效信號(Strobe)間的時序關(guān)系?Clock to Data Strobe relationship
數(shù)據(jù)-數(shù)據(jù)有效信號間的時序關(guān)系?Data Strobe to Data relationship
1、Read Timing
CL?(CAS latency)
Column-Address-Strobe
當(dāng)列地址在地址信號上就緒時,CL 是內(nèi)部讀命令與讀數(shù)據(jù)第一個比特之間的延遲時鐘周期。
CL 大小定義在模式寄存器 MR0 中。SDRAM 標(biāo)準(zhǔn)定義了不同頻率下需要設(shè)定的 CL 值大小。
AL?(Additive Latency)
AL 延遲允許緊跟激活命令后發(fā)出讀命令,器件內(nèi)部將讀命令延遲 AL 個時鐘周期后執(zhí)行。
該項特性用于保持器件內(nèi)部的高帶寬與高速率
RL?(Read Latency)
總的讀延遲,RL = AL + CL
tCCD_S/L
讀取不同 bank 之間的延遲,和?tRRD_S/L?類似,訪問不同 bank group 的bank相比屬于同一bank group 的延遲要小一點,為?tRRD_S?(short)
圖-5 不同 bank group 間的連續(xù)讀命令。上圖中 AL=0,CL=11,所以 RL=11。值得注意的是兩次讀數(shù)據(jù)之間沒有間隔,后一次的數(shù)據(jù)緊接著前一次數(shù)據(jù)。由于兩次讀命令的 bank group 不同,所以讀命令間的延遲是 tCCD_S
圖-6 不同 bank group 間的非連續(xù)讀命令。
圖-7 tCCD_S/L 的不同
2、Clock to Data Strobe relationship?(CK & DQS)
tDQSCK(MIN/MAX)
數(shù)據(jù)有效信號 strobe?上升沿相對于時鐘信號 CK_t(上升沿)、CK_c(下降沿) 所允許的延遲范圍
tDQSCK
數(shù)據(jù)有效信號 strobe?上升沿相對于時鐘信號 CK_t(上升沿)、CK_c(下降沿) 的實際延遲
tQSH
數(shù)據(jù)有效信號高電平脈沖脈寬
tQSL
數(shù)據(jù)有效信號低電平脈沖脈寬
圖-8 CK-DQS 間相位關(guān)系
3、Data Strobe to Data relationship (DQS & DQ)
tDQSQ
描述 DQ 上升沿相對于 DQS 邊沿的最晚時間,(譯注,晚于該時刻將影響本次數(shù)據(jù)采樣),在下方的圖中可以看到,?tDQSQ?指的是 DQS 上升沿至有效 DQ 信號左邊沿的時間
tQH
描述 DQ 上升沿相對于 DQS 邊沿的最早時間,(譯注,早于該時刻將影響前次數(shù)據(jù)采樣),在下方的圖中可以看到,tQH?指的是 DQS 上升沿至有效 DQ 信號的右邊沿的時間
圖-8 續(xù) DQS-DQ 間相位關(guān)系
寫命令 Write Timing
寫命令時序大致上與讀命令相同...
1、總體寫時序 Write timing
CWL?(CAS Write latency)
Column-Address-Strobe Write
寫命令與第一個送出第一個寫數(shù)據(jù)之間的延遲
CWL 大小在模式寄存器 MR2 中定義
AL?(Additive Latency)
AL 延遲允許緊跟激活命令后發(fā)出寫命令,器件內(nèi)部將寫命令延遲 AL 個時鐘周期后執(zhí)行。
該項特性用于保持器件內(nèi)部的高帶寬與高速率
WL?(Read Latency)
總的寫延遲,WL = AL + CWL
tCCD_S/L
寫入不同 bank 之間的延遲,和?tRRD_S/L?類似,訪問不同 bank group 的 bank 相比屬于同一 bank group 的延遲要小一點,為?tRRD_S?(short)
2、時鐘-數(shù)據(jù)有效信號(Strobe)間的時序關(guān)系?Clock to Data Strobe relationship
tDQSS(MIN/MAX)
數(shù)據(jù)有效信號 strobe?上升沿相對于時鐘信號 CK_t(上升沿)、CK_c(下降沿) 所允許的延遲范圍
tDQSS
數(shù)據(jù)有效信號 strobe?上升沿相對于時鐘信號 CK_t(上升沿)、CK_c(下降沿) 的實際延遲
tDQSH
數(shù)據(jù)有效信號高電平脈沖脈寬
tDQSL
數(shù)據(jù)有效信號低電平脈沖脈寬
tWPST
Post-write 最后一個數(shù)據(jù)與有效信號重新置高之間的周期,此時總線并不驅(qū)動數(shù)據(jù)
tWPRE
Pre-write 數(shù)據(jù)有效信號(strobe)從無效(non-valid)到有效(valid)之間的周期數(shù)
圖-9 寫時序圖
模式寄存器時序 Mode Register Timing
通過 SDRAM 的 7 個模式寄存器,可以對 SDRAM 的特性,功能以及設(shè)置進行編程。這些寄存器本身通過 MRS 命令編輯。模式寄存器一般在初始化期間進行設(shè)定,但也可以在后續(xù)正常工作期間進行修改。模式寄存器設(shè)置有下列兩個時序參數(shù):
1、tMRD
Mode Register Set command cycle time
MRS 命令周期數(shù),指完成寄存器寫操作所需要的的周期數(shù),也是兩個 MRS 命令之間最小的間隔
圖-10 tMRD timing
2、tMOD
Mode Register Set command update time
MRS 命令與其他命令(除 DES)之間的最小間隔
圖-10 tMOD timing
審核編輯:黃飛
?
評論