更快地對(duì)高速存儲(chǔ)故障深入調(diào)試三大步驟
間歇性內(nèi)存故障處理起來可能會(huì)非常復(fù)雜。這些故障的根源可能是一種原因或多種不同原因的組合,包括BIOS錯(cuò)誤、協(xié)議錯(cuò)誤、信號(hào)完整性問題、硬件問題、內(nèi)存或其它子系統(tǒng)問題。盡管有些團(tuán)隊(duì)能夠迅速解決內(nèi)存調(diào)試問題,但更多團(tuán)隊(duì)在遇到間歇性故障時(shí)會(huì)束手無策。本文概括介紹了間歇性內(nèi)存故障的調(diào)試方法,文中通過多個(gè)實(shí)例,說明了如何才能找出引起內(nèi)存問題的不同原因。對(duì)于經(jīng)常遇到系統(tǒng)未能引導(dǎo)或內(nèi)存測試失敗的工程師來說,也可從本文介紹的調(diào)試方法中受益。
圖1:DDRII激活時(shí)的高分辨率定時(shí)軌跡。
各種子系統(tǒng)、不同工作模式和多種循環(huán)導(dǎo)致的串?dāng)_和資源沖突一直是引起許多間歇性內(nèi)存故障的根本原因。對(duì)于間歇性內(nèi)存故障,查找其根本原因的方法分成三步:1) 確定故障是否可以重復(fù)。試著復(fù)制產(chǎn)生故障的條件。重復(fù)故障通??梢杂行У夭榭垂收系奶攸c(diǎn)。2) 使用普通探頭或插槽式分析探頭把內(nèi)存總線連接到邏輯分析儀上,以迅速查看:整個(gè)DDRII總線的定時(shí)關(guān)系、百萬分之幾概率的誤碼、協(xié)議錯(cuò)誤和時(shí)鐘質(zhì)量。3) 用高速示波器及高帶寬探頭,在信號(hào)的接收端進(jìn)行參數(shù)測量,包括:對(duì)于寫入內(nèi)存的數(shù)據(jù)在SDRAM上進(jìn)行探測和對(duì)于從內(nèi)存讀出的數(shù)據(jù)在內(nèi)存控制器上進(jìn)行探測。
評(píng)估內(nèi)存故障要考慮的因素
在試圖重建故障條件時(shí),記住故障的根本原因可能來自未直接連接到內(nèi)存上的子系統(tǒng)或子應(yīng)用。局域網(wǎng)接入、子系統(tǒng)上電順序、進(jìn)入或退出睡眠模式以及電源周期都是在評(píng)估內(nèi)存故障時(shí)需要考慮的重要因素。
在某個(gè)特殊的測試或設(shè)置條件下隔離問題,可以使問題變的比較容易。例如,在某項(xiàng)測試過程中發(fā)生的故障可能會(huì)指向軟件程序或信號(hào)完整性問題,如串?dāng)_或碼間干擾。對(duì)可重復(fù)故障,用戶可以在故障條件下進(jìn)行多次測量。
重復(fù)故障條件說起來容易,但做起來要難得多。需要考慮的細(xì)節(jié)包括:
圖2:CK0和S0的眼掃描(Eye Scan)。
軟件:是否有錯(cuò)誤記錄?BIOS、操作系統(tǒng)和應(yīng)用程序是否在測試時(shí)運(yùn)行?
環(huán)境:在系統(tǒng)出現(xiàn)故障時(shí)室內(nèi)溫度是多少?在故障期間,被測系統(tǒng)的空氣流動(dòng)情況如何?系統(tǒng)供電是否在技術(shù)規(guī)范之內(nèi)?
硬件:采用同一設(shè)計(jì)的其他系統(tǒng)是否已經(jīng)通過驗(yàn)證測試?其它系統(tǒng)也有故障?還是只有這個(gè)系統(tǒng)發(fā)生這種故障?故障系統(tǒng)的電路板、DIMM、處理器等是什么版本?故障系統(tǒng)與工作系統(tǒng)有什么區(qū)別?制造中最新的元器件有什么變化?
如果條件可以重復(fù),那么在這些條件下進(jìn)行測試;如果條件不能重復(fù),那么選擇最好的內(nèi)存進(jìn)行測試,并按順序改變測試條件(如溫度極限和電源極限)。
用邏輯分析工具縮小問題區(qū)域
在調(diào)試 DDR系統(tǒng)時(shí),邏輯分析有效地補(bǔ)充了高速示波器的限制。使用DDR探頭或插槽分析探頭進(jìn)行邏輯分析,可以迅速查看系統(tǒng)中的問題區(qū)域。通過使用邏輯分析工具迅速縮小問題區(qū)域,然后使用高性能示波器檢查可疑的信號(hào),工程師可以節(jié)約大量的時(shí)間。
評(píng)論