用于檢測(cè)dimm安裝錯(cuò)誤的系統(tǒng)和方法
【專利摘要】可檢測(cè)DIMM安裝錯(cuò)誤。示例檢測(cè)方法包括確定是否發(fā)生針對(duì)DIMM的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的訓(xùn)練錯(cuò)誤。示例方法包括識(shí)別每個(gè)DRAM的位置。示例方法包括基于訓(xùn)練錯(cuò)誤、數(shù)量和DRAM的位置確定是否發(fā)生安裝錯(cuò)誤。
【專利說(shuō)明】用于檢測(cè)Dl_安裝錯(cuò)誤的系統(tǒng)和方法
【背景技術(shù)】
[0001]在許多計(jì)算設(shè)備,如個(gè)人電腦(PC)中,隨機(jī)存取存儲(chǔ)器(RAM)采用雙列直插式存儲(chǔ)模塊(DIMM)的形式。DIMM與總線交互或者通過(guò)被配置為安裝獨(dú)立的DIMM的插槽互聯(lián)。當(dāng)使在DMM插槽中良好接觸時(shí),DMM被正確安裝。未良好接觸的DMM降低了 PC的性能。然而,通常安裝DIMM用于提高計(jì)算機(jī)處理的速度,未正確安裝的DIMM具有相反的效果。而且,具有未正確安裝的DMM的PC不能利用DMM中的所有內(nèi)存,并且導(dǎo)致PC報(bào)告許多錯(cuò)誤。此外,未正確安裝的DIMM造成間歇接觸,這產(chǎn)生嚴(yán)重錯(cuò)誤和無(wú)法補(bǔ)救的錯(cuò)誤。
【專利附圖】
【附圖說(shuō)明】
[0002]在下面的詳細(xì)說(shuō)明和參考附圖中,描述了某些示例,附圖中:
[0003]圖1是可用于檢測(cè)雙列直插式存儲(chǔ)模塊(DIMM)安裝錯(cuò)誤的示例系統(tǒng)的框圖;
[0004]圖2是根據(jù)示例具有若干DIMM的內(nèi)存條的透視圖;
[0005]圖3是用于檢測(cè)DIMM安裝錯(cuò)誤的示例方法的處理流程圖;以及
[0006]圖4是顯示存儲(chǔ)有代碼的示例有形的、非瞬態(tài)性的機(jī)器可讀介質(zhì)的框圖,所述代碼被采用以檢測(cè)DIMM安裝錯(cuò)誤。
【具體實(shí)施方式】
[0007]由于對(duì)計(jì)算設(shè)備適當(dāng)處理的影響,生產(chǎn)個(gè)人電腦(PC)和其他此類設(shè)備的公司在把設(shè)備運(yùn)送給客戶和零售商之前,試圖檢測(cè)和重新安裝未正確安裝的雙列直插式存儲(chǔ)模塊(DIMM)。然而,檢測(cè)方法容易產(chǎn)生錯(cuò)誤,導(dǎo)致不必要且昂貴的步驟,例如,在算法上重新安裝已正確安裝的DIMM。另外,制造團(tuán)隊(duì)估計(jì)每一百萬(wàn)第一次插入失敗的缺陷率是2000-5000,這些測(cè)度包括已經(jīng)安裝的計(jì)算平臺(tái),如服務(wù)器和PC。這表示識(shí)別故障的DIMM和重新安裝或者替換它們的巨大的制造成本。通常,在DIMM和平臺(tái)上使用階段式的連接器和額外的硬件來(lái)檢測(cè)未正確安裝的組件。然而,示例系統(tǒng)使用計(jì)算設(shè)備的基本輸入輸出系統(tǒng)(B1S)檢測(cè)DIMM安裝錯(cuò)誤。
[0008]圖1是可用于檢測(cè)DIMM安裝錯(cuò)誤的示例系統(tǒng)100的框圖。圖1所示的功能框和設(shè)備可包括硬件元件、軟件元件或者硬件元件和軟件元件二者的組合,硬件元件包括電路,軟件元件包括存儲(chǔ)在有形的、非瞬態(tài)的、機(jī)器可讀介質(zhì)上的計(jì)算機(jī)代碼。此外,系統(tǒng)100的功能框和設(shè)備只是可在多個(gè)示例中實(shí)現(xiàn)的功能框和設(shè)備的一個(gè)示例。系統(tǒng)100可包括任何數(shù)量的計(jì)算設(shè)備,例如手機(jī)、個(gè)人數(shù)字助理(PDA)、計(jì)算機(jī)、服務(wù)器、筆記本或者其他計(jì)算設(shè)備。
[0009]示例系統(tǒng)100可包括計(jì)算機(jī)102,計(jì)算機(jī)102具有通過(guò)總線106連接至顯示器108的處理器104、鍵盤(pán)110以及輸入設(shè)備112,比如鼠標(biāo)、觸摸屏等。計(jì)算機(jī)102還可包括儲(chǔ)存操作軟件和數(shù)據(jù)的有形的計(jì)算機(jī)可讀介質(zhì),如硬盤(pán)驅(qū)動(dòng)器114或內(nèi)存116。硬盤(pán)驅(qū)動(dòng)器114可包括硬盤(pán)驅(qū)動(dòng)器陣列、光驅(qū)、光驅(qū)陣列、閃存驅(qū)動(dòng)器等。內(nèi)存116可用于儲(chǔ)存程序、數(shù)據(jù)和操作軟件,并且可包括例如B1S 118、隨機(jī)存取存儲(chǔ)器(RAM) 120和DIMM內(nèi)存條128。
[0010]通常,B1S 118控制計(jì)算機(jī)系統(tǒng)的啟動(dòng)過(guò)程。在這樣做時(shí),B1S 118可執(zhí)行許多功能,包括識(shí)別、測(cè)試和初始化系統(tǒng)設(shè)備,比如內(nèi)存116、人機(jī)接口、網(wǎng)絡(luò)接口、磁盤(pán)驅(qū)動(dòng)器等。初始化之后,B1S 118可啟動(dòng)操作系統(tǒng),并且把部分或者全部功能傳遞給操作系統(tǒng)。
[0011]B1S 118在DIMM上的DIMM內(nèi)存條128中執(zhí)行訓(xùn)練過(guò)程。訓(xùn)練過(guò)程是控制器用來(lái)在控制器和DIMM中的DRAM存儲(chǔ)元件之間建立可靠的信號(hào)通道的過(guò)程。訓(xùn)練錯(cuò)誤代表內(nèi)存條128有問(wèn)題。在示例系統(tǒng)中,未正確安裝的DIMM導(dǎo)致訓(xùn)練錯(cuò)誤。因此,如果發(fā)生訓(xùn)練錯(cuò)誤,則B1S 118確定是否產(chǎn)生訓(xùn)練錯(cuò)誤的DIMM未正確安裝。如果DIMM未正確安裝,則可產(chǎn)生錯(cuò)誤消息指示未正確安裝的DIMM。
[0012]B1S 118通常存儲(chǔ)在只讀存儲(chǔ)器(ROM)芯片上。然而,示例系統(tǒng)不限于存儲(chǔ)在ROM芯片上的B1S 118,如可使用當(dāng)前技術(shù)中的其他配置。例如,可使用ROM中的代碼序列將B1S鏡像從硬盤(pán)驅(qū)動(dòng)114加載到RAM 120中。于是,計(jì)算機(jī)可以從RAM 120中的B1S鏡像啟動(dòng)。在示例中,B1S鏡像的更新可以被應(yīng)用于儲(chǔ)存在硬盤(pán)驅(qū)動(dòng)上的B1S鏡像。根據(jù)本文包含的公開(kāi),本領(lǐng)域普通技術(shù)人員將識(shí)別出可使用的許多其他任何配置。
[0013]計(jì)算機(jī)102可通過(guò)總線106連接至網(wǎng)絡(luò)接口卡(NIC) 122。NIC 122可將計(jì)算機(jī)102連接到網(wǎng)絡(luò)124。網(wǎng)絡(luò)124可以是局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或其它網(wǎng)絡(luò)配置。網(wǎng)絡(luò)124可包括路由器、交換機(jī)、調(diào)制解調(diào)器或用于互聯(lián)的其他任何種類的接口設(shè)備。此外,網(wǎng)絡(luò)124可包括互聯(lián)網(wǎng)或企業(yè)網(wǎng)絡(luò)。計(jì)算機(jī)102可通過(guò)網(wǎng)絡(luò)124與一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)126進(jìn)行通信??深愃朴谟?jì)算機(jī)102配置遠(yuǎn)程計(jì)算機(jī)126。
[0014]圖2是根據(jù)示例具有若干DMM的內(nèi)存條128的透視圖。內(nèi)存條128可以布置在電路板202上,并且可包括一個(gè)或多個(gè)安裝在內(nèi)存插槽206上的DMM包204。內(nèi)存條128可被包括在任何合適的計(jì)算機(jī)系統(tǒng),例如,臺(tái)式計(jì)算機(jī)、刀片式服務(wù)器等等中。
[0015]每一個(gè)DIMM包204可包括DIMM 208、散熱器210以及夾片212。01麗208可包括一個(gè)或多個(gè)存儲(chǔ)器芯片,其可包括任何合適類型的存儲(chǔ)器,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、同步DRAM (SDRAM)、雙數(shù)據(jù)速率(DDR)、SDRAM等。
[0016]散熱器210可包括任何合適的導(dǎo)熱材料,用來(lái)從DIMM 208支出熱量。夾片212可跨裝在DIMM包204的頂部邊緣,并且?jiàn)A住散熱器210的邊以控制散熱器210和DIMM 208接觸。夾片212可由任何合適的彈性材料例如鋁、塑料等制成。
[0017]圖3是用于檢測(cè)DIMM安裝錯(cuò)誤的示例方法300的處理流程圖。該方法300由B1S118執(zhí)行,并且在框302開(kāi)始,在框302B10S 118針對(duì)每個(gè)DIMM 208開(kāi)始訓(xùn)練過(guò)程。在框304,B1S 118執(zhí)行寫(xiě)入均衡過(guò)程。寫(xiě)入均衡是針對(duì)DDR3DIMM和DDR4DIMM的訓(xùn)練過(guò)程的一部分。
[0018]在框306,B1S 118確定是否發(fā)生了訓(xùn)練錯(cuò)誤。寫(xiě)入均衡過(guò)程改變時(shí)鐘和數(shù)據(jù)線(DQ)序列(DQS)之間的關(guān)系。DQS表示在非訓(xùn)練模式操作期間控制器和指示有效數(shù)據(jù)的DRAM存儲(chǔ)元件之間的時(shí)序信號(hào)。每個(gè)單獨(dú)的DRAM感知這兩個(gè)信號(hào)之間的關(guān)系,并且為DDR3把結(jié)果返回到DQO上以及為DDR4把結(jié)果返回到所有DQ上。這導(dǎo)致101或010的DQ序列被返回。如果這兩個(gè)序列都沒(méi)有被觀察到,則發(fā)生訓(xùn)練錯(cuò)誤。
[0019]如果發(fā)生了訓(xùn)練錯(cuò)誤,則在框308,B1S 118確定產(chǎn)生訓(xùn)練錯(cuò)誤的DIMM是否有安裝錯(cuò)誤。通過(guò)分析當(dāng)訓(xùn)練錯(cuò)誤產(chǎn)生時(shí)訓(xùn)練錯(cuò)誤的模式,可以確定安裝錯(cuò)誤的決定。例如,穿過(guò)整個(gè)DIMM的全部故障的DRAM并不指示DIMM未正確安裝,這是因?yàn)槿抗收系腄RAM指示I2C接口沒(méi)有工作。如果I2C接口不工作,則在那個(gè)位置被插入的DIMM不會(huì)被檢測(cè)到(假設(shè)插入的DIMM的清單在啟動(dòng)周期之間被保存)。
[0020]然而,如果單獨(dú)的DRAM故障并且它位于接近DIMM的一端,那么DIMM可能沒(méi)有被正確安裝。另外,單比特位失效(DDR4)指示可能的污染問(wèn)題,其可以通過(guò)清潔DIMM和重新安裝被解決。此外,如果有針對(duì)多個(gè)DRAM的訓(xùn)練錯(cuò)誤,則未正確安裝的DIMM通過(guò)集中在接近DIMM —端的DRAM指示。此外,當(dāng)返回有效寫(xiě)入均衡數(shù)據(jù)的DIMM未被檢測(cè)到時(shí),也指示DIMM未正確安裝。如果有安裝錯(cuò)誤,則在框310,生成指示DIMM有安裝錯(cuò)誤的消息。
[0021]圖4是顯示存儲(chǔ)有代碼的示例有形的、非瞬態(tài)的機(jī)器可讀介質(zhì)400的框圖,代碼被采用以檢測(cè)DIMM安裝錯(cuò)誤。該機(jī)器可讀介質(zhì)整體由附圖標(biāo)記400表示。機(jī)器可讀介質(zhì)400可對(duì)應(yīng)于存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,如程序代碼等的任何典型的存儲(chǔ)設(shè)備。此外,機(jī)器可讀介質(zhì)400可包括在圖1所示的存儲(chǔ)122中。當(dāng)通過(guò)處理器402讀取和執(zhí)行時(shí),存儲(chǔ)在機(jī)器可讀介質(zhì)400上的指令被采用以使處理器402檢測(cè)DIMM安裝錯(cuò)誤。該介質(zhì)包括安裝錯(cuò)誤檢測(cè)器406。該安裝錯(cuò)誤檢測(cè)器406針對(duì)DI麗模塊中的每個(gè)DRAM接收訓(xùn)練序列。如果訓(xùn)練序列指示一個(gè)或多個(gè)訓(xùn)練錯(cuò)誤,則安裝錯(cuò)誤檢測(cè)器406基于DRAM的位置和具有訓(xùn)練錯(cuò)誤的DRAM的數(shù)量確定是否有安裝錯(cuò)誤408。安裝錯(cuò)誤檢測(cè)器生成指示安裝錯(cuò)誤和指定DIMM模塊的消息。
【權(quán)利要求】
1.一種用于檢測(cè)雙列直插式存儲(chǔ)模塊(DIMM)安裝錯(cuò)誤的方法,所述方法包括: 確定是否發(fā)生針對(duì)DIMM的多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的訓(xùn)練錯(cuò)誤; 識(shí)別每個(gè)所述DRAM的位置;以及 基于所述訓(xùn)練錯(cuò)誤、所述DRAM的數(shù)量和所述DRAM的所述位置,確定是否發(fā)生安裝錯(cuò)誤。
2.根據(jù)權(quán)利要求1所述的方法,其中如果所述數(shù)量等于1,則發(fā)生所述安裝錯(cuò)誤。
3.根據(jù)權(quán)利要求1所述的方法,其中如果所述數(shù)量大于I并且所述位置布置于接近所述DIMM的一端,則發(fā)生所述安裝錯(cuò)誤。
4.根據(jù)權(quán)利要求1所述的方法,其中如果所述數(shù)量指示DRAM全部故障,則沒(méi)有發(fā)生所述安裝錯(cuò)誤。
5.根據(jù)權(quán)利要求1所述的方法,其中寫(xiě)入均衡過(guò)程包括確定是否發(fā)生所述安裝錯(cuò)誤。
6.根據(jù)權(quán)利要求1所述的方法,其中所述DIMM包括DDR3DRAM和DDR4DRAM。
7.根據(jù)權(quán)利要求1所述的方法,包括生成指示所述安裝錯(cuò)誤和所述DIMM的錯(cuò)誤消息。
8.根據(jù)權(quán)利要求1所述的方法,包括: 移除所述DMM;以及 重新安裝所述DIMM。
9.根據(jù)權(quán)利要求8所述的方法,包括從所述DIMM移除污染物。
10.根據(jù)權(quán)利要求1所述的方法,其中如果發(fā)生以下情形,則發(fā)生所述安裝錯(cuò)誤: 所述DIMM返回了有效的寫(xiě)入均衡數(shù)據(jù);以及 所述DIMM沒(méi)有被檢測(cè)到。
11.一種用于檢測(cè)DIMM安裝錯(cuò)誤的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括: 處理器,用于執(zhí)行存儲(chǔ)的指令;以及 存儲(chǔ)指令的存儲(chǔ)器設(shè)備,所述存儲(chǔ)器設(shè)備包括: 用于確定是否發(fā)生針對(duì)DIMM的多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的訓(xùn)練錯(cuò)誤的計(jì)算機(jī)執(zhí)行代碼; 用于識(shí)別每個(gè)所述DRAM的位置的計(jì)算機(jī)執(zhí)行代碼;以及 用于基于所述訓(xùn)練錯(cuò)誤、所述DRAM的數(shù)量和所述DRAM的所述位置,確定是否發(fā)生安裝錯(cuò)誤的計(jì)算機(jī)執(zhí)行代碼,其中,寫(xiě)入均衡過(guò)程包括確定是否發(fā)生所述安裝錯(cuò)誤。
12.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),其中如果所述數(shù)量等于1,則發(fā)生所述安裝錯(cuò)誤。
13.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),其中如果所述數(shù)量大于I并且所述位置布置于接近所述DIMM的一端,則發(fā)生所述安裝錯(cuò)誤。
14.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),其中如果所述數(shù)量指示DRAM全部故障,則沒(méi)有發(fā)生所述安裝錯(cuò)誤。
15.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),其中如果發(fā)生以下情形,則發(fā)生所述安裝錯(cuò)誤: 所述DIMM返回有效的寫(xiě)入均衡數(shù)據(jù);以及 所述DIMM沒(méi)有被檢測(cè)到。
16.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),其中所述DIMM包括DDR3DRAM和DDR4DRAM。
17.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),包括用于生成指示所述安裝錯(cuò)誤和所述DIMM的錯(cuò)誤消息的計(jì)算機(jī)執(zhí)行代碼。
18.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),包括: 用于移除所述DIMM的裝置;以及 用于重新安裝所述DIMM的裝置。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),包括用于從所述DIMM移除污染物的裝置。
20.一種有形的、非瞬態(tài)的機(jī)器可讀介質(zhì),所述機(jī)器可讀介質(zhì)存儲(chǔ)處理器可執(zhí)行的機(jī)器可讀指令以檢測(cè)DIMM安裝錯(cuò)誤;所述有形的、非瞬態(tài)的機(jī)器可讀介質(zhì)包括: 當(dāng)被所述處理器執(zhí)行時(shí),確定是否發(fā)生針對(duì)DIMM的多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的訓(xùn)練錯(cuò)誤的機(jī)器可讀指令; 當(dāng)被所述處理器執(zhí)行時(shí),識(shí)別每個(gè)所述DRAM的位置的機(jī)器可讀指令; 當(dāng)被所述處理器執(zhí)行時(shí),基于所述訓(xùn)練錯(cuò)誤、所述DRAM的數(shù)量和所述DRAM的所述位置,確定是否發(fā)生安裝錯(cuò)誤的機(jī)器可讀指令;以及 當(dāng)被所述處理器執(zhí)行時(shí),用于生成指示所述安裝錯(cuò)誤和所述DIMM的錯(cuò)誤消息的機(jī)器可讀指令。
【文檔編號(hào)】G06F11/22GK104272265SQ201280072884
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2012年7月27日 優(yōu)先權(quán)日:2012年7月27日
【發(fā)明者】麥爾文·K·貝內(nèi)迪克特 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)