記憶體時序

記憶體時序

記憶體時序是描述記憶體條性能的一種參數,一般存儲在記憶體條的SPD中,可通過參數手動設定。

參數簡介

存取時序

上面的表格展示的是一次普通的DRAM存儲周期。首先,行地址信息會被送到DRAM中,經歷了tRCD這段時間之後,行地址已經進行了“選通”。由於現今的存儲器一般是SDRAM,我們可以一次多多個列提取信息,而每一次讀取需要tCAS(R)這么多的時間。當列操作結束時,DRAM需要tRP這么多的時間進行預充電,以便為下一次存取操作做準備。而一般來說,tRAS > tRCD + tCAS + 2,這是因為需要留足夠的時間給存取的數據去“流動”。經過這樣的了解,我們可以通俗的理解這幾個參數:

tCAS:列定址所需要的時鐘周期(周期的數量表示延遲的長短)

tRCD:行定址和列定址時鐘周期的差值

tRP:在下一個存儲周期到來前,預充電需要的時鐘周期

tRAS:對某行的數據進行存儲時,從操作開始到定址結束需要的總時間周期

BIOS參數手動設定

一、記憶體延遲時序“CL-tRCD-tRP-tRAS”的設定

首先,需要在BIOS中打開手動設定,在BIOS設定中找到“DRAM Timing Selectable”,BIOS設定中可能出現的其他描述有:Automatic Configuration、DRAM Auto、Timing Selectable、Timing Configuring By SPD等,將其值設為“Manual”(視BIOS的不同可能的選項有:On/Off或Enable/Disable),如果要調整記憶體時序,應該先打開手動設定,之後會自動出現詳細的時序參數列表:

Command Per Clock(CPC)

可選的設定:Auto,Enable(1T),Disable(2T)。

Command Per Clock(CPC:指令比率,也有翻譯為:首命令延遲),一般還被描述為DRAM Command Rate、CMD Rate等。由於DDR記憶體的定址,先要進行P-Bank的選擇(通過DIMM上CS片選信號進行),然後才是L-Bank/行激活與列地址的選擇。這個參數的含義就是指在P-Bank選擇完之後多少時間可以發出具體的定址的L-Bank/行激活命令,單位是時鐘周期。

顯然,也是越短越好。但當隨著主機板上記憶體模組的增多,控制晶片組的負載也隨之增加,過短的命令間隔可能會影響穩定性。因此當你的記憶體插得很多而出現不太穩定的時間,才需要將此參數調長。大部分主機板都會自動設定這個參數。

該參數的默認值為Disable(2T),如果玩家的記憶體質量很好,則可以將其設定為Enable(1T)。

CAS Latency Control(tCL)

可選的設定:Auto,1,1.5,2,2.5,3,3.5,4,4.5。

一般我們在查閱記憶體的時序參數時,如“3-4-4-8”這一類的數字序列,上述數字序列分別對應的參數是“CL-tRCD-tRP-tRAS”。這個3就是第1個參數,即CL參數。

CAS Latency Control(也被描述為tCL、CL、CAS Latency Time、CAS Timing Delay),CAS latency是“記憶體讀寫操作前列地址控制器的潛伏時間”。CAS控制從接受一個指令到執行指令之間的時間。因為CAS主要控制十六進制的地址,或者說是記憶體矩陣中的列地址,所以它是最為重要的參數,在穩定的前提下應該儘可能設低。

記憶體是根據行和列定址的,當請求觸發後,最初是tRP(Row Precharge),預充電後,記憶體才真正開始初始化RAS。一旦tRAS激活後,RAS(Row Address Strobe)開始進行需要數據的定址。首先是行地址,然後行列轉換tRCD(RAS to CAS Delay),接著通過CAS(Column Address Strobe)訪問所需數據的精確十六進制地址。期間從CAS開始到CAS結束就是CAS延遲。所以CAS是找到數據的最後一個步驟,也是記憶體參數中最重要的。

這個參數控制記憶體接收到一條數據讀取指令後要等待多少個時鐘周期才實際執行該指令。同時該參數也決定了在一次記憶體突發傳送過程中完成第一部分傳送所需要的時鐘周期數。這個參數越小,則記憶體的速度越快。必須注意部分記憶體不能運行在較低的延遲,可能會丟失數據,因此在提醒大家把CAS延遲設為2或2.5的同時,如果不穩定就只有進一步提高它了。而且提高延遲能使記憶體運行在更高的頻率,所以需要對記憶體超頻時,應該試著提高CAS延遲。

