熱插拔系統(tǒng)及其方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及本發(fā)明涉及一種熱插拔系統(tǒng)及其方法,特別是指具有恢復(fù)能力的熱插拔系統(tǒng)及其方法。
【背景技術(shù)】
[0002]近年來(lái),隨著半導(dǎo)體的普及與蓬勃發(fā)展,使用者需要的功能更是五花八門(mén),因此,以擴(kuò)充卡來(lái)滿足使用者的各種需求便成為各家廠商解決問(wèn)題的手段之一。
[0003]一般而言,擴(kuò)充卡是通過(guò)插槽(Slot)與主機(jī)板的總線連接,用以為主機(jī)板提供額外的功能,如網(wǎng)絡(luò)、音效、電視、磁盤(pán)控制等功能,以總線標(biāo)準(zhǔn)為例,包含:工業(yè)標(biāo)準(zhǔn)構(gòu)造(Industry Standard Architecture, ISA)、周邊兀件互連(Peripheral ComponentInterconnect, PCI)等等。然而,在主機(jī)板持續(xù)供電的情況下,插拔擴(kuò)充卡的動(dòng)作容易造成擴(kuò)充卡損毀的問(wèn)題。
[0004]有鑒于此,便有廠商提出一種允許熱插拔的方式,例如:快捷周邊設(shè)備元件互連(PCI Express)、通用串行總線(Universal Serial Bus, USB)等等,允許主機(jī)板在持續(xù)供電的情況下插拔擴(kuò)充卡,此動(dòng)作稱之為“熱插拔(Hot Plugging)”。然而,拔除擴(kuò)充卡后再重新插入時(shí),僅能使擴(kuò)充卡恢復(fù)到初始狀態(tài),也就是如同新插入的狀態(tài),而無(wú)法恢復(fù)拔除前的狀態(tài),所以具有恢復(fù)性不佳的問(wèn)題。
[0005]綜上所述,可知現(xiàn)有技術(shù)中長(zhǎng)期以來(lái)一直存在熱插拔的恢復(fù)性不佳的問(wèn)題,因此實(shí)有必要提出改進(jìn)的技術(shù)手段,來(lái)解決此一問(wèn)題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明揭露一種熱插拔系統(tǒng)及其方法。
[0007]首先,本發(fā)明揭露一種熱插拔系統(tǒng),此系統(tǒng)包含:可插拔裝置及主機(jī)端。所述可插拔裝置用以在可插拔裝置拔除前,傳送請(qǐng)求信息;所述主機(jī)端包含:偵測(cè)模塊、電源控制模塊、拔除模塊、插入模塊、恢復(fù)模塊及驅(qū)動(dòng)模塊。其中,偵測(cè)模塊用以在偵測(cè)到請(qǐng)求信息后,根據(jù)請(qǐng)求信息選擇是否保存設(shè)備狀態(tài)信息;電源控制模塊用以當(dāng)選擇保存設(shè)備狀態(tài)信息時(shí),先保存設(shè)備狀態(tài)信息再關(guān)閉可插拔裝置的電源,以及當(dāng)選擇不保存設(shè)備狀態(tài)信息時(shí),直接關(guān)閉可插拔裝置的電源;拔除模塊用以在關(guān)閉可插拔裝置的電源后,提示拔除可插拔裝置,以及持續(xù)偵測(cè)可插拔裝置的連接狀態(tài),當(dāng)拔除可插拔裝置后,將連接狀態(tài)由已插入狀態(tài)切換為已拔除狀態(tài);插入模塊用以在連接狀態(tài)為已拔除狀態(tài)且偵測(cè)到插入可插拔裝置時(shí),開(kāi)啟可插拔裝置的電源;恢復(fù)模塊用以當(dāng)設(shè)備狀態(tài)信息存在時(shí),主機(jī)端根據(jù)設(shè)備狀態(tài)信息恢復(fù)可插拔裝置的狀態(tài),當(dāng)設(shè)備狀態(tài)信息不存在時(shí),初始化可插拔裝置的狀態(tài);驅(qū)動(dòng)模塊用以根據(jù)恢復(fù)模塊恢復(fù)或初始化可插拔裝置的狀態(tài),驅(qū)動(dòng)及實(shí)例化(instantiate)可插拔裝置。
[0008]另外,本發(fā)明揭露一種熱插拔方法,應(yīng)用在具有可插拔裝置及主機(jī)端的環(huán)境中,其步驟包括:自主機(jī)端拔除可插拔裝置之前,可插拔裝置傳送請(qǐng)求信息;主機(jī)端偵測(cè)到請(qǐng)求信息后,根據(jù)此請(qǐng)求信息選擇是否保存設(shè)備狀態(tài)信息;當(dāng)選擇保存設(shè)備狀態(tài)信息時(shí),先保存設(shè)備狀態(tài)信息再關(guān)閉可插拔裝置的電源,以及當(dāng)選擇不保存設(shè)備狀態(tài)信息時(shí),直接關(guān)閉可插拔裝置的電源;主機(jī)端在關(guān)閉可插拔裝置的電源后,提示拔除可插拔裝置,以及持續(xù)偵測(cè)可插拔裝置的連接狀態(tài),當(dāng)拔除可插拔裝置后,將連接狀態(tài)由已插入狀態(tài)切換為已拔除狀態(tài);當(dāng)連接狀態(tài)為已拔除狀態(tài)且偵測(cè)到插入可插拔裝置時(shí),主機(jī)端開(kāi)啟可插拔裝置的電源;當(dāng)設(shè)備狀態(tài)信息存在時(shí),主機(jī)端根據(jù)設(shè)備狀態(tài)信息恢復(fù)可插拔裝置的狀態(tài),當(dāng)設(shè)備狀態(tài)信息不存在時(shí),初始化可插拔裝置的狀態(tài);主機(jī)端根據(jù)可插拔裝置的狀態(tài)驅(qū)動(dòng)及實(shí)例化可插拔裝置。
[0009]本發(fā)明所揭露的系統(tǒng)與方法如上,與現(xiàn)有技術(shù)的差異在于本發(fā)明是通過(guò)在拔除可插拔裝置之前,由可插拔裝置傳送請(qǐng)求信息至主機(jī)端,使主機(jī)端選擇是否保存設(shè)備狀態(tài)信息,并在選擇保存時(shí),先保存設(shè)備狀態(tài)信息再關(guān)閉可插拔裝置的電源,以及在選擇不保存時(shí),直接關(guān)閉可插拔裝置的電源,以便在可插拔裝置重新插入主機(jī)端后,根據(jù)設(shè)備狀態(tài)信息是否存在選擇進(jìn)行恢復(fù)或初始化。
[0010]通過(guò)上述的技術(shù)手段,本發(fā)明可以達(dá)成提高熱插拔的恢復(fù)性的技術(shù)功效。
【附圖說(shuō)明】
[0011]圖1為本發(fā)明熱插拔系統(tǒng)的系統(tǒng)方塊圖。
[0012]圖2為本發(fā)明熱插拔方法的方法流程圖。
[0013]圖3為應(yīng)用本發(fā)明于主機(jī)端請(qǐng)求拔除可插拔裝置的示意圖。
[0014]圖4為應(yīng)用本發(fā)明于可插拔裝置產(chǎn)生請(qǐng)求信息的示意圖。
[0015]【符號(hào)說(shuō)明】
[0016]110可插拔裝置
[0017]120主機(jī)端
[0018]121偵測(cè)模塊
[0019]122電源控制模塊
[0020]123拔除模塊
[0021]124插入模塊
[0022]125恢復(fù)模塊
[0023]126驅(qū)動(dòng)模塊
[0024]300操作視窗
[0025]301 游標(biāo)
[0026]310選擇區(qū)塊
[0027]320拔除按鍵
[0028]400主機(jī)端
[0029]410 插槽一
[0030]500可插拔裝置
[0031]510按鈕元件
【具體實(shí)施方式】
[0032]以下將配合圖式及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,藉此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題并達(dá)成技術(shù)功效的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。
[0033]在說(shuō)明本發(fā)明所揭露的熱插拔系統(tǒng)及其方法之前,先對(duì)本發(fā)明所自行定義的名詞作說(shuō)明,本發(fā)明所述的可插拔裝置包含通用串行總線(Universal Serial Bus, USB)及序列接口卡,如:“Express Card”等,并且具有符合熱插拔的電氣規(guī)范及保護(hù)措施。
[0034]以下配合圖式對(duì)本發(fā)明熱插拔系統(tǒng)及其方法做進(jìn)一步說(shuō)明,請(qǐng)參閱「圖1」,「圖1」為本發(fā)明熱插拔系統(tǒng)的系統(tǒng)方塊圖,此系統(tǒng)包含:可插拔裝置I1及主機(jī)端120。其中,可插拔裝置110用以在可插拔裝置110拔除前,傳送請(qǐng)求信息。所述可插拔裝置110可通過(guò)插入插槽的方式使用計(jì)算機(jī)總線,如:USB、快捷周邊設(shè)備元件互連(PCI Express, PC1-E)等等。在實(shí)際實(shí)施上,要拔除可插拔裝置110之前,可通過(guò)應(yīng)用程式或硬體元件(如:按鈕元件)來(lái)驅(qū)動(dòng)可插拔裝置110傳送請(qǐng)求信息,所述請(qǐng)求信息包含是否保存設(shè)備狀態(tài)信息的選擇參數(shù),例如:選擇參數(shù)設(shè)為數(shù)值“I”代表保留設(shè)備狀態(tài)信息;數(shù)值“O”代表不保留設(shè)備狀態(tài)信息。也就是說(shuō),可在請(qǐng)求信息中預(yù)先設(shè)置選擇參數(shù),用以提供主機(jī)端120選擇是否保存該設(shè)備狀態(tài)信息。
[0035]至于在主機(jī)端120的部份,此主機(jī)端120包含:偵測(cè)模塊121、電源控制模塊122、拔除模塊123、插入模塊124、恢復(fù)模塊125及驅(qū)動(dòng)模塊126。其中,偵測(cè)模塊121用以在偵測(cè)到請(qǐng)求信息后,根據(jù)請(qǐng)求信息選擇是否保存設(shè)備狀態(tài)信息。前面提到,所述請(qǐng)求信息包含是否保存設(shè)備狀態(tài)信息的參數(shù),因此,偵測(cè)模塊121可根據(jù)此參數(shù)判斷是否保留設(shè)備狀態(tài)信息,所述設(shè)備狀態(tài)信息可包含總線的配置空間及基址緩存器(Base AddressRegister, BAR)的地址空間,所述總線包含USB及PC1-E。在實(shí)際實(shí)施上,也可直接在主機(jī)端120預(yù)設(shè)接收到請(qǐng)求信息后是否保留設(shè)備狀態(tài)信息的設(shè)定,倘若主機(jī)端120有預(yù)設(shè)此設(shè)定則以主機(jī)端120的設(shè)定為主。
[0036]電源控制模塊122用以當(dāng)選擇保存設(shè)備狀態(tài)信息時(shí),先保存設(shè)備狀態(tài)信息再關(guān)閉可插拔裝置110的電源,以及當(dāng)選擇不保存設(shè)備狀態(tài)信息時(shí),直接關(guān)閉可插拔裝置110的電源。在實(shí)際實(shí)施上,當(dāng)選擇保存設(shè)備狀態(tài)信息時(shí),電源控制模塊122會(huì)先讀取可插拔裝置110的設(shè)備狀態(tài)信息,并且將讀取到的設(shè)備狀態(tài)信息儲(chǔ)存在儲(chǔ)存元件中,如:存儲(chǔ)器、硬盤(pán)等等,之后,再傳送控制信號(hào)關(guān)閉可插拔裝置110的電源。反之,倘若選擇不保存設(shè)備狀態(tài)信息,電源控制模塊122直接傳送控制信號(hào)關(guān)閉可插拔裝置110的電源。
[0037]拔除模塊123用以在關(guān)閉可插拔裝置110的電源后,將提示使用者拔除可插拔裝置110,并且持續(xù)偵測(cè)可插拔裝置110的連接狀態(tài),以便判斷可插拔裝置110是否已被使用者拔除。當(dāng)偵測(cè)到使用者拔除可插拔裝置110后,拔除模塊123會(huì)將連接狀態(tài)由已插入狀態(tài)切換為已拔除狀態(tài)。
[0038]插入模塊124用以在連接狀態(tài)為已拔除狀態(tài)且偵測(cè)到插入可插拔裝置110時(shí),插入模塊124會(huì)產(chǎn)生電源開(kāi)啟信號(hào),并且將此信號(hào)傳送至可插拔裝置110,以便使主機(jī)端120開(kāi)啟可插拔裝置110的電源。由于偵測(cè)可插拔裝置110是否已插入屬于公知技術(shù),故在此不再多作贅述。
[0039]恢復(fù)模塊125用以在設(shè)備狀態(tài)信息存在時(shí),主機(jī)端120根據(jù)設(shè)備狀態(tài)信息恢復(fù)可插拔裝置110的狀態(tài),舉例來(lái)說(shuō),根據(jù)設(shè)備狀態(tài)信息中總線的配置空間及基址緩存器的地址空間來(lái)恢復(fù)可插拔裝置I1的狀態(tài);反之,當(dāng)設(shè)備狀態(tài)信息不存在時(shí),恢復(fù)模塊1