討論ddr3的幾種重要引數
在自己手上的案子和周圍同事的經歷中,得到一些關於ddr3配置的經驗。權且記錄下來,以便後續可以回顧和參考。
memory init的過程一般都比較複雜,屬於晶元核心的東西,普通的oem/odm開發人員不適宜去修改或者調整其中的配置,除非有必要。我們經歷的這些問題基本都是因為使用公版的code並不能解決問題,而且晶元廠商也不能提供很好的support的情況下發生的。
odt引數
odt(on-die termination,片內終端電阻)
以前使用ddrsdram的主機板上面為了防止資料線終端反射訊號需要大量的終端電阻。大大增加了主機板的製造成本。實際上,不同的記憶體模組對終結電路的要求是不一樣的,終結電阻的大小決定了資料線的訊號比和反射率,終結電阻小則資料線訊號反射低但是訊雜比也較低;終結電阻高,則資料線的訊雜比高,但是訊號反射也會增加。因此主機板上的終結電阻並不能非常好的匹配記憶體模組,還會在一定程度上影響訊號品質。ddr2/ddr3可以根據自己的特點內建合適的終結電阻,這樣可以保證最佳的訊號波形。使用ddr2/ddr3不但可以降低主機板成本,還得到了最佳的訊號品質,這是ddr不能比擬的。
ddr2/ddr3內建了終端電阻,在dram顆粒工作時把終結電阻器關掉,而對於不工作的dram顆粒則開啟終結電阻,減少訊號的反射。odt至少為 ddr2/3帶來了兩個好處,乙個是去掉了主機板上的終結電阻器使主機板的成本降低,也使pcb板的設計更加容易。第二個好處是終結電阻器可以和記憶體顆粒的"特性"相符,使dram處於最佳狀態。
當然這乙個odt的值在ddr3的controller中是可以調整的,有相對應的register來設定,
比如34ohm/40ohm等。在之前遇到過的情況是,memory intial過了之後,進入memory訪問資料,讀到的和寫入的不一致。當時量測過dqs的訊號,data資料比較紊亂,不是很正常。但是又不能排除是hw的問題,只能暫時通過sw的方式debug,調整引數之後,問題可以解決。但是這種解決方式的前提是:memory相關訊號不能太差,如果太異常,通過sw的方式只會是飲鴆止渴。
另乙個調整過的引數是dic。
dic引數
指輸出的driver impedance control,一般是針對某個rank來設定的。具體的作用還在study,其對應的值也有34ohm或者40ohm等。詳情還是看code比較直觀。
command rate
該引數也叫首命令延遲,也就是發生在memory 訪問的第一步驟和第二步驟的間隔的延遲。在選擇乙個p-bank(物理bank指能一次處理64bit資料的一組dram集,一般包括多個邏輯bank)晶元集之後多少時間可以發出具體的定址的l-bank(邏輯bank,也就是我們說的dram顆粒)/行啟用命令。這段時間差對效能的影響在高速memory的情況下比較明顯。低頻率dram的影響不會很大。所以問題的出現一般都會在高頻率memory上出現。
我們通過cpuz 可以看到相關引數
1t表示乙個dram 時鐘週期。一般都是ns級別。
那麼我們遇到的問題是如何呢?
在某塊板子上onboard的memory顆粒在1600的頻率下,os中跑memtest會當機,而1333的頻率下此問題不會出現。當然這個可以排除晶元組的支援問題。另外的比較是so-dimm的情況下,1600和1333的頻率都不會有問題。如此說來,也許此問題的出現可能和onboard的memory的設計或者layout有關係。權且不管這些,在沒有找到真正root cause之前,貿然修改hw可能會造成很大的成本浪費。誰叫sw就是給hw搽屁股的呢?那如果sw的方式能調整,就採用sw方式吧。將memory rate從1個clock週期調整到2個clock問題基本消除。
當然,除了以前這些引數之外,還有一些可以嘗試。在bios中的setup中有ddr的timing引數可以調整,超頻的時候往往可以利用一下。
有些是setup中沒有提供出來的比如:rtt_nom,dqx_ctl驅動能力,ck_ctl驅動能力。
DDR3學習除錯重要引數
最近可能需要配置ddr3記憶體,所有找了一下關於ddr3記憶體的資料。大部分中文資料都是ddr3與ddr2對比的資料,我稍微整理了一下,主要有以下幾點 一 容量和封裝相關 1 邏輯bank 數量增加 ddr2 sdram 中有4bank 和8bank 的設計,而 ddr3 起始的邏輯bank 是8 ...
DDR3記憶體技術引數
記憶體頻率 和cpu一樣,記憶體也有自己的工作頻率,頻率以mhz為單位記憶體主頻越高在一定程度上代表著記憶體所能達到的速度越快。記憶體主頻決定著該記憶體最高能在什麼樣的頻率正常工作。目前最為主流的記憶體頻率為ddr2 800和ddr3 1333,作為ddr2的替代者,ddr3記憶體的頻率已經在向30...
DDR 2 和DDR3的區別
1 ddr3由於新增了一些功能,所以在引腳方面會有所增加,8bit 晶元採用78球fbga 封裝,16bit 晶元採用96球fbga 封裝,而ddr2則有60 68 84球fbga 封裝三種規格。並且ddr3必須是綠色封裝,不能含有任何有害物質。2 ddr的頻寬的計算方式 頻寬 記憶體核心頻率 記憶...