該參數對記憶體性能的影響最大,在保證系統穩定性的前提下,CAS值越低,則會導致更快的記憶體讀寫操作。CL值為2為會獲得最佳的性能,而CL值為3可以提高系統的穩定性。注意,WinbondBH-5/6晶片可能無法設為3。

RAS to CAS Delay(tRCD)

可選的設定:Auto,0,1,2,3,4,5,6,7。

該值就是“3-4-4-8”記憶體時序參數中的第2個參數,即第1個4。RAS to CAS Delay(也被描述為:tRCD、Active to CMD),表示"行定址到列定址延遲時間",數值越小,性能越好。對記憶體進行讀、寫或刷新操作時,需要在這兩種脈衝信號之間插入延遲時鐘周期。在JEDEC規範中,它是排在第二的參數,降低此延時,可以提高系統性能。建議該值設定為3或2,但如果該值設定太低,同樣會導致系統不穩定。該值為4時,系統將處於最穩定的狀態,而該值為5,則太保守。

如果你的記憶體的超頻性能不佳,則可將此值設為記憶體的默認值或嘗試提高tRCD值。

Min RAS Active Timing(tRAS)

可選的設定:Auto,00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15。

該值就是該值就是“3-4-4-8”記憶體時序參數中的最後一個參數,即8。Min RAS Active Time (也被描述為:tRAS、Active to Precharge Delay、Row Active Time、Precharge Wait State、Row Active Delay、Row Precharge Delay、RAS Active Time),表示“記憶體行有效至預充電的最短周期”,調整這個參數需要結合具體情況而定,一般我們最好設在5-10之間。這個參數要根據實際情況而定,並不是說越大或越小就越好。

如果tRAS的周期太長,系統會因為無謂的等待而降低性能。降低tRAS周期,則會導致已被激活的行地址會更早的進入非激活狀態。如果tRAS的周期太短,則可能因缺乏足夠的時間而無法完成數據的突發傳輸,這樣會引發丟失數據或損壞數據。該值一般設定為CAS latency + tRCD + 2個時鐘周期。如果你的CAS latency的值為2,tRCD的值為3,則最佳的tRAS值應該設定為7個時鐘周期。為提高系統性能,應儘可能降低tRAS的值,但如果發生記憶體錯誤或系統當機,則應該增大tRAS的值。

如果使用DFI的主機板,則tRAS值建議使用00,或者5-10之間的值。

Row Precharge Timing(tRP)

可選的設定:Auto,0,1,2,3,4,5,6,7。

該值就是“3-4-4-8”記憶體時序參數中的第3個參數,即第2個4。Row Precharge Timing (也被描述為:tRP、RAS Precharge、Precharge to active),表示"記憶體行地址控制器預充電時間",預充電參數越小則記憶體讀寫速度就越快。

tRP用來設定在另一行能被激活之前,RAS需要的充電時間。tRP參數設定太長會導致所有的行激活延遲過長,設為2可以減少預充電時間,從而更快地激活下一行。然而,想要把tRP設為2對大多數記憶體都是個很高的要求,可能會造成行激活之前的數據丟失,記憶體控制器不能順利地完成讀寫操作。對於桌面計算機來說,推薦預充電參數的值設定為2個時鐘周期,這是最佳的設定。如果比此值低,則會因為每次激活相鄰緊接著的bank將需要1個時鐘周期,這將影響DDR記憶體的讀寫性能,從而降低性能。只有在tRP值為2而出現系統不穩定的情況下,將此值設定為3個時鐘周期。

如果使用DFI的主機板,則tRP值建議2-5之間的值。值為2將獲取最高的性能,該值為4將在超頻時獲取最佳的穩定性,同樣的而該值為5,則太保守。大部分記憶體都無法使用2的值,需要超頻才可以達到該參數。

Row Cycle Time(tRC)

可選的設定:Auto,7-22,步幅值1。

Row Cycle Time(tRC、RC),表示“SDRAM行周期時間”,它是包括行單元預充電到激活在內的整個過程所需要的最小的時鐘周期數。

