專利名稱:一種存儲(chǔ)器檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及檢測(cè)存儲(chǔ)器外圍電路及存儲(chǔ)器品質(zhì)的技術(shù)領(lǐng)域,尤其是涉及一種對(duì)存儲(chǔ)器 線路短路和斷路及單元的檢測(cè)方法。
背景技術(shù):
存儲(chǔ)器已廣泛地應(yīng)用于計(jì)算機(jī)、電子、通信行業(yè)的各種產(chǎn)品中,而且,存儲(chǔ)器對(duì)生產(chǎn) 工藝(例如貼裝工藝)的要求較高,在現(xiàn)有生產(chǎn)工藝不高的情況下,同時(shí),又存在人為因 素(例如焊接錯(cuò)誤,造成虛焊、粘連等問(wèn)題)的情況,存儲(chǔ)器常常產(chǎn)生短路或斷路的問(wèn)題, 從而對(duì)產(chǎn)品造成很大影響,往往使產(chǎn)品不能正常運(yùn)行。然而,這類問(wèn)題通常靠技術(shù)人員肉 眼很難判斷并且因此類硬件問(wèn)題引起的軟件問(wèn)題不易定位并且問(wèn)題重現(xiàn)困難。
于2006年1月26日公開的中國(guó)專利CN200410069098.2 "—種閃存存儲(chǔ)器的檢測(cè)方 法"提出了 一種對(duì)FLASH進(jìn)行斷路和短路檢測(cè)的技術(shù)方案,該方案通過(guò)對(duì)FLASH每個(gè)地 址單元進(jìn)行讀寫操作來(lái)判斷其地址單元是否存在問(wèn)題,由于FLASH寫操作所要花費(fèi)的時(shí) 間較長(zhǎng),這樣對(duì)所有地址單元都進(jìn)行寫操作,使檢測(cè)時(shí)間大大增加;另外,在該方案的對(duì) 數(shù)據(jù)線進(jìn)行斷路及短路的才企測(cè)過(guò)程非常繁瑣且檢測(cè)結(jié)果也不準(zhǔn)確,因?yàn)樽x出的結(jié)果與寫入 的結(jié)果不一致,并不一定是數(shù)據(jù)線的問(wèn)題,也有可能是地址線或者是存儲(chǔ)單元的問(wèn)題。同 樣,該方案的對(duì)地址線進(jìn)行開路及短路的檢測(cè)過(guò)程也很復(fù)雜且檢測(cè)結(jié)果不準(zhǔn)確。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種存儲(chǔ)器檢測(cè)方法,其可更準(zhǔn)確、更快速地檢測(cè) 出存儲(chǔ)器的哪根數(shù)據(jù)線、地址線、存儲(chǔ)單元存在的故障,并及時(shí)報(bào)告。 為解決本發(fā)明的技術(shù)問(wèn)題,本發(fā)明公開一種存儲(chǔ)器檢測(cè)方法,包括 第一階段、對(duì)存儲(chǔ)器進(jìn)行讀、寫檢測(cè)
1.1設(shè)存儲(chǔ)器內(nèi)要進(jìn)行檢測(cè)的某一段地址空間的首地址為HDDR,末地址為EDDR, 測(cè)試數(shù)據(jù)1為TD1,測(cè)試數(shù)據(jù)2為TD2,兩者的比特位寬度等于所要檢測(cè)的數(shù)據(jù)線寬度, 且TD2為TD1的按位取反數(shù)據(jù);
1.2向HDDR寫入TD1,再回讀比較,如果回讀結(jié)果不相等,則可判斷出存儲(chǔ)器存在
讀寫問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題;
1.3向EDDR寫入TD2,再回讀比較,如果回讀結(jié)果不相等,則可判斷出存儲(chǔ)器存在 讀寫問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題;
1.4當(dāng)HDDR和EDDR都分別寫入完TD1和TD2后,且都經(jīng)回讀比較,如果沒(méi)有發(fā) 現(xiàn)問(wèn)題,則進(jìn)入第二階段檢測(cè);
第二階段、對(duì)存儲(chǔ)器的數(shù)據(jù)線進(jìn)行檢測(cè)
2.1設(shè)置測(cè)試數(shù)據(jù)組1為TDG1,其所包含的數(shù)據(jù)個(gè)數(shù)等于所要檢測(cè)的數(shù)據(jù)線寬度, 每一數(shù)據(jù)互不相同,且每一數(shù)據(jù)與步驟1.2中的寫入HDDR的TD1相比只有一個(gè)比特位不 同;
2.2將TDG1的每個(gè)數(shù)據(jù)依次向HDDR寫入,每次寫完一個(gè)數(shù)據(jù)后,再回讀比較,若 回讀結(jié)果相等,則繼續(xù)寫入下一個(gè)數(shù)據(jù);若回讀結(jié)果不相等,進(jìn)入步驟2.3;
2.3根據(jù)回讀結(jié)果,判斷出該寫入HDDR的數(shù)據(jù)與TD1相比比特位不同的那根數(shù)據(jù) 線存在故障,并記錄該故障,繼續(xù)寫入下一個(gè)數(shù)據(jù),直至所有數(shù)據(jù)線都檢測(cè)完畢,再停止 檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;
2.4設(shè)置測(cè)試數(shù)據(jù)組2為TDG2,其所包含的數(shù)據(jù)個(gè)數(shù)等于所要檢測(cè)的數(shù)據(jù)線寬度, 每一數(shù)據(jù)互不相同,且每一數(shù)據(jù)都為TDG1中相應(yīng)數(shù)據(jù)的按位取反;
2.5向EDDR依次寫入TDG2,每次寫完一個(gè)數(shù)據(jù)后,再回讀比較,若回讀結(jié)果相等, 則繼續(xù)寫入下一個(gè)數(shù)據(jù);若回讀結(jié)果不相等,進(jìn)入步驟2.6;
2.6根據(jù)回讀結(jié)果,判斷出該寫入EDDR的數(shù)據(jù)與TD2相比比特位不同的那根數(shù)據(jù)線 存在故障,并記錄該故障,繼續(xù)寫入下一個(gè)數(shù)據(jù),直至所有數(shù)據(jù)線都檢測(cè)完畢,再停止檢 測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;
2.7在2.1至2.6步驟中,若未發(fā)現(xiàn)數(shù)據(jù)線存在問(wèn)題,且TDG1和TDG2內(nèi)的數(shù)據(jù)都寫 入及回讀完畢,則進(jìn)入第三階段檢測(cè);
第三階段、對(duì)存儲(chǔ)器地址線進(jìn)行檢測(cè)
3.1將TD1寫入HDDR;
3.2設(shè)置測(cè)試地址組1,其包含多個(gè)測(cè)試地址,且每一測(cè)試地址與HDDR相比只有一 個(gè)比特位不同,且各測(cè)試地址之間互不相同;
3.3將TDG1所含數(shù)據(jù)依次地寫入測(cè)試地址組1所含的測(cè)試地址內(nèi),每向一個(gè)測(cè)試地 址寫完一個(gè)數(shù)據(jù),再回讀HDDR內(nèi)的數(shù)據(jù),若回讀結(jié)果為TDl,則繼續(xù)向下一個(gè)測(cè)試地址 寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址都寫入完畢;若回讀結(jié)果不是TDl,則進(jìn)行步驟3.4;
3.4根據(jù)回讀結(jié)果,判斷出該測(cè)試地址與HDDR相比比特位不同的那根地址線存在故 障,并記錄該故障,繼續(xù)向下一個(gè)測(cè)試地址單元寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址單元 都寫入完畢,停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;
3.5將TD2寫入EDDR;
3.6設(shè)置測(cè)試地址組2,其包含多個(gè)測(cè)試地址,且每一測(cè)試地址是測(cè)試地址組1所含 測(cè)試地址的按位取反;
3.7將TDG2所含數(shù)據(jù)依次寫入測(cè)試地址組2所含的測(cè)試地址內(nèi),每次寫完一次,再 回讀EDDR內(nèi)的數(shù)據(jù),若回讀結(jié)果為TD2,則繼續(xù)向下一個(gè)測(cè)試地址寫入下一個(gè)數(shù)據(jù);若 回讀結(jié)果不是TD2,則進(jìn)行步驟3.8;
3.8根據(jù)回讀結(jié)果,判斷出該測(cè)試地址與EDDR相比比特位不同的那根地址線存在故 障,并記錄該故障,繼續(xù)向下一個(gè)測(cè)試地址寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址都寫入完 畢,停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果本發(fā)明通過(guò)三個(gè)檢測(cè)階段,分級(jí)、分步 驟地進(jìn)行逐步分析,逐步排除,使檢測(cè)結(jié)果更準(zhǔn)確;并且本發(fā)明的檢測(cè)方法只需利用首地 址與末地址,就可全面檢測(cè)出數(shù)據(jù)線是否存在問(wèn)題,對(duì)地址線的檢測(cè),同樣也只需利用非 常少的地址單元,就可進(jìn)行全面檢測(cè);另外,通過(guò)對(duì)測(cè)試數(shù)據(jù)、測(cè)試數(shù)據(jù)組和測(cè)試地址組 的特殊設(shè)置,可準(zhǔn)確地指出具體是哪根數(shù)據(jù)線和地址線存在故障,并及時(shí)地報(bào)告錯(cuò)誤,從 而大大提高了檢測(cè)效率。
圖1是本發(fā)明的存儲(chǔ)器檢測(cè)方法的主流程圖2是本發(fā)明的存儲(chǔ)器第一階段檢測(cè)的流程圖3是本發(fā)明的存儲(chǔ)器第二階^a檢測(cè)的流程圖4是本發(fā)明的存儲(chǔ)器第三階段檢測(cè)的流程圖5是本發(fā)明的另一實(shí)施例的存儲(chǔ)器第二階段檢測(cè)的流程圖6是本發(fā)明的另 一實(shí)施例的存儲(chǔ)器第三階段檢測(cè)的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
如圖l所示,本發(fā)明的存儲(chǔ)器檢測(cè)方法主要分為三個(gè)檢測(cè)階段第一階段是對(duì)存儲(chǔ)器
作基本的讀、寫檢測(cè);第二階段是對(duì)存儲(chǔ)器的數(shù)據(jù)線進(jìn)行檢測(cè);第三階段是對(duì)存儲(chǔ)器的地 址線進(jìn)行檢測(cè)。
在本發(fā)明中,存儲(chǔ)器是指所有跟CPU之間存在地址線和數(shù)據(jù)線^i接特征的可讀寫存 儲(chǔ)器,包括FLASH、 RAM、 SDRAM等。
對(duì)存儲(chǔ)器的檢測(cè)總是從第一階段開始,在這三個(gè)階段的檢測(cè)過(guò)程中,若其中某一階段 檢測(cè)出了故障,則不再進(jìn)入后續(xù)的檢測(cè),直接報(bào)告該故障并停止檢測(cè);若沒(méi)有檢測(cè)出故障, 則再進(jìn)行后續(xù)的檢測(cè)。即啟動(dòng)后一階段檢測(cè)的條件是在前一階段的檢測(cè)過(guò)程中未發(fā)現(xiàn)問(wèn) 題,只有這樣才能保證后一階段檢測(cè)所得出的故障結(jié)論是準(zhǔn)確的。
如圖2所示,第一階段的檢測(cè)步驟包括
1.1設(shè)存儲(chǔ)器內(nèi)要進(jìn)行檢測(cè)的某一段地址空間的首地址為HDDR,末地址為EDDR, 測(cè)試數(shù)據(jù)1為TD1,測(cè)試數(shù)據(jù)2為TD2,兩者的比特位寬度等于所要檢測(cè)的數(shù)據(jù)線寬度, 且TD2為TD1的按位取反數(shù)據(jù);
1.2向HDDR寫入TDl,再回讀比較,如果回讀結(jié)果不相等,則可判斷出存儲(chǔ)器存在 讀寫問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題;
1.3向EDDR寫入TD2,再回讀比較,如果回讀結(jié)果不相等,則可判斷出存儲(chǔ)器存在 讀寫問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題;
1.4當(dāng)HDDR和EDDR都分別寫入完TD1和TD2后,如果沒(méi)有發(fā)現(xiàn)問(wèn)題,則進(jìn)入第 二階段檢測(cè)。
HDDR和EDDR可根據(jù)實(shí)際需要檢測(cè)的地址空間進(jìn)行設(shè)置,比如,對(duì)一個(gè)具有32M 容量、8位數(shù)據(jù)線寬的存儲(chǔ)器進(jìn)行檢測(cè)時(shí),如果只需檢測(cè)其中0至16M的這段地址空間, 則HDDR為0X000000, EDDR為OXFFFFFF;對(duì)一個(gè)具有32M容量、16位數(shù)據(jù)線寬的存 儲(chǔ)器進(jìn)行檢測(cè)時(shí),如果只需檢測(cè)其中0至16M的這段地址空間,則HDDR為0X000000, EDDR為OXFFFFFE;對(duì)一個(gè)具有32M容量、32位數(shù)據(jù)線寬的存儲(chǔ)器進(jìn)行檢測(cè)時(shí),如果只 需檢測(cè)其中0至16M的這段地址空間,則HDDR為0X000000, EDDR為OXFFFFFC。
TD1和TD2互為按位取反數(shù)據(jù)可便于檢測(cè)出存儲(chǔ)器是否存在讀寫問(wèn)題。向HDDR寫 入TD1后,回讀比較結(jié)果不對(duì),則說(shuō)明HDDR存儲(chǔ)單元或數(shù)據(jù)線或地址線存在讀寫問(wèn)題, 若回讀比較結(jié)果正確,則再進(jìn)行進(jìn)一步的檢測(cè),向EDDR寫入TD2,回讀比較結(jié)果不對(duì), 則說(shuō)明EDDR存儲(chǔ)單元或數(shù)據(jù)線或地址線存在讀寫問(wèn)題,若回讀比較結(jié)果正確,則說(shuō)明不 存在讀寫問(wèn)題,可以進(jìn)入第二階段的數(shù)據(jù)線檢測(cè)。
另外,在第一階段,若先向EDDR寫入TD2,回讀比較后,再向HDDR寫入TDl,也并不影響本發(fā)明的實(shí)施。
如圖3所示,第二階段的檢測(cè)步驟包括
2.1設(shè)置測(cè)試數(shù)據(jù)組1為TDG1,其所包含的數(shù)據(jù)個(gè)數(shù)等于所要檢測(cè)的數(shù)據(jù)線寬度, 每一數(shù)據(jù)互不相同,且每一數(shù)據(jù)與步驟1.2中的寫入HDDR的TD1相比只有一個(gè)比特位不
同;
2.2將TDG1的每個(gè)數(shù)據(jù)依次向HDDR寫入,每次寫完一個(gè)數(shù)據(jù)后,再回讀比較,若 回讀結(jié)果相等,則繼續(xù)寫入下一個(gè)數(shù)據(jù);若回讀結(jié)果不相等,進(jìn)入步驟2.3;
2.3根據(jù)回讀結(jié)果,判斷出該寫入HDDR的數(shù)據(jù)與TD1相比比特位不同的那根數(shù)據(jù) 線存在故障,并記錄該故障,繼續(xù)寫入下一個(gè)數(shù)據(jù),直至所有數(shù)據(jù)線都^r測(cè)完畢,再停止 檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;
2.4設(shè)置測(cè)試數(shù)據(jù)組2為TDG2,其所包含的數(shù)據(jù)個(gè)數(shù)等于所要檢測(cè)的數(shù)據(jù)線寬度, 每一數(shù)據(jù)互不相同,且每一數(shù)據(jù)都為TDG1中相應(yīng)數(shù)據(jù)的按位取反;
2.5向EDDR依次寫入TDG2,每次寫完一個(gè)數(shù)據(jù)后,再回讀比較,若回讀結(jié)果相等, 則繼續(xù)寫入下一個(gè)數(shù)據(jù);若回讀結(jié)果不相等,進(jìn)入步驟2.6;
2.6根據(jù)回讀結(jié)果,判斷出該寫入EDDR的數(shù)據(jù)與TD2相比比特位不同的那根數(shù)據(jù)線 存在故障,并記錄該故障,繼續(xù)寫入下一個(gè)數(shù)據(jù),直至所有數(shù)據(jù)線都檢測(cè)完畢,再停止檢 測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;
2.7在2.1至2.6步驟中,若未發(fā)現(xiàn)數(shù)據(jù)線存在問(wèn)題,有TDG1和TDG2內(nèi)的數(shù)據(jù)都寫 入及回讀完畢,則進(jìn)入第三階段檢測(cè);
為完整檢測(cè)所有數(shù)據(jù)線,測(cè)試數(shù)據(jù)組TDG1及TDG2的個(gè)數(shù)等于數(shù)據(jù)線寬度,為準(zhǔn)確 檢測(cè)出哪根數(shù)據(jù)線存在故障,將TDG1的數(shù)據(jù)都設(shè)置為與TD1相比只有一個(gè)比特位不同, 其他相同的特殊數(shù)據(jù),將TDG2設(shè)為TDG1的取反,是為了全面檢測(cè)出數(shù)據(jù)線的短路及斷 路問(wèn)題。
比如,待測(cè)數(shù)據(jù)線寬度為8位,TD1設(shè)置為"00000000B", TD2為"11111111B"; 則TDG1為"00000001B"、 "00000010B"、 "00000100B"、 "00001000B"、 "00010000B"、 "00100000B"、 "01000000B"、 "10000000B"的組合;TDG2為"1111U10B"、 "11111101B"、 "11111011B"、 "11110111B"、 "11101111B"、 "11011111B"、 "101imiB"、 "01111111B"
的組合。
另外,步驟2.1至2.3與步驟2.4至2.6先后順序互換,也不影響本發(fā)明的實(shí)施。 如圖4所示,第三階段的檢測(cè)步驟包括
3.1將TD1寫入HDDR;
3.2設(shè)置測(cè)試地址組1,其所含測(cè)試地址的總數(shù)等于步驟1.1所述的地址空間所需的地 址線位數(shù),且每一測(cè)試地址與HDDR相比只有一個(gè)比特位不同,且各測(cè)試地址之間互不相 同;
3.3將TDG1所含數(shù)據(jù)依次地寫入測(cè)試地址組1所含的測(cè)試地址內(nèi),每向一個(gè)測(cè)試地 址寫完一個(gè)數(shù)據(jù),再回讀HDDR內(nèi)的數(shù)據(jù),若回讀結(jié)果為TD1,則繼續(xù)向下一個(gè)測(cè)試地址 寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址都寫入完畢;若回讀結(jié)果不是TD1,則進(jìn)行步驟3.4;
3.4根據(jù)回讀結(jié)果,判斷出該測(cè)試地址與HDDR相比比特位不同的那根地址線存在故 障,并記錄該故障,繼續(xù)向下一個(gè)測(cè)試地址單元寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址單元 都寫入完畢,停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;
3.5對(duì)導(dǎo)TD2寫入EDDR;
3.6設(shè)置測(cè)試地址組2,其包含多個(gè)測(cè)試地址,且每一測(cè)試地址是測(cè)試地址組1所含 測(cè)試地址的按位取反;
3.7將TDG2所含數(shù)據(jù)依次寫入測(cè)試地址組2所含的測(cè)試地址內(nèi),每次寫完一次,再 回讀EDDR內(nèi)的數(shù)據(jù),若回讀結(jié)果為TD2,則繼續(xù)向下一個(gè)測(cè)試地址寫入下一個(gè)數(shù)據(jù);若 回讀結(jié)果不是TD2,則進(jìn)行步驟3.8;
3.8根據(jù)回讀結(jié)果,判斷出該測(cè)試地址與EDDR相比比特位不同的那根地址線存在故 障,并記錄該故障,繼續(xù)向下一個(gè)測(cè)試地址寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址都寫入完 畢,停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤。
在第三階段,為完整地檢測(cè)所有地址線,最好設(shè)置測(cè)試地址組1和測(cè)試地址組2所含 的測(cè)試地址個(gè)數(shù)等于地址線寬度,但有時(shí)根據(jù)實(shí)際存儲(chǔ)器的奇地址不能讀寫的情況,測(cè)試 地址個(gè)數(shù)可少于地址線寬度。為更準(zhǔn)確地檢測(cè)出哪根地址線存在故障,則將測(cè)試地址組1 內(nèi)的所有地址設(shè)置為與HDDR相比只有一個(gè)比特位不同,其他位相同的地址單元。將測(cè)試 地址組2設(shè)為測(cè)試地址組1的按位取反,是為了全面檢測(cè)出地址線的短路及斷路問(wèn)題。 比如HDDR為"00000B",則測(cè)試地址組1為"00001B"、 "00010B"、 "00100B"、 "01000B"、 "10000B,,的組合,測(cè)試地址組2為"11110B"、 "11101B"、 "11011B"、 "10111B"、 "01111B"的組合。
由于存在存儲(chǔ)器的地址線寬度大于數(shù)據(jù)線寬度的情況,所以當(dāng)TDG1內(nèi)的所有數(shù)據(jù)都 寫入了測(cè)試地址組l,而測(cè)試地址組1還會(huì)有剩余地址未寫入數(shù)據(jù),為檢測(cè)剩余的地址, 使步驟3.3包括以下步驟
3.3.1將TDG1內(nèi)的數(shù)據(jù)再次從第M個(gè)(M為小于TDG1所含數(shù)據(jù)總數(shù)據(jù)的整數(shù))開 始寫入測(cè)試地址組1的剩余地址;
當(dāng)所述TDG2內(nèi)的所有數(shù)據(jù)都寫入了測(cè)試地址組2,而測(cè)試地址組2還有剩余地址未 寫入數(shù)據(jù)時(shí),所述步驟3.7還包括步驟
3.7.1將TDG2內(nèi)的數(shù)據(jù)再次從第N個(gè)(N為小于TDG1所含數(shù)據(jù)總數(shù)據(jù)的整數(shù))開 始寫入測(cè)試地址組2的剩余地址。
步驟3.1至3.4與步驟3.5至3.8先后順序互換,也不影響本發(fā)明的實(shí)施。
以下以需檢測(cè)16位數(shù)據(jù)線(DisDi4Di3......Dq)、 25位地址線(A24A23A22......Ag)的
存儲(chǔ)器為例,詳述本發(fā)明。
實(shí)施例1
第一階段、讀寫檢測(cè)
1、 HDDR為0X0000000,由于存儲(chǔ)器的奇地址不能讀寫,所以EDDR為0X1FFFFFE;為 便于檢測(cè)及運(yùn)算,將TD1設(shè)為"全0",即0X0000, TD2設(shè)為"全1",即OXFFFF,
TDl和TD2可以互換,對(duì)本發(fā)明的實(shí)施并不影響,將TD1和TD2設(shè)置為"全0"和 "全1"的原因是便于后續(xù)第二階段及第三階段的TDG1和TDG2的設(shè)置;
2、 將TD1寫入HDDR,回讀比較,若結(jié)果正確,則意味每根數(shù)據(jù)線置低電平'0,能夠 正常,即可排除數(shù)據(jù)線存在恒為高電平'l'的問(wèn)題,然后,進(jìn)入下一步;若結(jié)果不正確, 則說(shuō)明HDDR或者地址線或者數(shù)據(jù)線讀、寫存在問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題;
3、 將TD2寫入EDDR,回讀比較,若結(jié)果正確,則意味每根數(shù)據(jù)線置高電平"1"能夠 正常,即可排除數(shù)據(jù)線存在恒為低電平'0,的問(wèn)題,然后,進(jìn)入第二階段的檢測(cè);若結(jié) 果不正確,則說(shuō)明EDDR或者地址線或者數(shù)據(jù)線讀、寫存在問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題。 第二階段、數(shù)據(jù)線檢測(cè)
1 、設(shè)TDG1所含數(shù)據(jù)包括0X0001 、 0X0002、 0X0004、 0X0008、 0X0010、 0X0020、 0X0040、 0X0080、 0X0100、 0X0200、 0X0400、 0X0800、 0X1000、 0X2000、 0X4000、 0X8000;
2、 將TDG1的16個(gè)數(shù)據(jù)依次寫入HDDR內(nèi),每寫入一次,回讀一次,若回讀結(jié)果正確, 則繼續(xù)寫入,直到16個(gè)數(shù)據(jù)都寫入回讀完畢,也沒(méi)有發(fā)現(xiàn)問(wèn)題,則進(jìn)入步驟4;
3、 若回讀結(jié)果不正確,則4艮據(jù)回讀的數(shù)據(jù),可判斷出寫入HDDR的數(shù)據(jù)中為"1"的比 特位所對(duì)應(yīng)的數(shù)據(jù)線存在問(wèn)題,記錄該問(wèn)題,再繼續(xù)寫入其余數(shù)據(jù),直到寫入回讀完畢, 停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的問(wèn)題;
比如,將上述TDG1內(nèi)所有數(shù)據(jù)寫入HDDR完畢后,發(fā)現(xiàn)存儲(chǔ)器存在下面兩個(gè)故障,
則報(bào)告這兩個(gè)故障,并停止檢測(cè)
(1) 寫入數(shù)據(jù)為0X0001,讀出數(shù)據(jù)為0X0000,則可判斷出數(shù)據(jù)線Do存在斷路故障;
(2) 寫入數(shù)據(jù)為OXOOIO,讀出數(shù)據(jù)為0X0000,則可判斷出數(shù)據(jù)線D4存在斷路故障;
4、 設(shè)TDG2所含數(shù)據(jù)包括0XFFFE、 0XFFFD、 0XFFFB、 0XFFF7、 OXFFEF、 OXFFDF、 OXFFBF、 0XFF7F、 OXFEFF、 OXFDFF、 OXFBFF、 0XF7FF、 OXEFFF、 OXDFFF、 OXBFFF、 0X7FFF;
5、 TDG2的16個(gè)數(shù)據(jù)依次寫入EDDR內(nèi),每寫入一次,回讀一次,若回讀結(jié)果正確,則 繼續(xù)寫入,直到16個(gè)數(shù)據(jù)都寫入及回讀完畢,也沒(méi)有發(fā)現(xiàn)問(wèn)題,則進(jìn)入第三階段的檢測(cè);
6、 若回讀結(jié)果不正確,則根據(jù)回讀的數(shù)據(jù),可判斷出寫入EDDR的數(shù)據(jù)中為"0"的比特 位所對(duì)應(yīng)的數(shù)據(jù)線存在問(wèn)題,記錄該問(wèn)題,再繼續(xù)寫入其余數(shù)據(jù),直到寫入完畢,停止檢 測(cè)并報(bào)告所發(fā)現(xiàn)的問(wèn)題;
比如,將上述TDG2內(nèi)所有數(shù)據(jù)寫入EDDR完畢后,發(fā)現(xiàn)存儲(chǔ)器存在下面兩個(gè)故障, 則報(bào)告這兩個(gè)故障,并停止檢測(cè)
(1 )寫入數(shù)據(jù)為OXFFFE,讀出數(shù)據(jù)為OXFFFF,則可判斷出數(shù)據(jù)線Do存在短路故
障;
(2)寫入數(shù)據(jù)為OXFFEF,讀出數(shù)據(jù)為0XFFFF,則可判斷出數(shù)據(jù)線D4存在短路故
障;
7、若TDG1和TDG2都分別寫入HDDR和EDDR完畢,且未發(fā)現(xiàn)問(wèn)題,則進(jìn)入第三 階段檢測(cè)。
第三階段、地址線檢測(cè)
1 、將TD1寫入HDDR,即將數(shù)據(jù)0X0000寫入0X0000000;
2、由于是16位數(shù)據(jù)位寬,測(cè)試地址必須為偶地址,所以i殳置測(cè)試地址組1為0X0000002、 0X0000004、 0X0000008、 0X0000010、 0X0000020、 0X0000040、 0X0000080、 0X0000100、 0X0000200、 0X0000400、 0X0000800、 0X0001000、 0X0002000、 0X0004000、 0X0008000、 0X0010000、 0X0020000、 0X0040000、 0X0080000、 0X0100000、 0X0200000、 0X0400000、 0X0800000、 0X1000000此24個(gè)地址單元的組合;
將TDG1依次寫入上述測(cè)試地址組1,當(dāng)TDG1內(nèi)16個(gè)凝:據(jù)寫入完測(cè)試地址組1后, 測(cè)試地址組1還有剩余的地址未測(cè)試,則繼續(xù)從TDG1的第一個(gè)數(shù)據(jù)開始依次寫入,如下:
TDG1: 測(cè)試地址組l: 0X0001 ------------------------ 0X00000020X0002 ------------------------ 0X0000004
0X0004 ------------------------ 0X0000008
0X0020 ------------------------ 0X0400000
0X0040 ------------------------ 0X0800000
0X0080 ------------------------ 0X1000000
每次寫完之后回讀0X0000000內(nèi)的數(shù)據(jù),若回讀結(jié)果是0X0000,則繼續(xù)向下一地址
寫入下一數(shù)據(jù),直到測(cè)試地址組1內(nèi)的所有地址都寫入讀出完畢,未發(fā)現(xiàn)問(wèn)題,則進(jìn)入步
驟4;
3、 若回讀結(jié)果不是0X0000,則說(shuō)明與HDDR相比比特位不同的那根地址線存在故障,記 錄該故障,再繼續(xù)寫入,直到測(cè)試地址組1內(nèi)的所有地址都寫入讀出完畢,停止檢測(cè)并報(bào) 告錯(cuò)誤;
比如
(1) 將0X0002寫入0X0000002后,回讀0X0000000內(nèi)的數(shù)據(jù),回讀結(jié)果為0X0002, 說(shuō)明地址線Ai存在斷路問(wèn)題,將原本寫入0X0000002地址的內(nèi)容寫入了 0X0000000地址;
(2) 將0X0010寫入0X0000010后,回讀0X0000000內(nèi)的數(shù)據(jù),回讀結(jié)果為0X0010, 說(shuō)明地址線A4存在斷路問(wèn)題,將原本寫入0X0000010地址的內(nèi)容寫入了 0X0000000地址;
4、 將TD2寫入EDDR,即將OXFFFF寫入0X1FFFFFE內(nèi);
5、 設(shè)置測(cè)試地址組2為0X1FFFFFC、 0X1FFFFFA、 0X1FFFFF6、 0X1FFFFEE、 0X1FFFFDE、 0X1FFFFBE、 0X1FFFF7E、 0X1FFFEFE 、 0X1FFFDFE 、 0X1FFFBFE 、 0X1FFF7FE、 0X1FFEFFE、 0X1FFDFFE 、 0X1FFBFFE、 0X1FF7FFE、 0X1FEFFFE、 0X1FDFFFE、 0X1FBFFFE、 0X1F7FFFE、 OOXIEFFFFE、 0X1DFFFFE、 0X1BFFFFE、 0X17FFFFE、 OXOFFFFFE此24個(gè)地址單元的組合;
將TDG2依次寫入上述測(cè)試地址組2,當(dāng)TDG1內(nèi)16個(gè)數(shù)據(jù)寫入完測(cè)試地址組2后, 測(cè)試地址組2還有剩余的地址未測(cè)試,則繼續(xù)從TDG1的第一個(gè)數(shù)據(jù)開始依次寫入,如下:
TDG2: 測(cè)試地址組2:
OXFFFE ------------------------ 0X1FFFFFC
OXFFFD ------------------------ 0X1FFFFFA
OXFFFB ------------------------ 0X1FFFFF6
0XFFF7 ------------------------ 0X1FFFFEE
OXFFEE
0X1DFFFEE
OXFFDE
0X1BFFFEE
OXFFBE
0X17FFFEE
0XFF7E
OXOFFFFEE
每次寫完之后回讀OXIFFFFFE內(nèi)的數(shù)據(jù),若回讀結(jié)果是OXFFFF,則繼續(xù)向下一地 址寫入下一數(shù)據(jù),直到測(cè)試地址組2內(nèi)的所有地址都寫入讀出完畢,若未發(fā)現(xiàn)問(wèn)題,則可 判斷出該存儲(chǔ)器的讀寫、數(shù)據(jù)線及地址線沒(méi)有故障;
6、若回讀結(jié)果不是OXFFFF,則說(shuō)明與EDDR相比比特位不同的那根地址線存在故障,記 錄該故障,再繼續(xù)寫入,直到測(cè)試地址組2內(nèi)的所有地址都寫入完畢,停止檢測(cè)并報(bào)告錯(cuò)
、o
汰;
(1) 將0XFFFE寫入0X1FFFFFC后,回讀OXIFFFFFE內(nèi)的數(shù)據(jù),回讀結(jié)果為0XFFFE, 說(shuō)明地址線Ai存在短路問(wèn)題,將原本寫入OXIFFFFFC地址的內(nèi)容寫入了 OXIFFFFFE地 址;
(2 ) 將0XFFF7寫入0X1FFFFEE后,回讀OXIFFFFFE內(nèi)的數(shù)據(jù),回讀結(jié)果為0XFFF7, 說(shuō)明地址線A4存在短路問(wèn)題,將原本寫入0X1FFFFEE地址的內(nèi)容寫入了 OXIFFFFFE地
址;
通過(guò)上述三個(gè)階段的檢測(cè),可準(zhǔn)確、全面地檢測(cè)出存儲(chǔ)器的讀寫問(wèn)題、數(shù)據(jù)線及地址 線問(wèn)題,且檢測(cè)步驟簡(jiǎn)單、方便,不需要進(jìn)行大量讀寫操作,使檢測(cè)速度大大提高。 由于不同類型的存儲(chǔ)器及不同的外圍電路設(shè)計(jì),同一結(jié)果會(huì)表示不同的問(wèn)題,比如在
第二階段第3步中,同樣的回讀結(jié)果,對(duì)某些類型的存儲(chǔ)器而言,可能是Do和D4存在短 路故障,所以在實(shí)際應(yīng)用中,需要專業(yè)人員根據(jù)具體硬件原理圖作出正確的問(wèn)題判斷。
本實(shí)施例與實(shí)施例1的不同之處在于在實(shí)施例1的第二階段和第三階段中,若發(fā)現(xiàn) 某根數(shù)據(jù)線或地址線存在故障,則記錄該故障,再繼續(xù)檢測(cè),而在本實(shí)施例中,在第二階 段和第三階段,只要一發(fā)現(xiàn)數(shù)據(jù)線或地址線存在故障,則停止檢測(cè),報(bào)告該問(wèn)題,待此故 障排除后,再對(duì)存儲(chǔ)器重新開始檢測(cè)。本實(shí)施例第二階段和第三階段的檢測(cè)流程,分別如 圖5和圖6所示。
比如:
實(shí)施例權(quán)利要求
1、一種存儲(chǔ)器檢測(cè)方法,其特征在于,包括第一階段、對(duì)存儲(chǔ)器進(jìn)行讀、寫檢測(cè)1.1設(shè)存儲(chǔ)器內(nèi)要進(jìn)行檢測(cè)的某一段地址空間的首地址為HDDR,末地址為EDDR,測(cè)試數(shù)據(jù)1為TD1,測(cè)試數(shù)據(jù)2為TD2,兩者的比特位寬度等于所要檢測(cè)的數(shù)據(jù)線寬度;且TD2為TD1的按位取反數(shù)據(jù);1.2向HDDR寫入TD1,再回讀比較,如果回讀結(jié)果不相等,則可判斷出存儲(chǔ)器存在讀寫問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題;1.3向EDDR寫入TD2,再回讀比較,如果回讀結(jié)果不相等,則可判斷出存儲(chǔ)器存在讀寫問(wèn)題,停止檢測(cè)并報(bào)告問(wèn)題;1.4當(dāng)HDDR和EDDR都分別寫入完TD1和TD2后,且都經(jīng)回讀比較,如果沒(méi)有發(fā)現(xiàn)問(wèn)題,則進(jìn)入第二階段檢測(cè);第二階段、對(duì)存儲(chǔ)器的數(shù)據(jù)線進(jìn)行檢測(cè)2.1設(shè)置測(cè)試數(shù)據(jù)組1為TDG1,其所包含的數(shù)據(jù)個(gè)數(shù)等于所要檢測(cè)的數(shù)據(jù)線寬度,每一數(shù)據(jù)互不相同,且每一數(shù)據(jù)與步驟1.2中的寫入HDDR的TD1相比只有一個(gè)比特位不同;2.2將TDG1的每個(gè)數(shù)據(jù)依次向HDDR寫入,每次寫完一個(gè)數(shù)據(jù)后,再回讀比較,若回讀結(jié)果相等,則繼續(xù)寫入下一個(gè)數(shù)據(jù);若回讀結(jié)果不相等,進(jìn)入步驟2.3;2.3根據(jù)回讀結(jié)果,判斷出該寫入HDDR的數(shù)據(jù)與TD1相比比特位不同的那根數(shù)據(jù)線存在故障,并記錄該故障,繼續(xù)寫入下一個(gè)數(shù)據(jù),直至所有數(shù)據(jù)線都檢測(cè)完畢,再停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;2.4設(shè)置測(cè)試數(shù)據(jù)組2為TDG2,其所包含的數(shù)據(jù)個(gè)數(shù)等于所要檢測(cè)的數(shù)據(jù)線寬度,每一數(shù)據(jù)互不相同,且每一數(shù)據(jù)都為TDG1中相應(yīng)數(shù)據(jù)的按位取反;2.5向EDDR依次寫入TDG2,每次寫完一個(gè)數(shù)據(jù)后,再回讀比較,若回讀結(jié)果相等,則繼續(xù)寫入下一個(gè)數(shù)據(jù);若回讀結(jié)果不相等,進(jìn)入步驟2.6;2.6根據(jù)回讀結(jié)果,判斷出該寫入EDDR的數(shù)據(jù)與TD2相比比特位不同的那根數(shù)據(jù)線存在故障,并記錄該故障,繼續(xù)寫入下一個(gè)數(shù)據(jù),直至所有數(shù)據(jù)線都檢測(cè)完畢,再停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;2.7在2.1至2.6步驟中,若未發(fā)現(xiàn)數(shù)據(jù)線存在問(wèn)題,且TDG1和TDG2內(nèi)的數(shù)據(jù)都寫入及回讀完畢,則進(jìn)入第三階段檢測(cè);第三階段、對(duì)存儲(chǔ)器地址線進(jìn)行檢測(cè)3.1將TD1寫入HDDR;3.2設(shè)置測(cè)試地址組1,其包含多個(gè)測(cè)試地址,且每一測(cè)試地址與HDDR相比只有一個(gè)比特位不同,且各測(cè)試地址之間互不相同;3.3將TDG1所含數(shù)據(jù)依次地寫入測(cè)試地址組1所含的測(cè)試地址內(nèi),每向一個(gè)測(cè)試地址寫完一個(gè)數(shù)據(jù),再回讀HDDR內(nèi)的數(shù)據(jù),若回讀結(jié)果為TD1,則繼續(xù)向下一個(gè)測(cè)試地址寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址都寫入完畢;若回讀結(jié)果不是TD1,則進(jìn)行步驟3.4;3.4根據(jù)回讀結(jié)果,判斷出該測(cè)試地址與HDDR相比比特位不同的那根地址線存在故障,并記錄該故障,繼續(xù)向下一個(gè)測(cè)試地址單元寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址單元都寫入完畢,停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤;3.5將TD2寫入EDDR;3.6設(shè)置測(cè)試地址組2,其包含多個(gè)測(cè)試地址,且每一測(cè)試地址是測(cè)試地址組1所含測(cè)試地址的按位取反;3.7將TDG2所含數(shù)據(jù)依次寫入測(cè)試地址組2所含的測(cè)試地址內(nèi),每次寫完一次,再回讀EDDR內(nèi)的數(shù)據(jù),若回讀結(jié)果為TD2,則繼續(xù)向下一個(gè)測(cè)試地址寫入下一個(gè)數(shù)據(jù);若回讀結(jié)果不是TD2,則進(jìn)行步驟3.8;3.8根據(jù)回讀結(jié)果,判斷出該測(cè)試地址與EDDR相比比特位不同的那根地址線存在故障,并記錄該故障,繼續(xù)向下一個(gè)測(cè)試地址寫入下一個(gè)數(shù)據(jù),直至所有測(cè)試地址都寫入完畢,停止檢測(cè)并報(bào)告所發(fā)現(xiàn)的錯(cuò)誤。
2、 根據(jù)權(quán)利要求1所述的存儲(chǔ)器檢測(cè)方法,其特征在于,所述TD1和TD2分別為 "全0"和"全1"兩者選一。
3、 根據(jù)權(quán)利要求1所述的存儲(chǔ)器檢測(cè)方法,其特征在于,當(dāng)所迷TDG1內(nèi)的所有數(shù) 據(jù)都寫入了測(cè)試地址組1,而測(cè)試地址組1還有剩余地址未寫入數(shù)據(jù)時(shí),所述步驟3.3還 包括步驟3.3.1將TDG1內(nèi)的數(shù)據(jù)再次從第M個(gè)開始寫入測(cè)試地址組1的剩余地址; 當(dāng)所述TDG2內(nèi)的所有數(shù)據(jù)都寫入了測(cè)試地址組2,而測(cè)試地址組2還有剩余地址未 寫入數(shù)據(jù)時(shí),所述步驟3.7還包括步驟3.7.1將TDG2內(nèi)的數(shù)據(jù)再次從第N個(gè)開始寫入測(cè)試地址組2的剩余地址。
4、 根據(jù)權(quán)利要求1所述的存儲(chǔ)器檢測(cè)方法,其特征在于,在所述步驟2.3的判斷具 體哪根數(shù)據(jù)線存在問(wèn)題的步驟之后直接停止檢測(cè)并報(bào)告錯(cuò)誤。
5、 根據(jù)權(quán)利要求1或4所述的存儲(chǔ)器檢測(cè)方法,其特征在于,在所述步驟2.6的判 斷具體哪根數(shù)據(jù)線存在問(wèn)題的步驟之后直接停止檢測(cè)并報(bào)告錯(cuò)誤。
6、 根據(jù)權(quán)利要求1所述的存儲(chǔ)器檢測(cè)方法,其特征在于,在所迷步驟3.4的判斷具 體哪根地址線存在問(wèn)題的步驟之后直接停止檢測(cè)并報(bào)告錯(cuò)誤。
7、 根據(jù)權(quán)利要求1或6所述的存儲(chǔ)器檢測(cè)方法,其特征在于,在所述步驟3.8的判 斷具體哪根地址線存在問(wèn)題的步驟之后直接停止檢測(cè)并報(bào)告錯(cuò)誤。
8、 根據(jù)權(quán)利要求1所述的存儲(chǔ)器檢測(cè)方法,其特征在于,所述步驟1.2和步驟1.3先 后順序互換。
9、 根據(jù)權(quán)利要求1或4所述的存儲(chǔ)器檢測(cè)方法,其特征在于,所述步驟2.1至2.3與 步驟2.4至2.6先后順序互換。
10、 根據(jù)權(quán)利要求1或4或5所述的存儲(chǔ)器檢測(cè)方法,其特征在于,所述步驟3.1至 3.4與步驟3.5至3.8先后順序互換。
全文摘要
本發(fā)明公開一種存儲(chǔ)器檢測(cè)方法,其主要包括三個(gè)檢測(cè)階段,分別為讀寫檢測(cè)、數(shù)據(jù)線檢測(cè)及地址線檢測(cè),此三階段通過(guò)逐步排除的方法查找存儲(chǔ)器存在的故障,使檢測(cè)結(jié)果更為準(zhǔn)確,另外,本發(fā)明只需利用首地址與末地址,就可全面檢測(cè)出數(shù)據(jù)線是否存在問(wèn)題,對(duì)地址線的檢測(cè),也只需利用非常少的地址單元,就可進(jìn)行全面檢測(cè);另外,通過(guò)對(duì)測(cè)試數(shù)據(jù)、測(cè)試數(shù)據(jù)組和測(cè)試地址組的特殊設(shè)置,可準(zhǔn)確地指出具體是哪根數(shù)據(jù)線和地址線存在故障,并及時(shí)地報(bào)告錯(cuò)誤,從而大大提高了檢測(cè)效率。
文檔編號(hào)G11C29/00GK101197194SQ20071007342
公開日2008年6月11日 申請(qǐng)日期2007年2月27日 優(yōu)先權(quán)日2007年2月27日
發(fā)明者軍 杜, 黃海歡 申請(qǐng)人:深圳市同洲電子股份有限公司