在 DDR 標(biāo)準(zhǔn)中有很多很多時(shí)序參數(shù)(timing parameter),但當(dāng)你真的和 DDR4 打交道時(shí),會(huì)發(fā)現(xiàn)經(jīng)常訪問或者讀到的參數(shù)也就那么幾個(gè),它們相比剩下的參數(shù)要常用許多。所以,本文將基于具體的DDR命令,討論那些經(jīng)常用到的參數(shù)。
這些命令真的很容易忘記,一段時(shí)間不怎么用到后,記憶就會(huì)馬上模糊。本系列的另一篇文章:Timing Parameter Cheat Sheet,可以用作具體時(shí)序參數(shù)的快速查找手冊(cè)。
Note:本文所用到的圖片都來自于 JEDEC DDR4 標(biāo)準(zhǔn),或者美光的產(chǎn)品手冊(cè),在參考文獻(xiàn)部分給出了相應(yīng)的鏈接。
激活命令 ACTIVATE Timing
激活命令用于在訪問之前打開某個(gè) bank 中的某個(gè) row。在 Understanding the Basics一文中我們了解到每個(gè) bank 有僅有一組 sense amps,所以每個(gè) bank 中可以保持一個(gè) row 處于打開狀態(tài)。與激活命令相關(guān)的常用時(shí)序參數(shù)共有 3 個(gè),tRRD_S,tRRD_L?以及?tFAW。
1、tRRD_S
row-to-row delay--short
當(dāng)向多個(gè)屬于不同 bank group 的 bank 發(fā)送 ACT 命令時(shí),ACT 命令之間需要滿足?tRRD_S?長(zhǎng)度的間隔
2、tRRD_L
row-to-row delay--long
與?tRRD_S?的不同點(diǎn)在于,當(dāng)向多個(gè)屬于同一個(gè)?bank group 的 bank 發(fā)送 ACT 命令時(shí),ACT 命令之間需要滿足?tRRD_L?長(zhǎng)度的間隔

圖-1?tRRD?時(shí)序圖
3、tFAW
Four Activate Window
限制容納至多四個(gè) ACT 命令的窗口,在這段時(shí)間內(nèi)最多只能發(fā)出四個(gè) ACT 命令。
當(dāng)連續(xù)發(fā)送 ACT 命令時(shí),ACT 命令之間一方面需要滿足?tRRD_S/L?,另一方面,在發(fā)送四個(gè) ACT 命令后,需要等待?tFAW?窗口結(jié)束,才能發(fā)送第五個(gè) ACT 命令。

圖-2?tFAW?時(shí)序圖
刷新命令 REFRESH Timing
為了確保存儲(chǔ)在 SDRAM 中的數(shù)據(jù)不會(huì)丟失,存儲(chǔ)控制器需要平均間隔?tREFI?,發(fā)送一次 REFRESH 命令。但是在進(jìn)行刷新之前,SDRAM 所有的 bank 需要進(jìn)行 PRECHARGE 預(yù)充電,并空閑一段時(shí)間,這個(gè)時(shí)長(zhǎng)稱為?tRP(min) 。在發(fā)出 REFRESH 命令后,必須經(jīng)過?tRFC(min) 的延遲,才能發(fā)出下一個(gè)命令( DES 命令除外)。
值得注意的是,這里的?tREFI?是刷新命令之間的“平均”間隔,這是因?yàn)槟憧梢栽谥芷谛园l(fā)出的刷新命令中,減少一部分,但在后續(xù)補(bǔ)上(譯注:只需要平均間隔滿足?tREFI?即可)。延后刷新功能是 DDR4 標(biāo)準(zhǔn)新增的,用于解決高密度刷新帶來的較長(zhǎng)命令鎖定期影響性能的問題??裳雍蟀l(fā)出的刷新命令數(shù)量取決于當(dāng)前的刷新模式(1x,2x 和 4x),在模式寄存器 MR2 中設(shè)置。
1、tREFI
DRAM 所需的刷新命令的平均間隔
2、tRFC
刷新命令與其他命令(除 DES 命令)之間的延遲
3、tRP
Precharge time
所有 bank 需要在刷新命令前預(yù)充電,并保持?tRP?的空閑時(shí)間

圖-3 刷新時(shí)序圖