其計算公式是:row cycle time (tRC) = minimum row active time(tRAS) + row precharge time(tRP)。因此,設定該參數之前,你應該明白你的tRAS值和tRP值是多少。如果tRC的時間過長,會因在完成整個時鐘周期後激活新的地址而等待無謂的延時,而降低性能。然後一旦該值設定過小,在被激活的行單元被充分充電之前,新的周期就可以被初始化。

在這種情況下,仍會導致數據丟失和損壞。因此,最好根據tRC = tRAS + tRP進行設定,如果你的記憶體模組的tRAS值是7個時鐘周期,而tRP的值為4個時鐘周期,則理想的tRC的值應當設定為11個時鐘周期。

Row Refresh Cycle Time(tRFC)

可選的設定:Auto,9-24,步幅值1。

Row Refresh Cycle Time(tRFC、RFC),表示“SDRAM行刷新周期時間”,它是行單元刷新所需要的時鐘周期數。該值也表示向相同的bank中的另一個行單元兩次傳送刷新指令(即:REF指令)之間的時間間隔。tRFC值越小越好,它比tRC的值要稍高一些。

如果使用DFI的主機板,通常tRFC的值不能達到9,而10為最佳設定,17-19是記憶體超頻建議值。建議從17開始依次遞減來測試該值。大多數穩定值為tRC加上2-4個時鐘周期。

Row to Row Delay(RAS to RAS delay)(tRRD)

可選的設定:Auto, 0-7,每級以1的步幅遞增。

Row to Row Delay,也被稱為RAS to RAS delay (tRRD),表示"行單元到行單元的延時"。該值也表示向相同的bank中的同一個行單元兩次傳送激活指令(即:REF指令)之間的時間間隔。tRRD值越小越好。

延遲越低,表示下一個bank能更快地被激活,進行讀寫操作。然而,由於需要一定量的數據,太短的延遲會引起連續數據膨脹。於桌面計算機來說,推薦tRRD值設定為2個時鐘周期,這是最佳的設定,此時的數據膨脹可以忽視。只有在tRRD值為2而出現系統不穩定的情況下,將此值設定為3個時鐘周期。

如果使用DFI的主機板,則tRRD值為00是最佳性能參數,4超頻記憶體時能達到最高的頻率。通常2是最合適的值,00看上去很奇怪,但有人也能穩定運行在00-260MHz。

Write Recovery Time(tWR)

可選的設定:Auto,2,3。

Write Recovery Time (tWD),表示“寫恢復延時”。該值說明在一個激活的bank中完成有效的寫操作及預充電前,必須等待多少個時鐘周期。這段必須的時鐘周期用來確保在預充電發生前,寫緩衝中的數據可以被寫進記憶體單元中。同樣的,過低的tWD雖然提高了系統性能,但可能導致數據還未被正確寫入到記憶體單元中,就發生了預充電操作,會導致數據的丟失及損壞。

如果你使用的是DDR200和266的記憶體,建議將tWR值設為2;如果使用DDR333或DDR400,則將tWD值設為3。如果使用DFI的主機板,則tWR值建議為2。

Write to Read Delay(tWTR)

可選的設定:Auto,1,2。

Write to Read Delay (tWTR),表示“讀到寫延時”。三星公司稱其為“TCDLR (last data in to read command)”,即最後的數據進入讀指令。它設定向DDR記憶體模組中的同一個單元中,在最後一次有效的寫操作和下一次讀操作之間必須等待的時鐘周期。

tWTR值為2在高時鐘頻率的情況下,降低了讀性能,但提高了系統穩定性。這種情況下,也使得記憶體晶片運行於高速度下。換句話說,增加tWTR值,可以讓內容模組運行於比其默認速度更快的速度下。如果使用DDR266或DDR333,則將tWTR值設為1;如果使用DDR400,則也可試著將tWTR的值設為1,如果系統不穩定,則改為2。

Refresh Period(tREF)

可選的設定:Auto, 0032-4708,其步進值非固定。

Refresh Period (tREF),表示“刷新周期”。它指記憶體模組的刷新周期。

先請看不同的參數在相同的記憶體下所對應的刷新周期(單位:微秒,即:一百萬分之一秒)。?號在這裡表示該刷新周期尚無對應的準確數據。

