本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種保護bios芯片中存儲的內(nèi)容的裝置及控制芯片。
背景技術(shù):
bios(basicinputoutputsystem,基本輸入輸出系統(tǒng))是一組固化到計算機內(nèi)主板上的rom(read-onlymemory,只讀存儲)芯片上的程序,它保存著計算機最重要的基本輸入輸出的程序、開機后自檢程序和系統(tǒng)自啟動程序,因此bios是服務(wù)器正常運行的基本保證。
目前,bios芯片都是通過spi(serialperipheralinterface,串行外設(shè)接口)接口直接連接到chipset(芯片組)芯片及bmc(baseboardmanagementcontroller,基板管理控制器)芯片。chipset芯片及bmc芯片隨時可以修改bios芯片的內(nèi)容。
通過上述描述可見,現(xiàn)有技術(shù)的bios芯片比較容易被修改,bios芯片存儲的內(nèi)容的可靠性較低。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種保護bios芯片中存儲的內(nèi)容的裝置及控制芯片,能夠提高bios芯片中存儲的內(nèi)容的可靠性。
第一方面,本發(fā)明實施例提供了一種保護bios芯片中存儲的內(nèi)容的裝置,包括:
控制芯片和至少一個訪問芯片;
每個所述訪問芯片與所述控制芯片相連;
所述控制芯片與bios芯片相連;
任一所述訪問芯片,用于向所述控制芯片發(fā)送訪問請求;
所述控制芯片,用于接收當前訪問芯片發(fā)來的所述訪問請求,根據(jù)所述訪問請求,判斷是否允許所述當前訪問芯片訪問所述bios芯片,如果是,則將所述當前訪問芯片與所述bios芯片連通,否則,保持所述當前訪問芯片與所述bios芯片斷開。
進一步地,當所述當前訪問芯片為所述chipset芯片時,
所述chipset芯片,用于在接收到開機信號后,向所述控制芯片發(fā)送cpu復(fù)位信號;
所述控制芯片,用于判斷所述訪問請求是否是所述cpu復(fù)位信號,如果是,則允許所述chipset芯片訪問所述bios芯片。
進一步地,所述chipset芯片,用于在從所述bios芯片讀取完復(fù)位信息后,向所述控制芯片發(fā)送自檢完成信號;
所述控制芯片,進一步用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后:
實時判斷是否接收到所述chipset芯片發(fā)來的所述自檢完成信號,如果是,則將所述chipset芯片與所述bios芯片斷開。
進一步地,當所述當前訪問芯片為所述bmc芯片時,
所述bmc芯片,用于在所述bmc芯片所在的服務(wù)器處于關(guān)機狀態(tài)時,向所述控制芯片發(fā)送刷新信號;
所述控制芯片,用于判斷所述訪問請求是否是所述刷新信號,如果是,則允許所述bmc芯片訪問所述bios芯片。
進一步地,所述bmc芯片,用于刷新完bios芯片后,從所述控制芯片撤回所述刷新信號;
所述控制芯片,用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后,進一步包括:
實時判斷所述bmc芯片是否撤回所述刷新信號,如果是,則將所述bmc芯片與所述bios芯片斷開。
第二方面,本發(fā)明實施例提供了一種控制芯片,包括;
每個訪問芯片與所述控制芯片相連;
所述控制芯片與bios芯片相連;
所述控制芯片,用于接收當前訪問芯片發(fā)來的訪問請求,根據(jù)所述訪問請求,判斷是否允許所述當前訪問芯片訪問所述bios芯片,如果是,則將所述當前訪問芯片與所述bios芯片連通,否則,保持所述當前訪問芯片與所述bios芯片斷開。
進一步地,當所述當前訪問芯片為chipset芯片時,
所述控制芯片,用于判斷所述訪問請求是否是cpu復(fù)位信號,如果是,則允許所述chipset芯片訪問所述bios芯片。
進一步地,
所述控制芯片,用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后,進一步包括:
實時判斷是否接收到所述chipset芯片發(fā)來的自檢完成信號,如果是,則將所述chipset芯片與所述bios芯片斷開。
進一步地,當所述當前訪問芯片為bmc芯片時,
所述控制芯片,用于判斷所述訪問請求是否是刷新信號,如果是,則允許所述bmc芯片訪問所述bios芯片。
進一步地,
所述控制芯片,用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后,進一步包括:
實時判斷所述bmc芯片是否撤回所述刷新信號,如果是,則將所述bmc芯片與所述bios芯片斷開。
在本發(fā)明實施例中,所有訪問芯片與控制芯片相連,控制芯片與bios芯片相連,便于所有訪問芯片通過控制芯片訪問bios芯片;控制芯片接收至少一個訪問芯片發(fā)送的訪問bios芯片的請求,并根據(jù)相對應(yīng)的訪問請求分別判斷是否允許至少一個訪問芯片訪問bios芯片;由于控制芯片控制訪問芯片與bios芯片之間的連接,降低了bios芯片被修改的風(fēng)險,從而提高了bios芯片中存儲的內(nèi)容的可靠性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一實施例提供的一種保護bios芯片中存儲的內(nèi)容的裝置的示意圖;
圖2是本發(fā)明一實施例提供的另一種保護bios芯片中存儲的內(nèi)容的裝置的示意圖;
圖3是本發(fā)明一實施例提供的又一種保護bios芯片中存儲的內(nèi)容的裝置的示意圖;
圖4是本發(fā)明一實施例提供的再一種保護bios芯片中存儲的內(nèi)容的裝置的示意圖;
圖5是本發(fā)明一實施例提供的還一種保護bios芯片中存儲的內(nèi)容的裝置的示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種保護bios芯片中存儲的內(nèi)容的裝置,包括:
控制芯片101和至少一個訪問芯片102;
每個所述訪問芯片102與所述控制芯片101相連;
所述控制芯片101與bios芯片相連;
任一所述訪問芯片102,用于向所述控制芯片101發(fā)送訪問請求;
所述控制芯片101,用于接收當前訪問芯片102發(fā)來的所述訪問請求,根據(jù)所述訪問請求,判斷是否允許所述當前訪問芯片訪問所述bios芯片如果是,則將所述當前訪問芯片102與所述bios芯片連通,否則,保持所述當前訪問芯片102與所述bios芯片斷開。
在本發(fā)明實施例中,所有訪問芯片與控制芯片相連,控制芯片與bios芯片相連,便于所有訪問芯片通過控制芯片訪問bios芯片;控制芯片接收至少一個訪問芯片發(fā)送的訪問bios芯片的請求,并根據(jù)訪問請求分別判斷是否允許訪問請求相對應(yīng)的訪問芯片訪問bios芯片;由于控制芯片控制訪問芯片與bios芯片之間的連接,從而降低了bios芯片被修改的風(fēng)險,從而提高了bios芯片中存儲的內(nèi)容的可靠性。
為了避免外部通過chipset芯片惡意訪問bios芯片,當所述當前訪問芯片為所述chipset芯片時,
所述chipset芯片,用于在接收到開機信號后,向所述控制芯片發(fā)送cpu復(fù)位信號;
所述控制芯片,用于判斷所述訪問請求是否是所述cpu復(fù)位信號,如果是,則允許所述chipset芯片訪問所述bios芯片。
本發(fā)明實施例中,在訪問芯片是chipset芯片時,只允許chipset芯片發(fā)來cpu復(fù)位信號時訪問bios芯片,避免外部通過chipset芯片惡意訪問bios芯片,提高了bios芯片中存儲的內(nèi)容的可靠性。另外,通過cpu復(fù)位信號允許chipset芯片訪問bios芯片,能夠使服務(wù)器完成開自檢,順利開機。
舉例來說,控制芯片通過cpld(complexprogrammablelogicdevice,復(fù)雜可編程邏輯器件)芯片來實現(xiàn)。cpld芯片通過spi總線分別與chipset芯片和bios芯片相連。服務(wù)器在開機時,向chipset芯片發(fā)送開機信號,chipset芯片接收到開機信號并完成一系列的時序后,向cpld芯片發(fā)送cpu_reset信號,其中,cpu_reset信號為cpu復(fù)位信號,cpld芯片接到cpu_reset信號后,cpld芯片打開chipset芯片與bios芯片的spi總線的連接,chipset芯片通過spi總線中的mosi(masteroutput/slaveinput,主機輸出/從機輸入)數(shù)據(jù)線讀取bios芯片中的復(fù)位信息。
為了提高bios芯片的安全性,所述chipset芯片,用于在從所述bios芯片讀取完復(fù)位信息后,向所述控制芯片發(fā)送自檢完成信號;
所述控制芯片,進一步用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后:
實時判斷是否接收到所述chipset芯片發(fā)來的所述自檢完成信號,如果是,則將所述chipset芯片與所述bios芯片斷開。
本發(fā)明實施例中,chipset芯片讀取完復(fù)位信息后,向控制芯片發(fā)送自檢完成信號,當控制芯片接收的到自檢完成信號時,斷開chipset芯片與bios芯片的連接,從而降低bios芯片被修改的可能性。
舉例來說,chipset芯片從bios芯片讀取完復(fù)位信息后,向cpld芯片發(fā)送post_completed信號,其中post_completed信號為自檢完成信號。cpld芯片接收post_completed信號后,斷開chipset芯片與bios芯片的spi總線的連接。
為了避免外部通過bmc芯片惡意訪問bios芯片,當所述當前訪問芯片為所述bmc芯片時,
所述bmc芯片,用于在所述bmc芯片所在的服務(wù)器處于關(guān)機狀態(tài)時,向所述控制芯片發(fā)送刷新信號;
所述控制芯片,用于判斷所述訪問請求是否是所述刷新信號,如果是,則允許所述bmc芯片訪問所述bios芯片;
本發(fā)明實施例中,在訪問芯片是bmc芯片時,只允許bmc芯片發(fā)來刷新信號時訪問bios芯片,避免外部通過bmc芯片惡意訪問bios芯片,提高了bios芯片中存儲內(nèi)容的可靠性,從而提高產(chǎn)品的競爭力。另外,通過刷新信號允許bmc芯片訪問bios芯片,能夠使bios芯片的內(nèi)容被刷新。
舉例來說,控制芯片通過cpld芯片來實現(xiàn)。cpld芯片通過spi總線分別與bmc芯片和bios芯片相連。服務(wù)器處于關(guān)機狀態(tài)時,bmc芯片向cpld芯片發(fā)送reflash_flag信號,其中,reflash_flag信號為刷新信號,cpld芯片接到reflash_flag信號后,cpld芯片打開bmc芯片與bios芯片的spi總線的連接,bmc芯片通過spi總線中的mosi數(shù)據(jù)線讀取bios芯片中的復(fù)位信息。
為了提高bios芯片的安全性,所述bmc芯片,用于刷新完bios芯片后,從所述控制芯片撤回所述刷新信號;
所述控制芯片,用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后,進一步包括:
實時判斷所述bmc芯片是否撤回所述刷新信號,如果是,則將所述bmc芯片與所述bios芯片斷開。
本發(fā)明實施例中,bmc芯片刷新完bios芯片后,從控制芯片撤回刷新信號,當控制芯片判斷出刷新信號被撤回時,斷開bmc芯片與bios芯片的連接,從而降低bios芯片被修改的可能性。
舉例來說,bmc芯片刷新完bios芯片后,從cpld芯片中撤回reflash_flag信號,其中,reflash_flag信號為刷新信號。cpld芯片判斷出reflash_flag信號被撤回后,斷開bmc芯片與bios芯片的spi總線的連接,從而降低bios芯片被修改的可能性,提高了產(chǎn)品的安全性,同時也提高了產(chǎn)品的競爭力。
如圖2所示,本發(fā)明實施例提供了一種保護bios芯片中存儲的內(nèi)容的裝置,包括:控制芯片201和chipset芯片202,另外,圖2中還示出了外部的bios芯片203,控制芯片201分別與chipset芯片202和bios芯片203相連。下面對本發(fā)明實施例提供的一種保護bios芯片中存儲的內(nèi)容的裝置進行詳細說明:
chipset芯片202在接收到開機信號后,向控制芯片201發(fā)送cpu復(fù)位信號。
控制芯片201,判斷訪問請求是否是cpu復(fù)位信號,如果是,控制芯片201將chipset芯片202與bios芯片203連通,否則保持chipset芯片202與bios芯片203斷開。
chipset芯片202從bios芯片203讀取完復(fù)位信息后,向控制芯片201發(fā)送自檢完成信號。
控制芯片201實時判斷是否接收到chipset芯片202發(fā)來的自檢完成信號,如果是,控制芯片201將chipset芯片202與bios芯片203斷開,否則保持chipset芯片202與bios芯片203連通。
如圖3所示,本發(fā)明實施例提供了一種保護bios芯片中存儲的內(nèi)容的裝置,包括:控制芯片301和bmc芯片302,另外,圖3中還示出了外部的bios芯片303,控制芯片301分別與bmc芯片302和bios芯片303相連。下面對本發(fā)明實施例提供的一種保護bios芯片中存儲的內(nèi)容的裝置進行詳細說明:
在bmc芯片302所在的服務(wù)器處于關(guān)機狀態(tài)時,bmc芯片302向控制芯片301發(fā)送刷新信號。
控制芯片301,判斷訪問請求是不是刷新信號,如果是,控制芯片301將bmc芯片302與bios芯片303連通,否則保持bmc芯片302與bios芯片303斷開。
bmc芯片302刷新完bios芯片303后,從控制芯片301撤回刷新信號。
控制芯片301實時判斷bmc芯片302是否撤回刷新信號,如果是,將bmc芯片302與bios芯片303斷開,否則保持bmc芯片302與bios芯片303連通。
如圖4所示,本發(fā)明實施例提供了一種保護bios芯片中存儲的內(nèi)容的裝置,包括:控制芯片401、chipset芯片402和bmc芯片403,另外,圖4中還示出了外部的bios芯片404,控制芯片401分別與chipset芯片402、bmc芯片403和bios芯片404相連。下面對本發(fā)明實施例提供的一種保護bios芯片中存儲的內(nèi)容的裝置進行詳細說明:
chipset芯片402在接收到開機信號后,向控制芯片401發(fā)送cpu復(fù)位信號。
bmc芯片403所在的服務(wù)器處于關(guān)機狀態(tài)時,bmc芯片403向控制芯片401發(fā)送刷新信號。
控制芯片401判斷訪問請求是否是cpu復(fù)位信號,如果是cpu復(fù)位信號,控制芯片401將chipset芯片402與bios芯片404連通,如果不是cpu復(fù)位信號,控制芯片401保持chipset芯片402與bios芯片404斷開,并繼續(xù)判斷訪問請求是否是刷新信號,如果是刷新信號,控制芯片401將bmc芯片403與bios芯片404連通,否則保持bmc芯片403與bios芯片404斷開。
chipset芯片402從bios芯片404讀取完復(fù)位信息后,向控制芯片401發(fā)送自檢完成信號。
bmc芯片403刷新完bios芯片404后,從控制芯片401撤回刷新信號。
控制芯片401實時判斷是否接收到chipset芯片402發(fā)來的自檢完成信號,如果是自檢完成信號,控制芯片401將chipset芯片402與bios芯片404斷開,如果不是,控制芯片401保持chipset芯片402與bios芯404連接,并繼續(xù)實時判斷bmc芯片403是否撤回刷新信號,如果bmc芯片403撤回刷新信號,控制芯片401將bmc芯片403與bios芯片404斷開,否則保持bmc芯片403與bios芯片404連接。
基于圖4所示的一種保護bios芯片中存儲的內(nèi)容的裝置,該裝置的一種實現(xiàn)方式如圖5所示,控制芯片通過cpld芯片501來實現(xiàn),cpld芯片501通過spi總線分別與chipset芯片402和bios芯片403相連。下面對該裝置的實現(xiàn)方式進行詳細說明:
chipset芯片402在接收到開機信號后,向cpld芯片501發(fā)送cpu_reset信號,其中,cpu_reset信號為cpu復(fù)位信號。
服務(wù)器處于關(guān)機狀態(tài)時,bmc芯片403向cpld芯片501發(fā)送reflash_flag信號,其中,reflash_flag信號為刷新信號。
cpld芯片501判斷訪問請求是否是cpu_reset信號,如果是,cpld芯片501打開chipset芯片402與bios芯片404的spi總線的連接,cpld芯片501允許chipset芯片402通過spi總線的mosi數(shù)據(jù)線讀取bios芯片404中的復(fù)位信息。如果不是cpu_reset信號,保持關(guān)閉chipset芯片402與bios芯片404的spi總線的連接,并判斷是否是reflash_flag信號,如果是reflash_flag信號,cpld芯片501打開bmc芯片403與bios芯片404的spi總線的連接,cpld芯片501允許bmc芯片403通過spi總線的mosi數(shù)據(jù)線刷新bios芯片404,如果不是,保持關(guān)閉bmc芯片403與bios芯片404的spi總線的連接。
chipset芯片402從bios芯片404讀取完復(fù)位信息后,向cpld芯片501發(fā)送post_completed信號,其中,post_completed信號為自檢完成信號。
bmc芯片403刷新完bios芯片404后,從cpld芯片501撤回reflash_flag信號。
cpld芯片501實時判斷chipset芯片402是否發(fā)送post_completed信號,如果是,cpld芯片501斷開chipset芯片402與bios芯片的spi總線連接。如果不是post_completed信號,保持chipset芯片402與bios芯片404的spi總線的連接,并繼續(xù)判斷是否是bmc芯片403撤回reflash_flag信號,如果是撤回reflash_flag信號,cpld芯片501斷開bmc芯片403與bios芯片404的spi總線連接,如果不是,保持bmc芯片403與bios芯片404的spi總線連接。
在圖5中,spi總線包括:mosi和miso(masterinput/slaveoutput,主機輸入/從機輸出)。bmc芯片403與cpld芯片501還通過一條信號線相連,該信號線用于發(fā)送reflash_flag信號。chipset芯片402與cpld芯片501還通過兩條信號線相連,這兩條信號線分別用于發(fā)送post_completed信號和cpu_reset信號。
本發(fā)明實施例提供了一種控制芯片,包括:
所述控制芯片,用于接收當前訪問芯片發(fā)來的訪問請求,根據(jù)所述訪問請求,判斷是否允許當前訪問芯片訪問bios芯片,如果是,則將所述當前訪問芯片與所述bios芯片連通,否則,保持所述當前訪問芯片與所述bios芯片斷開。
在本發(fā)明一種實施例中,當所述當前訪問芯片為chipset芯片時,
所述控制芯片,用于判斷所述訪問請求是否是cpu復(fù)位信號,如果是,則允許所述chipset芯片訪問所述bios芯片。
在本發(fā)明一種實施例中,所述控制芯片,用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后,進一步包括:
實時判斷是否接收到所述chipset芯片發(fā)來的自檢完成信號,如果是,則將所述chipset芯片與所述bios芯片斷開。
在本發(fā)明一種實施例中,當所述當前訪問芯片為bmc芯片時,
所述控制芯片,用于判斷所述訪問請求是否是刷新信號,如果是,則允許所述bmc芯片訪問所述bios芯片。
在本發(fā)明一種實施例中,所述控制芯片,用于執(zhí)行:
在所述將所述當前訪問芯片與所述bios芯片連通之后,進一步包括:
實時判斷所述bmc芯片是否撤回所述刷新信號,如果是,則將所述bmc芯片與所述bios芯片斷開。
本發(fā)明各個實施例至少具有如下有益效果:
1、在本發(fā)明實施例中,所有訪問芯片與控制芯片相連,控制芯片與bios芯片相連,便于所有訪問芯片通過控制芯片訪問bios芯片;控制芯片接收至少一個訪問芯片發(fā)送的訪問bios芯片的請求,并根據(jù)訪問請求分別判斷是否允許訪問請求相對應(yīng)的訪問芯片訪問bios芯片;由于控制芯片控制訪問芯片與bios芯片之間的連接,從而降低了bios芯片被修改的風(fēng)險,從而提高了bios芯片中存儲的內(nèi)容的可靠性。
2、本發(fā)明實施例中,在訪問芯片是chipset芯片時,只允許chipset芯片發(fā)來cpu復(fù)位信號時訪問bios芯片,避免外部通過chipset芯片惡意訪問bios芯片,提高了bios芯片中存儲的內(nèi)容的可靠性。另外,通過cpu復(fù)位信號允許chipset芯片訪問bios芯片,能夠使服務(wù)器完成開自檢,順利開機。
3、本發(fā)明實施例中,chipset芯片讀取完復(fù)位信息后,向控制芯片發(fā)送自檢完成信號,當控制芯片接收的到自檢完成信號時,斷開chipset芯片與bios芯片的連接,從而降低bios芯片被修改的可能性。
4、本發(fā)明實施例中,在訪問芯片是bmc芯片時,只允許bmc芯片發(fā)來刷新信號時訪問bios芯片,避免外部通過bmc芯片惡意訪問bios芯片,提高了bios芯片中存儲內(nèi)容的可靠性,從而提高產(chǎn)品的競爭力。另外,通過刷新信號允許bmc芯片訪問bios芯片,能夠使bios芯片的內(nèi)容被刷新。
5、本發(fā)明實施例中,bmc芯片刷新完bios芯片后,從控制芯片撤回刷新信號,當控制芯片判斷出刷新信號被撤回時,斷開bmc芯片與bios芯片的連接,從而降低bios芯片被修改的可能性。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。