內(nèi)建掩模型rom的閃存器防寫(xiě)保護(hù)裝置及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種閃存器防寫(xiě)保護(hù)裝置及方法,特別涉及一種內(nèi)建掩模型ROM的閃 存器防寫(xiě)保護(hù)裝置及方法。
【背景技術(shù)】
[0002] 現(xiàn)今,只讀存儲(chǔ)器(ROM)是主機(jī)板上非常重要的元器件,但ROM常因遭受無(wú)法預(yù)期 的錯(cuò)誤而導(dǎo)致使用者基本輸入輸出系統(tǒng)(BIOS)無(wú)法開(kāi)機(jī),不僅造成了數(shù)據(jù)損失,還會(huì)讓生 產(chǎn)廠家的維修費(fèi)非常之高。如果采用雙BIOS或者四個(gè)BIOS設(shè)計(jì),除了需要額外的ROM外, 還要更大的空間來(lái)設(shè)計(jì)主機(jī)板,如此一來(lái),增加成本的同時(shí),也提高了觸碰其他廠商的專利 設(shè)計(jì)之幾率。通過(guò)軟件的方法對(duì)BIOS區(qū)域上的啟動(dòng)模塊進(jìn)行防寫(xiě)保護(hù),其安全性低,ROM還 是會(huì)遭受病毒攻擊被破壞。
【發(fā)明內(nèi)容】
[0003] 鑒于以上內(nèi)容,有必要提出一種內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)裝置,能夠?qū)?閃存器特定區(qū)域上的硬件防寫(xiě)保護(hù),確保BIOS啟動(dòng)模塊不會(huì)遭受到破壞。
[0004] 另外,還有必要提出一種內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)方法,能夠?qū)﹂W存器 特定區(qū)域上的硬件防寫(xiě)保護(hù),確保BIOS啟動(dòng)模塊不會(huì)遭受到破壞。
[0005] -種內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)裝置,該裝置包括:設(shè)置模塊,用于將掩模 型ROM內(nèi)建于閃存器中,將BIOS系統(tǒng)的引導(dǎo)區(qū)塊存儲(chǔ)于掩模型ROM中,并將BIOS系統(tǒng)除引 導(dǎo)區(qū)塊之外的其他區(qū)塊,存儲(chǔ)于閃存器中;及恢復(fù)模塊,用于當(dāng)BIOS系統(tǒng)的循環(huán)冗余校驗(yàn) 碼不正確時(shí),從一個(gè)外部存儲(chǔ)器中尋找BIOS系統(tǒng)引導(dǎo)區(qū)塊的映射文件并刷新BIOS系統(tǒng)。
[0006] -種內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)方法,該方法包括以下步驟:設(shè)置步驟,將 掩模型ROM內(nèi)建于閃存器中,將BIOS系統(tǒng)的引導(dǎo)區(qū)塊存儲(chǔ)于掩模型ROM中,并將BIOS系統(tǒng) 除引導(dǎo)區(qū)塊之外的其他區(qū)塊,存儲(chǔ)于閃存器中;及恢復(fù)步驟,當(dāng)BIOS系統(tǒng)的循環(huán)冗余校驗(yàn) 碼不正確時(shí),從一個(gè)外部存儲(chǔ)器中尋找BIOS系統(tǒng)引導(dǎo)區(qū)塊的映射文件并刷新BIOS系統(tǒng)。
[0007] 相對(duì)于現(xiàn)有技術(shù),本發(fā)明所述的內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)裝置及方法, 能夠結(jié)合掩模和閃存器的優(yōu)點(diǎn),對(duì)閃存器特定區(qū)域上的硬件防寫(xiě)保護(hù),確保BIOS啟動(dòng)模塊 不會(huì)遭受到破壞,降低成本的同時(shí),還可通過(guò)BIOS恢復(fù)機(jī)制,將其他受到破壞的資料恢復(fù)。
【附圖說(shuō)明】
[0008] 圖1是本發(fā)明內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)裝置較佳實(shí)施例的硬件架構(gòu)圖。
[0009] 圖2是本發(fā)明內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)裝置較佳實(shí)施例的功能模塊圖。
[0010] 圖3是本發(fā)明內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)方法較佳實(shí)施例的流程圖。
[0011] 主要元件符號(hào)說(shuō)明
[0012]
[0013] 如下【具體實(shí)施方式】將結(jié)合上述附圖進(jìn)一步說(shuō)明本發(fā)明。
【具體實(shí)施方式】
[0014] 參閱圖1所示,是本發(fā)明內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)裝置較佳實(shí)施例的硬 件架構(gòu)圖。
[0015] 在本實(shí)施例中,所述閃存器11安裝并運(yùn)行于單片機(jī)1中,所述的單片機(jī)1還包括, 但不僅限于,中央處理器(central processing unit,CPU) 10。所述閃存器11包括一個(gè)內(nèi) 建的掩模型R0M110以及BIOS系統(tǒng)111。本實(shí)施例中,所述閃存器11是一個(gè)串口(Serial Peripheral Interface,SPI)閃存器。
[0016] 所述的CPU10集成于單片機(jī)1中,是計(jì)算機(jī)的運(yùn)算核心和控制核心,用于解釋指令 以及處理軟件數(shù)據(jù),從閃存器11中取出指令,放入指令寄存器并對(duì)指令譯碼和執(zhí)行。
[0017] 所述閃存器11屬于電可擦可編程只讀存儲(chǔ)器,特點(diǎn)是在不加電的情況下能長(zhǎng)期 保持存儲(chǔ)的信息,存取速度快,功耗小。
[0018] 制造商為了要大量生產(chǎn)R0M,事先制作一顆有原始數(shù)據(jù)的ROM或EPROM當(dāng)作樣本, 然后再大量生產(chǎn)與樣本一樣的ROM,這一種做為大量生產(chǎn)的ROM樣本就是掩模型ROM。掩模 型ROM的特點(diǎn)是數(shù)據(jù)一旦燒錄后便永遠(yuǎn)無(wú)法做修改,成本低。將掩模型ROM 110內(nèi)建于閃 存器11可以使閃存器11具有閃存的特點(diǎn),同時(shí)還繼承了掩模型ROM-旦燒制之后便無(wú)法 自改數(shù)據(jù)的特點(diǎn)。
[0019] 所述的BIOS系統(tǒng)111是一組固化到閃存器11上的程序,保存著輸入輸出程序、開(kāi) 機(jī)后自檢程序和系統(tǒng)自啟動(dòng)程序。其中,BIOS系統(tǒng)111中的引導(dǎo)區(qū)塊(Boot Block)直接 存儲(chǔ)于掩模型ROM 110中,引導(dǎo)區(qū)塊包括SEC部分和PEI部分,而除引導(dǎo)區(qū)塊之外的其他區(qū) 塊,如DXE部分、BDS部分則存儲(chǔ)于閃存器11中。
[0020] 所述單片機(jī)1可以連接有一個(gè)外部存儲(chǔ)器2。該外部存儲(chǔ)器2可以是軟盤(pán)存儲(chǔ)器、 硬盤(pán)存儲(chǔ)器、移動(dòng)存儲(chǔ)器以及光盤(pán)存儲(chǔ)器等,當(dāng)BIOS系統(tǒng)111中數(shù)據(jù)破壞,可以通過(guò)該外部 存儲(chǔ)器2引導(dǎo)恢復(fù)。
[0021] 所述閃存器11包括多個(gè)功能模塊(詳見(jiàn)圖2)。所述功能模塊是由計(jì)算機(jī)程序指 令所組成的。該多個(gè)功能模塊中的一個(gè)或者多個(gè)可以組成一個(gè)由所述的CPU10執(zhí)行的防寫(xiě) 保護(hù)系統(tǒng),以實(shí)現(xiàn)本發(fā)明對(duì)BIOS系統(tǒng)111的防寫(xiě)保護(hù)。
[0022] 參閱圖2所示,是本發(fā)明閃存器11中的功能模塊圖。所述的閃存器11包括設(shè)置 模塊1101以及恢復(fù)模塊1102。以下將結(jié)合圖3的流程圖來(lái)具體說(shuō)明模塊1101-1102的具 體功能。
[0023] 參閱圖3所示,是本發(fā)明內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)方法較佳實(shí)施例的流 程圖。根據(jù)不同的需求,該圖所示流程圖中步驟的執(zhí)行順序可以改變,某些步驟可以省略。
[0024] 步驟S1,設(shè)置模塊1101將掩模型ROM 110內(nèi)建于閃存器11中,將BIOS系統(tǒng)111 的引導(dǎo)區(qū)塊(Boot Block)直接存儲(chǔ)于掩模型R0M110中,引導(dǎo)區(qū)塊包含SEC部分和PEI部 分,并將BIOS系統(tǒng)111除引導(dǎo)區(qū)塊之外的其他區(qū)塊,如DXE部分和BDS部分,存儲(chǔ)于閃存器 11中。將BIOS系統(tǒng)111的引導(dǎo)區(qū)塊存儲(chǔ)于掩膜型R0M110中可以保證BIOS系統(tǒng)111不會(huì) 遭受破壞。
[0025] 步驟S2,按下單片機(jī)1的電源開(kāi)關(guān)后,BIOS系統(tǒng)111的引導(dǎo)區(qū)塊開(kāi)始進(jìn)行開(kāi)機(jī)自 檢程序,檢測(cè)部分包括CPU10、基本內(nèi)存、擴(kuò)展內(nèi)存、顯卡、ROM、軟驅(qū)、CMOS存儲(chǔ)器、串行接 口、并行接口、軟硬盤(pán)子系統(tǒng)以及鍵盤(pán)等是否存在。
[0026] 步驟S3,檢查BIOS系統(tǒng)111循環(huán)冗余校驗(yàn)碼。本案較佳實(shí)施例中,根據(jù)校驗(yàn)碼生成 的多項(xiàng)式做模2除的結(jié)果最后一位是否為0,為0表示循環(huán)冗余校驗(yàn)碼正確,繼續(xù)步驟S4 ; 不為0,則表示循環(huán)冗余校驗(yàn)碼不正確,進(jìn)入步驟S6。
[0027] 步驟S4,初始化單片機(jī)1中的標(biāo)準(zhǔn)硬件設(shè)備、以及這些標(biāo)準(zhǔn)硬件設(shè)備使用的資源 和一些相關(guān)工作參數(shù)。
[0028] 步驟S5,根據(jù)用戶事先指定的啟動(dòng)順序從軟盤(pán)、硬盤(pán)或者光驅(qū)啟動(dòng),開(kāi)始讀入操作 系統(tǒng)引導(dǎo)記錄,由引導(dǎo)記錄完成操作系統(tǒng)的啟動(dòng)過(guò)程。
[0029] 步驟S6,從外部存儲(chǔ)器2,如U盤(pán)或者光盤(pán)中,尋找BIOS系統(tǒng)111引導(dǎo)區(qū)塊的映射 文件通過(guò)恢復(fù)模塊1102刷新BIOS系統(tǒng)111存儲(chǔ)在閃存器11中的除引導(dǎo)區(qū)塊之外的其他 區(qū)塊,之后向CPU10發(fā)出重置信號(hào),恢復(fù)到系統(tǒng)初始狀態(tài)。
[0030] 應(yīng)當(dāng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照以 上較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明 的技術(shù)方案進(jìn)行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1. 一種內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)裝置,其特征在于,該裝置包括: 設(shè)置模塊,用于將掩模型ROM內(nèi)建于閃存器中,將BIOS系統(tǒng)的引導(dǎo)區(qū)塊存儲(chǔ)于掩模型 ROM中,并將BIOS系統(tǒng)除引導(dǎo)區(qū)塊之外的其他區(qū)塊,存儲(chǔ)于閃存器中;及 恢復(fù)模塊,用于當(dāng)BIOS系統(tǒng)的循環(huán)冗余校驗(yàn)碼不正確時(shí),從一個(gè)外部存儲(chǔ)器中尋找 BIOS系統(tǒng)引導(dǎo)區(qū)塊的映射文件并刷新BIOS系統(tǒng)存儲(chǔ)在閃存器中的除引導(dǎo)區(qū)塊之外的其他 區(qū)塊。2. 如權(quán)利要求1所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)裝置,其特征在于,所述閃存器 是一個(gè)串口閃存器。3. 如權(quán)利要求1所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)裝置,其特征在于,所述BIOS 系統(tǒng)的引導(dǎo)區(qū)塊包括SEC部分和PEI部分,而除引導(dǎo)區(qū)塊之外的其他區(qū)塊包括DXE部分、 BDS部分。4. 如權(quán)利要求1所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)裝置,其特征在于,所述外部存 儲(chǔ)器是軟盤(pán)存儲(chǔ)器、硬盤(pán)存儲(chǔ)器、移動(dòng)存儲(chǔ)器以及光盤(pán)存儲(chǔ)器中的任意一項(xiàng)。5. 如權(quán)利要求1所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)裝置,其特征在于,所述檢查 BIOS系統(tǒng)循環(huán)冗余校驗(yàn)碼包括:校驗(yàn)生成的多項(xiàng)式做模2除的結(jié)果最后一位是否為0,為0 表示循環(huán)冗余校驗(yàn)碼正確,不為〇,則表示循環(huán)冗余校驗(yàn)碼不正確。6. -種內(nèi)建掩模型ROM的閃存器防寫(xiě)保護(hù)方法,其特征在于,該方法包括: 設(shè)置步驟,將掩模型ROM內(nèi)建于閃存器中,將BIOS系統(tǒng)的引導(dǎo)區(qū)塊存儲(chǔ)于掩模型ROM 中,并將BIOS系統(tǒng)除引導(dǎo)區(qū)塊之外的其他區(qū)塊,存儲(chǔ)于閃存器中;及 恢復(fù)步驟,當(dāng)BIOS系統(tǒng)的循環(huán)冗余校驗(yàn)碼不正確時(shí),從一個(gè)外部存儲(chǔ)器中尋找BIOS系 統(tǒng)引導(dǎo)區(qū)塊的映射文件并刷新BIOS系統(tǒng)存儲(chǔ)在閃存器中的除引導(dǎo)區(qū)塊之外的其他區(qū)塊。7. 如權(quán)利要求6所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)方法,其特征在于,所述閃存器 是一個(gè)串口閃存器。8. 如權(quán)利要求6所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)方法,其特征在于,所述BIOS 系統(tǒng)的引導(dǎo)區(qū)塊包括SEC部分和PEI部分,而除引導(dǎo)區(qū)塊之外的其他區(qū)塊包括DXE部分、 BDS部分。9. 如權(quán)利要求6所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)方法,其特征在于,所述外部存 儲(chǔ)器是軟盤(pán)存儲(chǔ)器、硬盤(pán)存儲(chǔ)器、移動(dòng)存儲(chǔ)器以及光盤(pán)存儲(chǔ)器中的任意一項(xiàng)。10. 如權(quán)利要求6所述的內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)方法,其特征在于,所述檢查 BIOS系統(tǒng)循環(huán)冗余校驗(yàn)碼包括:校驗(yàn)生成的多項(xiàng)式做模2除的結(jié)果最后一位是否為0,為0 表示循環(huán)冗余校驗(yàn)碼正確,不為〇,則表示循環(huán)冗余校驗(yàn)碼不正確。
【專利摘要】一種內(nèi)建掩模型ROM閃存器防寫(xiě)保護(hù)裝置及方法,包括:設(shè)置模塊,用于將掩模型ROM內(nèi)建于閃存器中,將BIOS系統(tǒng)的引導(dǎo)區(qū)塊存儲(chǔ)于掩模型ROM中,并將BIOS系統(tǒng)除引導(dǎo)區(qū)塊之外的其他區(qū)塊存儲(chǔ)于閃存器中;及恢復(fù)模塊,用于當(dāng)BIOS系統(tǒng)的循環(huán)冗余校驗(yàn)碼不正確時(shí),從一個(gè)外部存儲(chǔ)器中尋找BIOS系統(tǒng)引導(dǎo)區(qū)塊的映射文件并刷新BIOS系統(tǒng)存儲(chǔ)在閃存器中的除引導(dǎo)區(qū)塊之外的其他區(qū)塊。本發(fā)明可以對(duì)閃存器特定區(qū)域上的硬件防寫(xiě)保護(hù),確保BIOS啟動(dòng)模塊不會(huì)遭受到破壞,還可通過(guò)BIOS恢復(fù)機(jī)制,將其他受到破壞的資料恢復(fù)。
【IPC分類(lèi)】G06F21/70
【公開(kāi)號(hào)】CN105512571
【申請(qǐng)?zhí)枴緾N201410489525
【發(fā)明人】黃宏棋
【申請(qǐng)人】鴻富錦精密工業(yè)(武漢)有限公司, 鴻海精密工業(yè)股份有限公司
【公開(kāi)日】2016年4月20日
【申請(qǐng)日】2014年9月23日