1552= 100mhz(?.?s)

2064= 133mhz(?.?s)

2592= 166mhz(?.?s)

3120= 200mhz(?.?s)

---------------------

3632= 100mhz(?.?s)

4128= 133mhz(?.?s)

4672= 166mhz(?.?s)

0064= 200mhz(?.?s)

---------------------

0776= 100mhz(?.?s)

1032= 133mhz(?.?s)

1296= 166mhz(?.?s)

1560= 200mhz(?.?s)

---------------------

1816= 100mhz(?.?s)

2064= 133mhz(?.?s)

2336= 166mhz(?.?s)

0032= 200mhz(?.?s)

---------------------

0388= 100mhz(15.6us)

0516= 133mhz(15.6us)

0648= 166mhz(15.6us)

0780= 200mhz(15.6us)

---------------------

0908= 100mhz(7.8us)

1032= 133mhz(7.8us)

1168= 166mhz(7.8us)

0016= 200mhz(7.8us)

---------------------

1536= 100mhz(3.9us)

2048= 133mhz(3.9us)

2560= 166mhz(3.9us)

3072= 200mhz(3.9us)

---------------------

3684= 100mhz(1.95us)

4196= 133mhz(1.95us)

4708= 166mhz(1.95us)

0128= 200mhz(1.95us)

如果採用Auto選項,主機板BIOS將會查詢記憶體上的一個很小的、名為“SPD”(Serial Presence Detect )的晶片。SPD存儲了記憶體條的各種相關工作參數等信息,系統會自動根據SPD中的數據中最保守的設定來確定記憶體的運行參數。如過要追求最優的性能,則需手動設定刷新周期的參數。一般說來,15.6us適用於基於128兆位記憶體晶片的記憶體(即單顆容量為16MB的記憶體),而7.8us適用於基於256兆位記憶體晶片的記憶體(即單顆容量為32MB的記憶體)。注意,如果tREF刷新周期設定不當,將會導致記憶體單元丟失其數據。

另外根據其他的資料顯示,記憶體存儲每一個bit,都需要定期的刷新來充電。不及時充電會導致數據的丟失。DRAM實際上就是電容器,最小的存儲單位是bit。陣列中的每個bit都能被隨機地訪問。但如果不充電,數據只能保存很短的時間。因此我們必須每隔15.6us就刷新一行。每次刷新時數據就被重寫一次。正是這個原因DRAM也被稱為非永久性存儲器。一般通過同步的RAS-only的刷新方法(行刷新),每行每行的依次刷新。早期的EDO記憶體每刷新一行耗費15.6us的時間。因此一個2Kb的記憶體每列的刷新時間為15.6?s x2048行=32ms。

如果使用DFI的主機板,tREF和tRAS一樣,不是一個精確的數值。通常15.6us和3.9us都能穩定運行,1.95us會降低記憶體頻寬。很多玩家發現,如果記憶體質量優良,當tREF刷新周期設定為3120=200mhz(?.?s)時,會得到最佳的性能/穩定性比。

Write CAS# Latency(tWCL)

可選的設定:Auto,1-8

Write CAS Latency (tWCL),表示“寫指令到行地址控制器延時”。SDRAM記憶體是隨機訪問的,這意味著記憶體控制器可以把數據寫入任意的物理地址,大多數情況下,數據通常寫入距離當前列地址最近的頁面。tWCL表示寫入的延遲,除了DDRII,一般可以設為1T,這個參數和大家熟悉的tCL(CAS-Latency)是相對的,tCL表示讀的延遲。

DRAM Bank Interleave

可選的設定:Enable, Disable

DRAM Bank Interleave,表示“DRAM Bank交錯”。這個設定用來控制是否啟用記憶體交錯式(interleave)模式。Interleave模式允許記憶體bank改變刷新和訪問周期。一個bank在刷新的同時另一個bank可能正在訪問。最近的實驗表明,由於所有的記憶體bank的刷新周期都是交叉排列的,這樣會產生一種流水線效應。

雖然interleave模式只有在不同bank提出連續的的定址請求時才會起作用,如果處於同一bank,數據處理時和不開啟interleave一樣。CPU必須等待第一個數據處理結束和記憶體bank的刷新,這樣才能傳送另一個地址。所有的記憶體都支持interleave模式,在可能的情況下我們建議打開此項功能。

