專利名稱:系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種驗(yàn)證機(jī)制,尤其關(guān)于一種針對(duì)系統(tǒng)與內(nèi)存間驗(yàn)證錯(cuò)誤檢測(cè)及修正(Error Checking and Correcting簡(jiǎn)稱ECC功能之方法及其系統(tǒng)。
背景技術(shù):
目前,服務(wù)器大部分都使用ECC驗(yàn)證的內(nèi)存,目前的芯片廠商也都有設(shè)計(jì)支 持這項(xiàng)ECC技術(shù),且其均可以修復(fù)1位之ECC錯(cuò)誤,但是卻無(wú)法修復(fù)2位以上的ECC 錯(cuò)誤。在當(dāng)發(fā)生2位以上的ECC錯(cuò)誤時(shí),經(jīng)由芯片及BIOS處理后,雖然可以顯示 多位ECC錯(cuò)誤信息,但是卻沒(méi)有一套完整的ECC驗(yàn)證方式,可用來(lái)測(cè)試ECC發(fā)生時(shí), 硬件和軟件是否有正確的處理ECC之動(dòng)作產(chǎn)生,所以一套完善的系統(tǒng)內(nèi)存ECC檢 驗(yàn)機(jī)制是相當(dāng)?shù)闹匾?。一般?lái)說(shuō),ECC測(cè)試驗(yàn)證必須有一個(gè)特制的ECC錯(cuò)誤記憶存儲(chǔ)模塊之硬設(shè)備, 另外,透過(guò)硬件設(shè)置開(kāi)關(guān)來(lái)控制內(nèi)存之?dāng)?shù)據(jù)接腳(memdata pin和偵錯(cuò)接腳 (memcheck pin的開(kāi)或關(guān),進(jìn)而產(chǎn)生ECC錯(cuò)誤。但是,該所述之設(shè)備必須耗費(fèi)相 當(dāng)多的金錢及時(shí)間去設(shè)計(jì)和制造,并且該設(shè)備且具有針對(duì)性,再加上現(xiàn)用之內(nèi) 存有DDR-1、 DDR-2等等,以后還會(huì)有更新的內(nèi)存模塊,如果只是針對(duì)某一種內(nèi) 存就要做一個(gè)測(cè)試模塊,則勢(shì)必亦將會(huì)帶來(lái)一筆很大的花費(fèi)。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,本發(fā)明之主要目的在于提供了一種可以測(cè)試內(nèi)存與系統(tǒng)間 在ECC發(fā)生時(shí),內(nèi)存與系統(tǒng)間是否有正確的處理ECC的動(dòng)作之方法及其系統(tǒng)。為了達(dá)到上述之目的,本發(fā)明所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正(Error Checking and Correcting簡(jiǎn)稱ECC功能驗(yàn)證之方法包括下列步驟由測(cè)試模 塊仿真內(nèi)存產(chǎn)生一ECC錯(cuò)誤信號(hào),并將該錯(cuò)誤信號(hào)傳送于被驗(yàn)證之服務(wù)器系統(tǒng) ;服務(wù)器系統(tǒng)接收該ECC錯(cuò)誤信號(hào),重新啟動(dòng);BIOS透過(guò)ECC偵錯(cuò)程序代碼判斷 ECC錯(cuò)誤產(chǎn)生;于屏幕上顯示ECC Error的錯(cuò)誤信息,并記錄該錯(cuò)誤信息于Event log中。經(jīng)由上述方法,測(cè)試者可以在Event log記錄中查看ECC發(fā)生的位置及其 狀態(tài),達(dá)到驗(yàn)證系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能的目的。此外,本發(fā)明還提供一系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正(Error Checking and Correcting簡(jiǎn)稱ECC功能驗(yàn)證之系統(tǒng),其包括一服務(wù)器以及一測(cè)試模塊,另 外,還包括一測(cè)試程序。其中,該所述服務(wù)器支持ECC驗(yàn)證之內(nèi)存,且其BIOS中 具有ECC偵錯(cuò)程序代碼并可透過(guò)該程序代碼判斷ECC錯(cuò)誤的產(chǎn)生。所述測(cè)試程序
為一內(nèi)存測(cè)試程序。所述測(cè)試模塊包括一測(cè)試治具以及一內(nèi)存,所述測(cè)試治具為連接于上述內(nèi)存,且該內(nèi)存至少包括一接腳,并且該測(cè)試治具包括一電路板,在該電路板上布設(shè)有多組開(kāi)關(guān),該開(kāi)關(guān)一端則是連接于上述內(nèi)存之接腳,另 一端則是與地相連接;此外,在該等每一開(kāi)關(guān)兩端之間亦設(shè)有一跳線。本發(fā)明通過(guò)目前行業(yè)中存在的內(nèi)存測(cè)試程序、服務(wù)器系統(tǒng)本身對(duì)ECC的支 持以及與支持ECC之BIOS聯(lián)系起來(lái),另外,憑借所述測(cè)試治具產(chǎn)生多位之ECC錯(cuò) 誤,且當(dāng)通過(guò)測(cè)試治具產(chǎn)生ECC錯(cuò)誤后,系統(tǒng)重新啟動(dòng)在屏幕上顯示ECC錯(cuò)誤信 息,并且儲(chǔ)存該ECC錯(cuò)誤,從而實(shí)現(xiàn)對(duì)內(nèi)存與系統(tǒng)間對(duì)于ECC錯(cuò)誤發(fā)生時(shí)有無(wú)正 確之ECC動(dòng)作產(chǎn)生的驗(yàn)證。
圖l為本發(fā)明所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之方法的流程圖; 圖2為本發(fā)明所述內(nèi)存與系統(tǒng)間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng)方塊圖; 圖3為本發(fā)明所述測(cè)試模塊之功能示意圖; 圖4為測(cè)試治具與內(nèi)存連接之具體電路圖; 圖5為本發(fā)明之一實(shí)例的工作流程圖; 圖6為本發(fā)明之另一實(shí)例的工作流程圖?!?b>具體實(shí)施方式
下面結(jié)合附圖以及具體實(shí)施例來(lái)對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述 參閱圖l中所示,其為本發(fā)明驗(yàn)證所述內(nèi)存與系統(tǒng)間ECC錯(cuò)誤發(fā)生時(shí)是否正確產(chǎn)生ECC動(dòng)作之方法。測(cè)試者首先必須將內(nèi)存條按照預(yù)先定義好之組合方式插置于服務(wù)器之內(nèi)存條插槽中,及將載有測(cè)試程序的外部存儲(chǔ)裝置(磁盤或者光盤)置入服務(wù)器中,并導(dǎo)入測(cè)試程序于被驗(yàn)證之系統(tǒng)中。隨后,啟動(dòng)該系統(tǒng),并運(yùn)行至上述測(cè)試程序之內(nèi)存測(cè)試目錄下。 測(cè)試模塊仿真內(nèi)存產(chǎn)生一ECC錯(cuò)誤信號(hào),并將該錯(cuò)誤信號(hào)傳送于被驗(yàn)證之系統(tǒng)(步驟103)。另外,因?yàn)槟壳皟?nèi)存ECC是使用漢明碼(Hamming code的方式去修正l個(gè)位 的ECC錯(cuò)誤,然而該方式并無(wú)法去修正2位以上的ECC錯(cuò)誤,所以一般支持ECC的中 央處理器在系統(tǒng)發(fā)生2個(gè)位之ECC錯(cuò)誤時(shí),會(huì)自動(dòng)重啟系統(tǒng)。且當(dāng)內(nèi)存接收到該 ECC錯(cuò)誤信息后,同時(shí)將該信息回傳給系統(tǒng)之中央處理器,則中央處理器在接 收該錯(cuò)誤信息后重新去啟動(dòng)系統(tǒng)(步驟104)。此時(shí),雖然系統(tǒng)重新啟動(dòng),但ECC錯(cuò)誤位置和錯(cuò)誤狀態(tài)并不會(huì)因?yàn)橄到y(tǒng)重 新啟動(dòng)而被清除掉,因此BI0S在重新上電自檢時(shí)可透過(guò)ECC程序代碼去判斷ECC 錯(cuò)誤的產(chǎn)生,并啟動(dòng)BI0S post error和event log來(lái)記錄問(wèn)題發(fā)生之中央處理
器以及內(nèi)存。即BIOS透過(guò)ECC偵錯(cuò)程序代碼去判斷ECC錯(cuò)誤的產(chǎn)生(步驟105),并 在系統(tǒng)重啟動(dòng)后顯示該ECC Error的錯(cuò)誤信息于屏幕上,以及記錄該錯(cuò)誤信息于 Event 1og中(步驟106)。另參閱圖2中所示,其為本發(fā)明所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證 的系統(tǒng)之方塊圖。該所述系統(tǒng)包括一服務(wù)器l、 一測(cè)試程序3以及一測(cè)試模塊22。其中,所述 服務(wù)器1具有支持ECC驗(yàn)證之內(nèi)存,且其BIOS必須支持有ECC錯(cuò)誤偵測(cè)及ECC能動(dòng) 功能之程序代碼,并且該BIOS可透過(guò)該程序代碼判斷ECC錯(cuò)誤的產(chǎn)生。所述測(cè)試程序3為一針對(duì)內(nèi)存進(jìn)行測(cè)試的程序,儲(chǔ)存于外部存儲(chǔ)裝置(磁盤 或光盤)中,其可針對(duì)D0S環(huán)境下無(wú)法偵測(cè)4GB以上的ECC錯(cuò)誤的問(wèn)題,同時(shí),亦 可偵領(lǐng)U4GB以下的ECC錯(cuò)誤的問(wèn)題。再結(jié)合圖3中所示,本發(fā)明所述之測(cè)試模塊22 ,其包括一內(nèi)存20以及一測(cè) 試治具21 ,且該所述內(nèi)存20上至少具有一數(shù)據(jù)接腳(memdata pin 2011或偵錯(cuò)接 腳(memcheck pin 2011 ,并且所述測(cè)試治具21為連接于該所述內(nèi)存20。其中, 該測(cè)試治具21包括一電路板2100 ,且在其上布設(shè)有多個(gè)開(kāi)關(guān)2101 ,且該所述開(kāi) 關(guān)2101—端為通過(guò)導(dǎo)線(圖中未示)連接于上述內(nèi)存20之?dāng)?shù)據(jù)接腳2011或偵錯(cuò)接 腳2011 ,另一端則是相連于地。另,該上述內(nèi)存20之?dāng)?shù)據(jù)接腳2011或者偵錯(cuò)接 腳2011 ,可參考內(nèi)存20插槽(圖中未示)之具體線路圖去判定內(nèi)存接腳2011或者 偵錯(cuò)接腳2011具體為一根。一般來(lái)說(shuō)ECC錯(cuò)誤的發(fā)生,是經(jīng)由內(nèi)存之偵錯(cuò)接腳去判斷其數(shù)據(jù)接腳有無(wú)正 常傳送數(shù)據(jù),所以只要使得數(shù)據(jù)接腳接地,導(dǎo)致資料接腳無(wú)法正常傳送資料, 便可以引發(fā)ECC錯(cuò)誤的發(fā)生。因此,且當(dāng)上述之開(kāi)關(guān)2101閉合時(shí),則可實(shí)現(xiàn)內(nèi) 存20之?dāng)?shù)據(jù)接腳2011或偵錯(cuò)接腳2011接地,從而達(dá)到產(chǎn)生ECC錯(cuò)誤的目的。另外,因?yàn)橐桓鶖?shù)據(jù)接腳是為代表單位元之ECC錯(cuò)誤,二根數(shù)據(jù)接腳則是代 表多位之ECC錯(cuò)誤;同理,以同樣的方式應(yīng)用于內(nèi)存?zhèn)慑e(cuò)接腳上亦可行,即一根 偵錯(cuò)接腳代表單位元之ECC錯(cuò)誤,而二根偵錯(cuò)接腳是代表多位之ECC錯(cuò)誤。因此, 藉由上述,當(dāng)布設(shè)于電路板2100之開(kāi)關(guān)2101為對(duì)應(yīng)內(nèi)存20之?dāng)?shù)據(jù)接腳2011或偵 錯(cuò)接腳2011為二根時(shí),該測(cè)試模塊22可產(chǎn)生多位之ECC錯(cuò)誤。此外,在上述開(kāi)關(guān)2101的兩端之間還連接設(shè)置有一跳線2102 ,該跳線2102可為一鍵帽式跳線,其連接于上述開(kāi)關(guān)2101的兩端,當(dāng)該所述跳線2102的設(shè)置于閉合狀態(tài)時(shí),則可使得上述內(nèi)存20之?dāng)?shù)據(jù)接腳2011或偵錯(cuò)接腳2011—直處于接地狀態(tài),從而達(dá)到一直產(chǎn)生ECC錯(cuò)誤;反之,則不然。下以具體實(shí)例來(lái)對(duì)本發(fā)明所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng) 的具體工作流程進(jìn)行敘述。本實(shí)例以中央處理器、需要插置8根內(nèi)存以及具有支持有ECC錯(cuò)誤偵測(cè)及 ECC功能程序代碼之BIOS的服務(wù)器系統(tǒng)為例,來(lái)驗(yàn)證在ECC錯(cuò)誤發(fā)生時(shí),該服務(wù)
器系統(tǒng)與其內(nèi)存之間有無(wú)正確的ECC動(dòng)作產(chǎn)生。其中,所述之測(cè)試測(cè)試程序3為 使用Memtest vl 60 CD片,另結(jié)合圖4中所示,其為測(cè)試治具21與內(nèi)存20之間連 接的具體線路圖,所述測(cè)試治具21為連接于內(nèi)存20之?dāng)?shù)據(jù)接腳2011 ,且其在圖 中標(biāo)示為DQ。請(qǐng)參閱圖5中所示,其為本具體實(shí)施例之工作流程圖,且該實(shí)例為針對(duì)發(fā) 生4Gb以上之ECC錯(cuò)誤時(shí),驗(yàn)證系統(tǒng)內(nèi)存間有無(wú)正確產(chǎn)生ECC動(dòng)作。首先,將測(cè)試模塊22中之內(nèi)存20會(huì)同其它之內(nèi)存(圖中未示)一并插入至服 務(wù)器1內(nèi)存插槽中(步驟400);然后啟動(dòng)系統(tǒng)進(jìn)入BIOS的setup menu中將ECC選項(xiàng) 設(shè)為啟動(dòng),同時(shí),將裝載有測(cè)試程序之光盤,即Memtest vl 60 CD片置放入服 務(wù)器之光驅(qū)中(步驟403),并運(yùn)行上述程序于其內(nèi)存測(cè)試目錄下(步驟404)。在上述狀況下,測(cè)試者按下測(cè)試模塊之測(cè)試治具上的開(kāi)關(guān),以令與其連接 之內(nèi)存的數(shù)據(jù)接腳或者偵錯(cuò)接腳接地,得以其產(chǎn)生ECC錯(cuò)誤(步驟405)。且當(dāng)內(nèi) 存之芯片驗(yàn)證機(jī)制偵測(cè)到此錯(cuò)誤信息,即將該錯(cuò)誤信息傳遞給服務(wù)器之中央處 理器,該中央處理器在接收到該錯(cuò)誤信息后,會(huì)自動(dòng)重新啟動(dòng)該服務(wù)器系統(tǒng)。 在上述此過(guò)程中,ECC錯(cuò)誤發(fā)生之位置及其錯(cuò)誤狀態(tài)是不會(huì)被清除掉,因此 BIOS透過(guò)其內(nèi)之ECC錯(cuò)誤偵測(cè)程序代碼去偵測(cè)ECC錯(cuò)誤的產(chǎn)生,其偵測(cè)到ECC錯(cuò) 誤的產(chǎn)生后,即在上電自檢時(shí)在屏幕上顯示該錯(cuò)誤信息,并啟動(dòng)BIOS中event 1og將該錯(cuò)誤信息記錄下來(lái)(步驟406和步驟407),測(cè)試者可通過(guò)查看該記錄, 從而得知該上述ECC錯(cuò)誤之詳細(xì)信息,即而達(dá)到驗(yàn)證系統(tǒng)內(nèi)存間在ECC錯(cuò)誤發(fā)生 時(shí)是否有產(chǎn)生正確動(dòng)作的目的。另外,該實(shí)例還可以針對(duì)發(fā)生4Gb以下之ECC錯(cuò)誤時(shí),去驗(yàn)證系統(tǒng)內(nèi)存間有 無(wú)正確產(chǎn)生ECC動(dòng)作,其工作流程如上所述一樣。請(qǐng)?jiān)賲㈤唸D6中所示,其為本發(fā)明所述之另一實(shí)例的工作流程圖。目前,D0S只是支持到4Gb的內(nèi)存,則當(dāng)發(fā)生4Gb以下之ECC錯(cuò)誤時(shí),使用上 述之測(cè)試程序便可在DOS環(huán)境下偵測(cè)到,其具體工作流程如下首先,將測(cè)試模塊中之記憶體會(huì)同其它之內(nèi)存一并插入至服務(wù)器之內(nèi)存插 槽中(步驟400) ,然后啟動(dòng)系統(tǒng)進(jìn)入BIOS的setup menu中將ECC功能選項(xiàng)設(shè)為啟 動(dòng)。在上述過(guò)程完成后,且當(dāng)BIOS顯示初始化ECC之后按下測(cè)試治具上之開(kāi)關(guān), 使得其處于閉合狀態(tài),以令內(nèi)存之?dāng)?shù)據(jù)接腳或偵錯(cuò)接腳接地產(chǎn)生ECC錯(cuò)誤(步驟 401和步驟405)。隨后內(nèi)存之芯片驗(yàn)證機(jī)制偵測(cè)到此錯(cuò)誤信息,并將該錯(cuò)誤信息 傳遞給服務(wù)器之中央處理器,且在該中央處理器在接收到該錯(cuò)誤信息后,自動(dòng) 重新啟動(dòng)該服務(wù)器系統(tǒng)。在上述啟動(dòng)過(guò)程中,BIOS透過(guò)其內(nèi)具之ECC錯(cuò)誤偵測(cè)程序代碼去偵測(cè)ECC錯(cuò) 誤的產(chǎn)生,且在偵測(cè)到ECC錯(cuò)誤后,并在上電自檢過(guò)程中時(shí)在屏幕上顯示ECC Error的錯(cuò)誤信息,以及將該錯(cuò)誤信息記錄下來(lái),保存于BIOS中everit log中(步 驟406和步驟407),測(cè)試者只要通過(guò)査看該文檔,便可得知該上述ECC錯(cuò)誤產(chǎn)生
之詳細(xì)信息,即而達(dá)到驗(yàn)證系統(tǒng)內(nèi)存間在ECC錯(cuò)誤發(fā)生時(shí)是否有產(chǎn)生正確之動(dòng) 作的目的。
權(quán)利要求
1. 一種系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之方法,其用以驗(yàn)證內(nèi)存與系統(tǒng)間對(duì)于ECC錯(cuò)誤有無(wú)正常動(dòng)作,其特征在于,包括如下步驟由測(cè)試模塊仿真內(nèi)存產(chǎn)生一ECC錯(cuò)誤信號(hào),并將該錯(cuò)誤信號(hào)傳送于被驗(yàn)證之服務(wù)器系統(tǒng);服務(wù)器系統(tǒng)接收該ECC錯(cuò)誤信號(hào),重新啟動(dòng);BIOS透過(guò)ECC偵錯(cuò)程序代碼判斷ECC錯(cuò)誤產(chǎn)生。
2. 如權(quán)利要求1所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之方法,其特征 在于,還包括,于屏幕上顯示ECC錯(cuò)誤信息,并記錄該錯(cuò)誤信息于Event log中。
3. —種系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng),其特征在于,該系統(tǒng) 包括-一服務(wù)器,其具有支持ECC驗(yàn)證機(jī)制之中央處理器及具有ECC程序代碼之 BIOS ;一測(cè)試模塊,其用以仿真內(nèi)存產(chǎn)生一ECC錯(cuò)誤,且其包括一內(nèi)存,其上至少具有一接腳;以及一測(cè)試治具,其電性連接于上述內(nèi)存。
4. 如權(quán)利要求3所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng),其特征在于,所述測(cè)試治具包括一電路板、導(dǎo)線以及多組開(kāi)關(guān);所述多個(gè)開(kāi)關(guān)為焊接 于電路板上,且該上述開(kāi)關(guān)一端為通過(guò)導(dǎo)線連接于內(nèi)存之接腳,另一端則是通 過(guò)導(dǎo)線連接至地。
5. 如權(quán)利要求3所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng),其特征 在于,還包括一測(cè)試程序,其用以對(duì)內(nèi)存進(jìn)行測(cè)試。
6. 如權(quán)利要求3所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng),其特征 在于,所述內(nèi)存之接腳為數(shù)據(jù)接腳。
7. 如權(quán)利要求3所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng),其特征 在于,所述內(nèi)存之接腳為偵錯(cuò)接腳。
8. 如權(quán)利異求4所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng),其特征 在于,在上述開(kāi)關(guān)兩端之間是設(shè)有跳線。
9. 如權(quán)利要求8所述系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng),其特征 在于,跳線為鍵帽式跳線。
全文摘要
本發(fā)明公開(kāi)一種系統(tǒng)內(nèi)存間錯(cuò)誤檢測(cè)及修正功能驗(yàn)證之系統(tǒng)及其方法,其通過(guò)一測(cè)試治具產(chǎn)生多位之ECC錯(cuò)誤,通過(guò)內(nèi)存?zhèn)鬟f至系統(tǒng),系統(tǒng)經(jīng)過(guò)處理后再透過(guò)系統(tǒng)BIOS中ECC偵錯(cuò)程序代碼判斷該錯(cuò)誤的發(fā)生,于屏幕上顯示,并將該錯(cuò)誤信息保存,透過(guò)此機(jī)制,可以清楚的了解到,當(dāng)ECC錯(cuò)誤產(chǎn)生時(shí),內(nèi)存與系統(tǒng)間有無(wú)作出正確的動(dòng)作,與現(xiàn)有的驗(yàn)證相比,節(jié)省了大量的成本,并且其操作方便、簡(jiǎn)單,具有較佳的實(shí)用價(jià)值。
文檔編號(hào)G06F11/22GK101211292SQ200610132389
公開(kāi)日2008年7月2日 申請(qǐng)日期2006年12月29日 優(yōu)先權(quán)日2006年12月29日
發(fā)明者呂景翔, 張蕓菁 申請(qǐng)人:佛山市順德區(qū)順達(dá)電腦廠有限公司;神達(dá)電腦股份有限公司