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