對於DFI主機板來說,任何情況下該設定都應該是Enable,可以增大記憶體的頻寬。Disable對將減少記憶體的頻寬,但使系統更加穩定。

DQS Skew Control

可選的設定:Auto,Increase Skew,Decrease Skew

DQS Skew Control,表示“DQS時間差控制”。穩定的電壓可以使記憶體達到更高的頻率,電壓浮動會引起較大的時間差(skew),加強控制力可以減少skew,但相應的DQS(數據控制信號)上升和下降的邊緣會出現電壓過高或過低。一個額外的問題是高頻信號會引起追蹤延遲。DDR記憶體的解決方法是通過簡單數據選通脈衝來增加時鐘推進。

DDRII引進了更先進的技術:雙向的微分I/O快取器來組成DQS。微分表示用一個簡單脈衝信號和一個參考點來測量信號,而並非信號之間相互比較。理論上提升和下降信號應該是完全對成的,但事實並非如此。時鐘和數據的失諧就產生了DQ-DQS skew。

如下圖所示。

對於DFI主機板來說,建議設定為Increase Skew可以提升性能,而Decrease Skew在犧牲一定性能的情況下,可以增加穩定性。

DQS Skew Value

可選的設定:Auto,0-255,步進值為1。

當我們開啟了DQS skew control後,該選項用來設定增加或減少的數值。這個參數對系統的影響並不很敏感。 對於DFI主機板來說,開啟"Increase Skew"選項後,可以將該值設為50-255之間的值。值越大,表示速度越快。

DRAM Drive Strength

可選的設定:Auto,1-8,步進值為1。

DRAM Drive Strength(也被稱為:driving strength),表示“DRAM驅動強度”。這個參數用來控制記憶體數據匯流排的信號強度,數值越高代表信號強度越高,增加信號強度可以提高超頻的穩定性。但是並非信號強度高就一定好,三星的TCCD記憶體晶片在低強度信號下性能更佳。

如果設為Auto,系統通常會設定為一個較低的值。對使用TCCD的晶片而言,表現會好一些。但是其他的記憶體晶片就並非如此了,根據在DFI NF4主機板上調試和測試的結果,1、3、5 、7都是性能較弱的參數,其中1是最弱的。2、4、6、8是正常的設定,8提供了最強的信號強度。TCCD建議參數為3、5或7,其他晶片的記憶體建議設為6或8。

DFI用戶建議設定:TCCD建議參數為3、5、7,其他晶片的記憶體建議設為6或8。

DRAM Data Drive Strength

可選的設定:Auto,1-4,步進值為1。

DRAM Data Drive Strength表示“DRAM數據驅動強度”。這個參數決定記憶體數據匯流排的信號強度,數值越高代表信號強度越高。它主要用於處理高負荷的記憶體讀取時,增加DRAM的駕馭能力。因此,如果你的系統記憶體的讀取負荷很高,則應將該值設定為高(Hi/High)。它有助於對記憶體數據匯流排超頻。但如果你並沒有超頻,提升記憶體數據線的信號強度,可以提高超頻後速度的穩定性。此外,提升記憶體數據匯流排的信號強度並不能增強SDRAM DIMM的性能。因此,除非你記憶體有很高的讀取負荷或試圖超頻DIMM,建議設定DRAM Data Drive Strength的值為低(Lo/Low)。

要處理大負荷的數據流時,需要提高記憶體的駕馭能力,你可以設為Hi或者High。超頻時,調高此項參數可以提高穩定性。此外,這個參數對記憶體性能幾乎沒什麼影響。所以,除非超頻,一般用戶建議設為Lo/Low。

DFI用戶建議設定:普通用戶建議使用level 1或3,如果開啟了CPC,可能任何高於1的參數都會不穩定。部分用戶開啟CPC後能運行在3。更多的人關閉CPC後2-4都能夠穩定運行。當然最理想的參數是開啟CPC後設為level4。

Strength Max Async Latency

可選的設定:Auto,0-15,步進值為1。

Strength Max Async Latency暫時還沒能找到任何關於此項參數的說明,不知道其功能。感覺網友的經驗,在進行Everest的LatencyTest時,可以看出一些差別。在我的BH-6上,參數從8ns到7ns在Latency Test的測試結果中有1ns的區別。從7ns調低6ns後,測試結果又減少了2ns。