圖-4 延后刷新命令
讀命令 READ Timing
讀命令相關(guān)的時(shí)序參數(shù)可以分為三類
總體讀時(shí)序?Read Timing
時(shí)鐘-數(shù)據(jù)有效信號(hào)(Strobe)間的時(shí)序關(guān)系?Clock to Data Strobe relationship
數(shù)據(jù)-數(shù)據(jù)有效信號(hào)間的時(shí)序關(guān)系?Data Strobe to Data relationship
1、Read Timing
CL?(CAS latency)
Column-Address-Strobe
當(dāng)列地址在地址信號(hào)上就緒時(shí),CL 是內(nèi)部讀命令與讀數(shù)據(jù)第一個(gè)比特之間的延遲時(shí)鐘周期。
CL 大小定義在模式寄存器 MR0 中。SDRAM 標(biāo)準(zhǔn)定義了不同頻率下需要設(shè)定的 CL 值大小。
AL?(Additive Latency)
AL 延遲允許緊跟激活命令后發(fā)出讀命令,器件內(nèi)部將讀命令延遲 AL 個(gè)時(shí)鐘周期后執(zhí)行。
該項(xiàng)特性用于保持器件內(nèi)部的高帶寬與高速率
RL?(Read Latency)
總的讀延遲,RL = AL + CL
tCCD_S/L
讀取不同 bank 之間的延遲,和?tRRD_S/L?類似,訪問不同 bank group 的bank相比屬于同一bank group 的延遲要小一點(diǎn),為?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ù)有效信號(hào) strobe?上升沿相對(duì)于時(shí)鐘信號(hào) CK_t(上升沿)、CK_c(下降沿) 所允許的延遲范圍
tDQSCK
數(shù)據(jù)有效信號(hào) strobe?上升沿相對(duì)于時(shí)鐘信號(hào) CK_t(上升沿)、CK_c(下降沿) 的實(shí)際延遲
tQSH
數(shù)據(jù)有效信號(hào)高電平脈沖脈寬
tQSL
數(shù)據(jù)有效信號(hào)低電平脈沖脈寬

圖-8 CK-DQS 間相位關(guān)系
3、Data Strobe to Data relationship (DQS & DQ)
tDQSQ
描述 DQ 上升沿相對(duì)于 DQS 邊沿的最晚時(shí)間,(譯注,晚于該時(shí)刻將影響本次數(shù)據(jù)采樣),在下方的圖中可以看到,?tDQSQ?指的是 DQS 上升沿至有效 DQ 信號(hào)左邊沿的時(shí)間
tQH
描述 DQ 上升沿相對(duì)于 DQS 邊沿的最早時(shí)間,(譯注,早于該時(shí)刻將影響前次數(shù)據(jù)采樣),在下方的圖中可以看到,tQH?指的是 DQS 上升沿至有效 DQ 信號(hào)的右邊沿的時(shí)間

圖-8 續(xù) DQS-DQ 間相位關(guān)系
寫命令 Write Timing
寫命令時(shí)序大致上與讀命令相同...
1、總體寫時(shí)序 Write timing
CWL?(CAS Write latency)
Column-Address-Strobe Write
寫命令與第一個(gè)送出第一個(gè)寫數(shù)據(jù)之間的延遲
CWL 大小在模式寄存器 MR2 中定義
AL?(Additive Latency)
AL 延遲允許緊跟激活命令后發(fā)出寫命令,器件內(nèi)部將寫命令延遲 AL 個(gè)時(shí)鐘周期后執(zhí)行。
該項(xiàng)特性用于保持器件內(nèi)部的高帶寬與高速率
WL?(Read Latency)
總的寫延遲,WL = AL + CWL
tCCD_S/L
寫入不同 bank 之間的延遲,和?tRRD_S/L?類似,訪問不同 bank group 的 bank 相比屬于同一 bank group 的延遲要小一點(diǎn),為?tRRD_S?(short)
2、時(shí)鐘-數(shù)據(jù)有效信號(hào)(Strobe)間的時(shí)序關(guān)系?Clock to Data Strobe relationship
tDQSS(MIN/MAX)
數(shù)據(jù)有效信號(hào) strobe?上升沿相對(duì)于時(shí)鐘信號(hào) CK_t(上升沿)、CK_c(下降沿) 所允許的延遲范圍
tDQSS
數(shù)據(jù)有效信號(hào) strobe?上升沿相對(duì)于時(shí)鐘信號(hào) CK_t(上升沿)、CK_c(下降沿) 的實(shí)際延遲
tDQSH
數(shù)據(jù)有效信號(hào)高電平脈沖脈寬
tDQSL
數(shù)據(jù)有效信號(hào)低電平脈沖脈寬
tWPST
Post-write 最后一個(gè)數(shù)據(jù)與有效信號(hào)重新置高之間的周期,此時(shí)總線并不驅(qū)動(dòng)數(shù)據(jù)
tWPRE
Pre-write 數(shù)據(jù)有效信號(hào)(strobe)從無效(non-valid)到有效(valid)之間的周期數(shù)

圖-9 寫時(shí)序圖
模式寄存器時(shí)序 Mode Register Timing
通過 SDRAM 的 7 個(gè)模式寄存器,可以對(duì) SDRAM 的特性,功能以及設(shè)置進(jìn)行編程。這些寄存器本身通過 MRS 命令編輯。模式寄存器一般在初始化期間進(jìn)行設(shè)定,但也可以在后續(xù)正常工作期間進(jìn)行修改。模式寄存器設(shè)置有下列兩個(gè)時(shí)序參數(shù):
1、tMRD
Mode Register Set command cycle time
MRS 命令周期數(shù),指完成寄存器寫操作所需要的的周期數(shù),也是兩個(gè) MRS 命令之間最小的間隔

圖-10 tMRD timing
2、tMOD
Mode Register Set command update time
MRS 命令與其他命令(除 DES)之間的最小間隔

圖-10 tMOD timing
審核編輯:黃飛
?
電子發(fā)燒友App

















評(píng)論