本發(fā)明是有關(guān)于一種電子數(shù)位資料處理方法,特別是指一種判斷是否發(fā)生熱插拔的方法。
背景技術(shù):
::目前用于計(jì)算機(jī)系統(tǒng)的機(jī)箱(Enclosure),如集束磁碟(JustABunchOfDisks,JBOD)中,包括復(fù)數(shù)硬盤,及復(fù)數(shù)電連接該等硬盤的控制模塊。該等控制模塊電連接一監(jiān)控主機(jī),如服務(wù)器,且支援如串列附接式小型計(jì)算機(jī)界面(SerialAttachedSmallComputerSystemInterface,SAS),并將所接收的機(jī)箱狀態(tài),如機(jī)殼溫度、風(fēng)扇轉(zhuǎn)速、硬件組態(tài)等傳送至該監(jiān)控主機(jī)。該等控制模塊支援「熱插拔」,即允許在帶電的情況下除去單一個(gè)故障的控制模塊,并插入正常的來(lái)替換,而不中斷集束磁碟整體的儲(chǔ)存服務(wù)。然而,該監(jiān)控主機(jī)經(jīng)由訪問(wèn)該等控制模塊的運(yùn)作、并且獲得機(jī)箱狀態(tài)時(shí),經(jīng)常無(wú)法得知故障的控制模塊和替換的控制模塊發(fā)生過(guò)熱插拔,來(lái)對(duì)應(yīng)更新控制模塊的信息(例如序號(hào)、料號(hào)等),以致無(wú)法確實(shí)監(jiān)控該等控制模塊的運(yùn)作狀況,及其所傳送的機(jī)箱狀態(tài)。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提供一種判斷是否發(fā)生熱插拔的方法。本發(fā)明判斷是否發(fā)生熱插拔的方法,由一計(jì)算機(jī)系統(tǒng)執(zhí)行,該計(jì)算機(jī)系統(tǒng)包括一第一控制模塊及一第二控制模塊,且該判斷是否發(fā)生熱插拔的方法包括一步驟(A)、一步驟(B)、一步驟(E),及一步驟(G)。該步驟(A)是該第一控制模塊上電啟動(dòng),而進(jìn)入一初始階段。該步驟(B)是每一控制模塊各自輸出一指示處于初始階段及穩(wěn)定階段其中之一的狀態(tài)信號(hào)至另一控制模塊。該步驟(E)是該第一控制模塊根據(jù)該狀態(tài)信號(hào)判斷該第二控制模塊處于初始階段或是穩(wěn)定階段。該步驟(G)是若步驟(E)判斷處于穩(wěn)定階段,則該第一控制模塊判斷發(fā)生一自身熱插拔操作。本發(fā)明的功效是每一控制模塊于上電啟動(dòng)時(shí),當(dāng)判斷未經(jīng)過(guò)該執(zhí)行程序重置,即根據(jù)該狀態(tài)信號(hào),自我判斷是否發(fā)生過(guò)該熱插拔操作,以便將自身狀況確實(shí)反映給監(jiān)控主機(jī)?!靖綀D說(shuō)明】圖1是一系統(tǒng)方塊圖,說(shuō)明本發(fā)明的計(jì)算機(jī)系統(tǒng);及圖2是一流程圖,說(shuō)明本發(fā)明判斷是否發(fā)生熱插拔的方法的實(shí)施例。【具體實(shí)施方式】參閱圖1,本發(fā)明判斷是否發(fā)生熱插拔的方法由一計(jì)算機(jī)系統(tǒng)1執(zhí)行,該計(jì)算機(jī)系統(tǒng)1包括一監(jiān)控主機(jī)11,及一機(jī)箱(Enclosure)12。該監(jiān)控主機(jī)11可以是服務(wù)器或計(jì)算機(jī);該機(jī)箱12包括一具有多個(gè)硬盤151的儲(chǔ)存模塊15,及分別電連接該監(jiān)控主機(jī)11與該儲(chǔ)存模塊15的一第一控制模塊13、一第二控制模塊14。每一控制模塊13、14利用通用輸入輸出接腳(General-PurposeInput/Outputpins,GPIOpins)與另一控制模塊14、13電連接,并具有一電連接該儲(chǔ)存模塊15并具有監(jiān)控及、處理及判斷等功能的擴(kuò)充單元(Expander)131、141,及一電連接該擴(kuò)充單元131、141并儲(chǔ)存一插拔旗標(biāo)(SWAPflag)133、143和一執(zhí)行程序134、144的快閃存儲(chǔ)器132、142。其中,每一控制模塊13、14的擴(kuò)充單元131、141能支援串列附接式小型計(jì)算機(jī)界面(SerialAttachedSmallComputerSystemInterface,SAS),且每一控制模塊13、14的快閃存儲(chǔ)器132、142所儲(chǔ)存的插拔旗標(biāo)133、143預(yù)設(shè)處于一未插拔指示值,如邏輯0,可受控制變換成一插拔指示值,如邏輯1。在本實(shí)施例中,該第一控制模塊13、該第二控制模塊14皆為一輸入輸出模塊(Input/OutputModule,IOM),且彼此互相備援(Redundant),并于該計(jì)算機(jī)系統(tǒng)1開(kāi)機(jī)啟動(dòng)時(shí),兩者的該擴(kuò)充單元131、該擴(kuò)充單元141分別操作在初始階段,其中一控制模塊會(huì)利用其擴(kuò)充單元來(lái)決定為主控模塊,另一控制模塊則會(huì)決定為從屬模塊,并在決定之后各自改變操作于穩(wěn)定階段。作為主控模塊的該控制模塊利用其擴(kuò)充單元監(jiān)控該機(jī)箱的狀態(tài),例如控制該機(jī)箱的電源供應(yīng)器的輸出電壓、控制該機(jī)箱的風(fēng)扇轉(zhuǎn)速、監(jiān)視該機(jī)箱內(nèi)的溫度,以及監(jiān)視該等硬盤的運(yùn)作狀態(tài),并傳送硬盤資料以回應(yīng)該監(jiān)控主機(jī)的詢問(wèn)等等。作為從屬模塊的該控制模塊則能于原來(lái)的主控模塊無(wú)法運(yùn)作時(shí),例如系統(tǒng)當(dāng)機(jī)、損毀、或是發(fā)生熱插拔時(shí),切換成新的主控模塊。然而進(jìn)一步有關(guān)主控模塊及從屬模塊的決定或切換機(jī)制并非本發(fā)明的重點(diǎn)所在,于此不再多作說(shuō)明。參閱圖2,以下詳述本發(fā)明判斷是否發(fā)生熱插拔的方法的各個(gè)步驟。首先,在步驟A中,該第一控制模塊13上電啟動(dòng),而進(jìn)入一初始(initial)階段。在步驟B中,每一控制模塊13、14各自輸出一指示處于初始階段及穩(wěn)定階段其中之一的狀態(tài)信號(hào)至另一控制模塊14、13。詳細(xì)來(lái)說(shuō),每一該第一控制模塊13的擴(kuò)充單元131、該第二控制模塊14的擴(kuò)充單元141皆會(huì)操作在一初始階段及一穩(wěn)定(stable)階段的其中一者,并且該第一控制模塊13的擴(kuò)充單元131、該第二控制模塊14的擴(kuò)充單元141會(huì)將指示所處階段的該狀態(tài)信號(hào),經(jīng)由該第一控制模塊13、該第二控制模塊14各自的該通用輸入輸出接腳,輸出至該第二控制模塊14、該第一控制模塊13,以予該擴(kuò)充單元141、該擴(kuò)充單元131得知并會(huì)經(jīng)由所述通用輸入輸出接腳,將指示所處階段的狀態(tài)信號(hào)輸出至另一控制模塊14、13,其中,該狀態(tài)信號(hào)是變換于一初始邏輯值(如邏輯0)及一穩(wěn)定邏輯值(如邏輯1)兩者之一。在步驟C中,該第一控制模塊13的擴(kuò)充單元131判斷是否為一執(zhí)行程序重置(reset)。在本實(shí)施例中,該第一控制模塊13依據(jù)其擴(kuò)充單元131的暫存器(圖未示出)所記錄的一執(zhí)行程序重置值,來(lái)判斷是否為該執(zhí)行程序重置。若判斷結(jié)果為是,即進(jìn)入步驟D,若判斷結(jié)果為否,即進(jìn)到步驟E。在步驟D中,若步驟C中的判斷結(jié)果為是,則該第一控制模塊13的擴(kuò)充單元131判斷為發(fā)生該執(zhí)行程序重置。于此需要說(shuō)明的是,由于該第一控制模塊13的擴(kuò)充單元131與該第二控制模塊14的擴(kuò)充單元141在該執(zhí)行程序重置時(shí),皆會(huì)操作于該初始階段,因而會(huì)與發(fā)生電源重置造成的重新開(kāi)機(jī)啟動(dòng)、或是與發(fā)生自身熱插拔操作造成開(kāi)機(jī)啟動(dòng)的情形無(wú)法區(qū)別,因此,通過(guò)于步驟C判斷是否發(fā)生該執(zhí)行程序重置,能避免該第一控制模塊13的擴(kuò)充單元131作出誤判。在步驟E中,若步驟C中的判斷結(jié)果為否,則該第一控制模塊13的擴(kuò)充單元131,根據(jù)該來(lái)自該第二控制模塊14的擴(kuò)充單元141的狀態(tài)信號(hào)所處為該初始邏輯值或是該穩(wěn)定邏輯值的何者,來(lái)判斷該第二控制模塊14的擴(kuò)充單元141處于該初始階段或是該穩(wěn)定階段。在步驟F中,若于步驟E中判斷處于初始階段,則該第一控制模塊13判斷為一相關(guān)于重新上電啟動(dòng)的電源重置。在步驟G中,若該第一控制模塊13的擴(kuò)充單元131于步驟E中判斷該狀態(tài)信號(hào)處于該穩(wěn)定邏輯值,則判斷該第二控制模塊14的擴(kuò)充單元141處于該穩(wěn)定階段,且判斷該第二控制模塊14的擴(kuò)充單元141發(fā)生一自身熱插拔操作。在步驟H中,該第一控制模塊13的擴(kuò)充單元131將該快閃存儲(chǔ)器131所儲(chǔ)存的插拔旗標(biāo),從該未插拔指示值變換成為該插拔指示值。在步驟I中,該第一控制模塊13的擴(kuò)充單元131發(fā)出一指示一組態(tài)改變的通知信號(hào),且該指示組態(tài)改變可相關(guān)于或不相關(guān)于該自身熱插拔操作。在步驟J中,該第一控制模塊13的擴(kuò)充單元131進(jìn)入一穩(wěn)定階段。在步驟K中,該監(jiān)控主機(jī)11接收來(lái)自該第一控制模塊13的擴(kuò)充單元131的通知信號(hào),并傳送一詢問(wèn)該組態(tài)改變的詢問(wèn)信號(hào)。在此要補(bǔ)充的是,雖然該監(jiān)控主機(jī)11于接收到該第一控制模塊13發(fā)生組態(tài)改變的通知信號(hào)時(shí)會(huì)傳送出該詢問(wèn)信號(hào),但是該監(jiān)控主機(jī)11未接收該通知信號(hào)時(shí),也會(huì)周期地主動(dòng)傳送該詢問(wèn)信號(hào),來(lái)獲取及監(jiān)控該第一控制模塊13和該第二控制模塊14的運(yùn)作情況。在步驟L中,該第一控制模塊13的擴(kuò)充單元131接收該詢問(wèn)信號(hào),并輸出一具有該插拔旗標(biāo)的插拔指示值的回報(bào)信號(hào)至該監(jiān)控主機(jī)11,以將發(fā)生過(guò)該自身熱插拔操作的情形反映該監(jiān)控主機(jī)11。在此說(shuō)明的是,雖然本實(shí)施例是以該第一控制模塊13為例,說(shuō)明其上電啟動(dòng)時(shí),判斷是否發(fā)生熱插拔的方法,然而該第二控制模塊14亦同樣適用本方法,而不以本實(shí)施例所述為限。綜上所述,本發(fā)明判斷是否發(fā)生熱插拔的方法通過(guò)每一控制模塊13、14上電啟動(dòng),而進(jìn)入該初始階段時(shí),先判斷是否經(jīng)過(guò)該執(zhí)行程序重置、該電源重置的情形,若排除為該執(zhí)行程序重置、該電源重置,即根據(jù)該另一控制模塊14、13的狀態(tài)信號(hào)是否處于該穩(wěn)定階段,而能自我判斷是否發(fā)生過(guò)該自身熱插拔操作,以便將自身狀況確實(shí)反映給監(jiān)控主機(jī)11,故確實(shí)能達(dá)成本發(fā)明之目的。以上所述僅為本發(fā)明的較佳實(shí)施例而已,不能以此限定本發(fā)明的實(shí)施范圍,大凡依本發(fā)明申請(qǐng)專利范圍及專利說(shuō)明書內(nèi)容所作的簡(jiǎn)單、等效變化與修飾,皆仍屬本發(fā)明專利涵蓋之范圍內(nèi)。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3