DFI主機板建議設定:BIOS中的默認值為7ns,建議大家在5-10之間調節。6ns對記憶體的要求就比較高了,建議使用BH-5和UTT晶片的用戶可以嘗試一下,但對TCCD不適用。7ns的要求低一些,UTT和BH-5設為7n比較適合超頻。8ns對UTT和BH-5就是小菜一碟,8ns時TCCD通常能穩定運行在DDR600,如果想超頻到DDR640就必須設為9ns甚至更高了。

Read Preamble Time

可選的設定:Auto,2.0-9.5,步進值為0.5。

Read Preamble Time這個參數表示DQS(數據控制信號)返回後,DQS又被開啟時的時間間隔。Samsung早期的顯存資料顯示,這個參數是用以提升性能的。DQS信號是雙向的,無論從圖形控制器到DDR SGRAM還是從DDR SGRAM到圖形控制器都起作用。

DFI主機板建議設定:BIOS中的該值設定為Auto時,實際上此時執行的是默認值5.0。建議大家在4.0-7.0之間調節,該值越小越好。

Idle Cycle Limit

可選的設定:Auto,0-256,無固定步進值。

Idle Cycle Limit這個參數表示“空閒周期限制”。這個參數指定強制關閉一個也打開的記憶體頁面之前的memclock數值,也就是讀取一個記憶體頁面之前,強制對該頁面進行重充電操作所允許的最大時間。

DFI主機板建議設定:BIOS中的該值設定為Auto時,實際上此時執行的是默認值256。質量好的記憶體可以嘗試16-32,華邦(WINBOND)BH-5顆粒的產品能穩定運行在16。Idle Cycle Limit值越低越好。

Dynamic Counter

可選的設定:Auto, Enable, Disable。

Dynamic Counter這個參數表示“動態計數器”。這個參數指定開啟還是關閉動態空閒周期計數器。如果選擇開啟(Enable),則會每次進入記憶體頁表(Page Table)就強制根據頁面衝突和頁面錯誤(conflict/page miss:PC/PM)之間通信量的比率而動態調整Idle Cycle Limit的值。這個參數和前一個Idle Cycle Limit是密切相關的,啟用後會禁止掉當前的Idle Cycle Limit,並且根據衝突的發生來動態調節。

DFI主機板建議設定:BIOS中的該值設定為Auto和關閉和一樣的。打開該設定可能會提升性能,而關閉該設定,可以使系統的更穩定。

R/W Queue Bypass

可選的設定:Auto,2x,4x,8x,16x。

R/W Queue Bypass表示“讀/寫佇列忽略”。這個參數指定在最佳化器被重寫及DCI (設備控制接口:Device Control Interface)最後一次的操作被選定前,忽略操作DCI的讀/寫佇列的時間。這個參數和前一個Idle Cycle Limit是相類似,只是最佳化器影響記憶體中的讀/寫佇列。

DFI主機板建議設定:BIOS中的該值默認為16x。如果你的系統穩定,則保留該值。但如果不穩定,或者要超頻,就只有降低到8x甚至更低的4x或2x。該值越大,則說明系統性能越強,該值越小,則會是系統越穩定。

Bypass Max

可選的設定:Auto, 0x-7x, 步進值為1。

Bypass Max表示“最大忽略時間”。這個參數表示最佳化器選擇否決之前,最後進入DCQ(Dependence Chain Queue)的可以被最佳化器忽略的時間。仔細研究後,我覺得這個參數會影響記憶體到CPU記憶體控制器的連線。

DFI主機板建議設定:BIOS中的該值默認為7x。建議4x或7x,兩者都提供了很好的性能及穩定性。32 Byte Granulation

可選的設定:Auto,Disable (8burst),Enable(4burst)。

32 Byte Granulation表示"32位顆粒化"。當該參數設定為關閉(Disable)時,就可以選擇突發計數器,並在32位的數據存取的情況下,最最佳化數據匯流排頻寬。因此該參數關閉後可以達到最佳性能的目的。

DFI主機板建議設定:絕大多數情況下,建議選擇Disable(8burst)選項。開啟Enable (4burst)可以使系統更穩定一些。

相關詞條

相關搜尋

熱門詞條

聯絡我們