專利名稱:刪除非易失性存儲裝置的軟件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),更準(zhǔn)確地說,涉及刪除計(jì)算機(jī)系統(tǒng)中非易失性存儲裝置的軟件。
背景技術(shù):
計(jì)算機(jī)系統(tǒng)可以包括多種存儲裝置,其中的一些可以是非易失性存儲裝置(例如,硬盤驅(qū)動(dòng)器)。非易失性存儲裝置可以存儲敏感信息(例如,組織機(jī)密通信)。當(dāng)非易失性存儲裝置中的敏感數(shù)據(jù)不再需要時(shí),可以刪除所述存儲裝置。在一些計(jì)算機(jī)系統(tǒng)中,刪除存儲裝置的數(shù)據(jù)涉及將數(shù)據(jù)標(biāo)記為”被刪除”。這樣,與”被刪除”的數(shù)據(jù)相關(guān)的存儲空間就可以重新使用,但是被刪除的數(shù)據(jù)還保留在裝置中,直到被蓋寫為止。安全地和永久性地刪除非易失性存儲裝置可能需要軟件,以便永久性地刪除存儲在存儲裝置中的數(shù)據(jù)??上У氖?,可能需要通過可引導(dǎo)媒體(例如,可引導(dǎo)CD-ROM)把這樣的軟件裝到計(jì)算機(jī)系統(tǒng)中。此外,軟件開發(fā)者可能是不可靠的第三者,因而在刪除過程的有效性上引入了不確定性。
發(fā)明內(nèi)容
由計(jì)算機(jī)實(shí)現(xiàn)的方法和用于刪除非易失性存儲裝置的系統(tǒng)針對這些問題中的至少一些問題。在一些實(shí)施例中,所述系統(tǒng)包括處理器;與所述處理器連接的非易失性存儲裝置;與處理器和非易失性存儲裝置連接的只讀存儲器(ROM);以及存儲在ROM中的軟件。所述軟件可以由處理器執(zhí)行并且配置成在引導(dǎo)固件控制系統(tǒng)的同時(shí),通過蓋寫非易失性存儲裝置的基本上所有可尋址地址來刪除非易失性存儲裝置。
現(xiàn)在,將參照附圖詳細(xì)說明本發(fā)明的說明性實(shí)施例,附圖中圖1示出根據(jù)本發(fā)明實(shí)施例配置的系統(tǒng);圖2A示出根據(jù)本發(fā)明實(shí)施例的圖1的只讀存儲器中的至少一些內(nèi)容;圖2B示出根據(jù)本發(fā)明另一些實(shí)施例的圖1的只讀存儲器中的至少一些內(nèi)容;圖2C示出根據(jù)本發(fā)明至少一些實(shí)施例的圖1的存儲器中的內(nèi)容;圖3示出根據(jù)本發(fā)明實(shí)施例的刪除非易失性存儲裝置的過程;以及圖4示出在說明性數(shù)據(jù)刪除過程中,圖1所示的各部件之間的相互作用。
符號和術(shù)語在下面的整個(gè)說明書和權(quán)利要求書中使用了某些術(shù)語,涉及具體的系統(tǒng)部件。正如本專業(yè)的技術(shù)人員將明白的,計(jì)算機(jī)公司可能用不同名稱稱呼一個(gè)部件。本文檔不打算區(qū)別不同名稱的部件之間的差別,而是區(qū)別它們不同的功能。在以下的討論和權(quán)利要求書中,術(shù)語”包括”用于一種可擴(kuò)展形式,因此,應(yīng)該解釋為”包括,而不局限于…”。同樣,術(shù)語”連接”意思是指或者間接或者直接的電氣連接。這樣,如果第一臺裝置與第二臺裝置連接,所述連接可以是直接的電氣連接或者通過其它裝置或連接的間接電氣連接。
此外,術(shù)語”只讀存儲器”(ROM)是指包括各種類型的只讀存儲器,例如,可編程只讀存儲器(PROM)、電可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲器(EEPROM)和快速電可擦可編程只讀存儲器。
具體實(shí)施例方式
以下討論是針對本發(fā)明的各種實(shí)施例。雖然這些實(shí)施例中的一個(gè)或幾個(gè)可能是最優(yōu)的,但是,說明的實(shí)施例并沒有解釋為(或者用作為)局限于所說明(包括權(quán)利要求書)的范圍。此外,本專業(yè)的技術(shù)人員將明白,以下說明具有廣泛的應(yīng)用,討論的任何實(shí)施例僅僅是說明性實(shí)施例,并不是表示所說明的(包括權(quán)利要求書的)范圍局限于所述實(shí)施例。
圖1示出根據(jù)本發(fā)明實(shí)施例配置的系統(tǒng)。如圖所示,系統(tǒng)100包括與一個(gè)或多個(gè)輸入/輸出(I/O)裝置(例如,顯示器104、鍵盤106和指示器108)連接的計(jì)算機(jī)102。計(jì)算機(jī)102包括處理器110、一個(gè)或多個(gè)存儲器裝置112(稱作”存儲器”)和I/O接口114。I/O接口114可以便于I/O裝置104-108和計(jì)算機(jī)102之間的數(shù)據(jù)交換。存儲器112可以包括任何類型的易失性或非易失性存儲器(例如,只讀存儲器(ROM)116、隨機(jī)訪問存儲器(RAM)118以及硬盤驅(qū)動(dòng)器120)。雖然沒有專門示出,但是存儲器112可以存儲由處理器110運(yùn)行的操作系統(tǒng)(OS)(例如,Microsoft Windows、UNIX和Solaris)。所述操作系統(tǒng)提供用戶與系統(tǒng)100的接口。如果需要,也可以包括其它硬件裝置(例如,存儲器控制器、圖形加速器和網(wǎng)絡(luò)接口)。系統(tǒng)100可以是合適的臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器或其它類型的計(jì)算機(jī)系統(tǒng)。
圖2A示出根據(jù)本發(fā)明至少一個(gè)實(shí)施例的ROM 116的至少一些內(nèi)容。ROM 116包括基本輸入輸出系統(tǒng)(BIOS)202。BIOS 202可以包括用于引導(dǎo)系統(tǒng)100的基本軟件例程集。所述軟件例程可以負(fù)責(zé)將硬件部件初始化并執(zhí)行自我診斷(例如,通電自我測試(POST))。所述軟件例程還能夠直接訪問系統(tǒng)100的硬件部件(例如,硬盤驅(qū)動(dòng)器120、顯示器104和鍵盤106)。
BIOS 202還包括包含刪除軟件204的可運(yùn)行代碼204。當(dāng)處理器110執(zhí)行所述代碼時(shí),刪除軟件204能夠刪除非易失性存儲裝置(例如,硬盤驅(qū)動(dòng)器120)。刪除軟件204通過蓋寫所述裝置的所有可尋址地址或所有實(shí)際可尋址地址來刪除非易失性存儲裝置。例如,在一些實(shí)施例中,刪除軟件204可以蓋寫非易失性存儲裝置的95%或更多的地址。通過蓋寫可尋址地址,可以減小檢索原始數(shù)據(jù)的慨率。刪除軟件204可以用低級可編程語言(例如,匯編、或任何其它適合的可編程語言)編寫。刪除軟件204與BIOS 202結(jié)合在一起并起B(yǎng)IOS202的一部分的作用。這樣,把授予BIOS 202的任何特權(quán)(例如,直接訪問硬件)也授予所述刪除軟件204。所述刪除軟件可以使用BIOS202的軟件例程,或作為所述刪除軟件204的一部分提供的本地例程來刪除非易失性存儲裝置。
圖2B示出ROM 116的另一種配置。在所述另一個(gè)實(shí)施例中,BIOS202和刪除軟件204是不同的ROM駐留軟件應(yīng)用。
圖2C示出根據(jù)本發(fā)明至少一些實(shí)施例的存儲器112。存儲器112包括可擴(kuò)展的固件接口(EFI)206和刪除軟件204。EFI 206給操作系統(tǒng)和平臺固件之間提供接口。所述接口包括數(shù)據(jù)表,所述數(shù)據(jù)表包括與平臺有關(guān)的信息和操作系統(tǒng)以及操作系統(tǒng)的加載程序使用的引導(dǎo)及運(yùn)行服務(wù)調(diào)用。象BIOS 202一樣,EFI 206為引導(dǎo)操作系統(tǒng)和運(yùn)行預(yù)引導(dǎo)應(yīng)用提供標(biāo)準(zhǔn)環(huán)境。因此,刪除軟件204可以配置成預(yù)引導(dǎo)EFI應(yīng)用,使用EFI方法來刪除非易失性存儲裝置。所述方法可以用EFI規(guī)范支持的任何可編程語言(例如,C或匯編)編寫。刪除軟件204和EFI 206可以存儲在ROM 116、硬盤驅(qū)動(dòng)器120或EFI 206支持的任何其它類型的存儲器中。
在所有配置(例如,圖2A、2B和2C)中,當(dāng)引導(dǎo)固件控制系統(tǒng)時(shí),處理器110執(zhí)行刪除軟件204。在圖2A和2B中,引導(dǎo)固件為BIOS 202,而在圖2C中,引導(dǎo)固件為EFI 206。這樣,刪除軟件204可以是與引導(dǎo)固件結(jié)合在一起的成品計(jì)算機(jī)系統(tǒng)的永久性部件。
圖3示出根據(jù)本發(fā)明各種實(shí)施例的用于刪除非易失性存儲裝置的說明性過程300。過程300可以從用戶通過鍵盤106進(jìn)入BIOS配置、或者從合適的預(yù)引導(dǎo)EFI應(yīng)用開始(方框302)。通過在顯示器104上顯示的圖形用戶接口(GUI),用戶可以訪問刪除軟件(方框304),并選擇待刪除的非易失性存儲裝置(方框306)。在選擇所需的存儲裝置后,用戶可以選擇一種數(shù)據(jù)刪除方法(方框308)。下面討論刪除軟件204支持的各種數(shù)據(jù)刪除方法。用戶可以確認(rèn)所作的選擇(方框310),刪除軟件204可以刪除選擇的裝置(方框312)。完成后,刪除軟件204可以確認(rèn)由選擇的刪除方法刪除的裝置(方框314)。
刪除軟件204按照至少兩種刪除方法來刪除非易失性存儲裝置。第一種刪除方法可以通過用單一任意字符蓋寫所有可尋址地址來”清除”所選擇的裝置。第二種刪除方法可以通過用字符、字符的補(bǔ)碼和隨機(jī)字符蓋寫驅(qū)動(dòng)器上所有可尋址地址來”清除”所選擇的裝置。第二方法可以確認(rèn)成功完成的清除。第一和第二種刪除方法遵循安全部門(DoD)的5220.22-M標(biāo)準(zhǔn),名稱為”國家工業(yè)安全手冊執(zhí)行手冊”,并通過引用將后者結(jié)合在本說明書中。例如,術(shù)語”刪除”和”清除”包含了相應(yīng)的過程和在5220.22-M標(biāo)準(zhǔn)和上面的說明中確定的定義。
根據(jù)選擇的待刪除的非易失性存儲裝置(方框306),可能能夠正確引導(dǎo)計(jì)算機(jī)系統(tǒng)或者可能不能夠正確引導(dǎo)計(jì)算機(jī)系統(tǒng)。如果選擇的存儲裝置包含關(guān)鍵的操作系統(tǒng)文件(例如,存儲在引導(dǎo)分區(qū)中的文件),那么,當(dāng)刪除裝置時(shí)就不可能正確地引導(dǎo)計(jì)算機(jī)系統(tǒng)。因此,刪除軟件204可以檢測所述選擇的存儲裝置是否包含操作系統(tǒng)的關(guān)鍵文件。如果所述選擇的存儲裝置包含操作系統(tǒng)的關(guān)鍵文件,那么,所述刪除軟件204可以用能夠影響刪除過程的警告消息提示用戶。
圖4示出在刪除磁盤驅(qū)動(dòng)器120上的數(shù)據(jù)的說明性刪除過程中,系統(tǒng)100的各部件之間的相互作用。用戶可以使用鍵盤206輸入BIOS的配置,或者正確的EFI的預(yù)引導(dǎo)應(yīng)用,并為磁盤驅(qū)動(dòng)器120選擇所需的刪除方法??梢园寻鲞x擇的請求402發(fā)送給刪除軟件204。根據(jù)接收的請求402,刪除軟件204可以通過相應(yīng)的BIOS或EFI例程404訪問磁盤驅(qū)動(dòng)器120并在磁盤驅(qū)動(dòng)器120上執(zhí)行選擇的刪除方法。如果在刪除過程中出現(xiàn)了錯(cuò)誤,就可以在顯示器104上給用戶顯示相應(yīng)的錯(cuò)誤信息。在說明性刪除過程中,雖然用戶可以使用鍵盤206為磁盤驅(qū)動(dòng)器120選擇刪除方法,但是,也可以應(yīng)用任何其它類型的I/O裝置(例如,指示器108)。
本發(fā)明的實(shí)施例提供了安全刪除非易失性存儲裝置的有效機(jī)制。這樣,雖然可以按照需要來使用,并且可以在引導(dǎo)固件(例如,BIOS或EFI)控制計(jì)算機(jī)系統(tǒng)的同時(shí)刪除非易失性存儲裝置,但是,不需要附加的第三方軟件。刪除方法可以完全遵循DoD的5220.22-M標(biāo)準(zhǔn),而且刪除軟件可以與引導(dǎo)固件結(jié)合在一起,使其成為成品計(jì)算機(jī)系統(tǒng)的一個(gè)永久部分。
上述討論是對本發(fā)明的原理和各個(gè)實(shí)施例的說明。一旦上述說明被完全理解,對于本專業(yè)的技術(shù)人員來說,本發(fā)明的許多變化和修改將變得更加明顯。例如,刪除軟件可以刪除一個(gè)或多個(gè)或所有非易失性存儲裝置。所述刪除軟件可以以批處理方式起作用,刪除選擇的許多個(gè)裝置。我們的意圖是,以下的權(quán)利要求書將包含所有這些變化和修改。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)(102),它包括處理器(110);非易失性存儲裝置(112),它與所述處理器(110)連接;只讀存儲器(ROM)(116),它與所述處理器(110)和所述非易失性存儲裝置(112)連接;以及存儲在所述ROM(116)中的軟件(204),其中,所述軟件(204)由處理器(110)執(zhí)行并配置成在引導(dǎo)固件控制系統(tǒng)(102)時(shí),通過蓋寫非易失性存儲裝置(112)中所有可尋址的實(shí)際地址來刪除非易失性存儲裝置(112)。
2.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)(102),其中,所述引導(dǎo)固件是基本輸入輸出系統(tǒng)(BIOS)(202),以及所述軟件(204)與BIOS(202)結(jié)合在一起。
3.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)(102),其中,所述引導(dǎo)固件是可擴(kuò)展的固件接口(EFI)(206),后者適合于利用BIOS(202)進(jìn)行初始化。
4.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng)(102),其中,所述軟件(204)配置成通過將字符、所述字符的補(bǔ)碼和隨機(jī)字符寫入所述非易失性存儲裝置(112)的所有可尋址地址來刪除所述非易失性存儲裝置(112)。
5.一種計(jì)算機(jī)系統(tǒng)(102),它包括處理器(110);非易失性存儲裝置(112),它與所述處理器(110)連接;第一和第二存儲器,它們與所述處理器(110)和所述非易失性存儲裝置(112)連接;存儲在所述第一存儲器中的軟件(204)和存儲在所述第二存儲器中的引導(dǎo)固件,其中,所述軟件由所述處理器執(zhí)行并配置成在所述引導(dǎo)固件將所述系統(tǒng)初始化時(shí)蓋寫所述非易失性存儲裝置的基本上所有可尋址的地址。
6.如權(quán)利要求5所述的計(jì)算機(jī)系統(tǒng)(102),其中,所述軟件(204)配置成通過將字符寫入所述非易失性存儲裝置(112)的所有可尋址地址來清除所述非易失性存儲裝置(112)。
7.一種用計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括發(fā)送利用預(yù)定的刪除方法刪除包含在非易失性存儲裝置(112)上的基本上所有數(shù)據(jù)的請求;根據(jù)所述預(yù)定的刪除方法,利用存儲在只讀存儲器(116)中的程序(204)蓋寫所述數(shù)據(jù);以及確認(rèn)已根據(jù)所述預(yù)定的刪除方法刪除所述非易失性存儲裝置(112)上的所述數(shù)據(jù)。
8.一種計(jì)算機(jī)可讀存儲媒體(116),其上存儲有可執(zhí)行的程序(204),當(dāng)中央處理單元(CPU)(110)訪問所述計(jì)算機(jī)可讀存儲媒體(116)時(shí),將使所述CPU(110)執(zhí)行以下操作根據(jù)刪除方法刪除所述非易失性存儲裝置(112);以及確認(rèn)已經(jīng)根據(jù)所述刪除方法刪除所述非易失性存儲裝置(112);其中,所述可執(zhí)行程序(204)與引導(dǎo)固件(202)結(jié)合在一起。
9.如權(quán)利要求8所述的計(jì)算機(jī)可讀存儲媒體(116),其中,所述刪除方法通過將字符寫入所述非易失性存儲裝置(112)的所有可尋址的地址來刪除所述非易失性存儲裝置(112)。
10.如權(quán)利要求8所述的計(jì)算機(jī)可讀存儲媒體(116),其中,所述刪除方法通過將字符、所述字符的補(bǔ)碼和隨機(jī)字符寫入所述非易失性存儲裝置(112)的所有可尋址地址來刪除所述非易失性存儲裝置(112)。
全文摘要
根據(jù)本發(fā)明的至少一些實(shí)施例,系統(tǒng)(102)包括處理器(110)、與處理器連接的非易失性存儲裝置(112)、與處理器(110)和非易失性存儲裝置(112)連接的只讀存儲器(ROM)(116)以及存儲在ROM(116)中的軟件(204)。軟件(204)由處理器(110)執(zhí)行并配置成在引導(dǎo)固件控制系統(tǒng)(102)時(shí)通過蓋寫非易失性存儲裝置(112)的基本上所有可尋址的地址來刪除非易失性存儲裝置(112)。
文檔編號G06F9/00GK1713159SQ20051008119
公開日2005年12月28日 申請日期2005年6月23日 優(yōu)先權(quán)日2004年6月24日
發(fā)明者A·H·常 申請人:惠普開發(fā)有限公司