專利名稱::用于個(gè)人計(jì)算機(jī)存儲(chǔ)器區(qū)域的外部鎖固機(jī)構(gòu)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算機(jī)系統(tǒng),特別是涉及用來在一個(gè)人計(jì)算機(jī)系統(tǒng)中控制訪問內(nèi)存區(qū)域的外部鎖固機(jī)制。
背景技術(shù):
:本申請(qǐng)書是2001年5月10日所提出審査中美國專利申請(qǐng)第09/852,372號(hào)名稱為"安全執(zhí)行箱和其方法"的一部分延續(xù)申請(qǐng),其發(fā)明者為DaleE.GuHck和GeoffreyS.Strongin。此申請(qǐng)書也是2001年5月10日所提出審査中美國專利申請(qǐng)第09/852,942號(hào)名稱為"用以加強(qiáng)安全性與易處理性的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)"的一部分延續(xù)申請(qǐng),其發(fā)明者為GeoffieyS.Strongin和DaleE.Gulick。圖1A顯示一示范計(jì)算機(jī)系統(tǒng)100。計(jì)算機(jī)系統(tǒng)100包括一處理器102、一北橋104、一內(nèi)存106、一高等圖形端口(AdvancedGraphicsPort,AGP)內(nèi)存108、一周邊組件(PeripheralComponentInterconnect,PCI)總線IIO、一南橋112、一電池、一AT附加裝置(ATAttachment,ATA)接口114(一般稱為IDE(IntegratedDriveElectronics,IDE)接口)、一通用串行總線(universalserialbus,USB)接口116、一低接腳計(jì)數(shù)(LowPinCo加t,LPC)總線118、一輸入/輸出控制芯片(Superl/OTM)120以及基本輸入/輸出系統(tǒng)(BIOS)122。值得注意的是北橋104和南橋112可僅包括單一芯片或多個(gè)芯片,而稱為集合名詞"芯片組(chipset)"。另外也值得注意的是其它總線、裝置和/或者子系統(tǒng)若有需要也可包括于計(jì)算機(jī)系統(tǒng)100中,舉例而言高速緩存、調(diào)制解調(diào)器、并行或串行接口、小型計(jì)算機(jī)系統(tǒng)(SCSI)接口、網(wǎng)絡(luò)接口卡片等等。[Superf/0為位于加州圣塔克拉拉的國家半導(dǎo)體股份有限公司的寄存器商標(biāo)]處理器102連接至北橋104。北橋104提供一接口于處理器102、內(nèi)存106、AGP內(nèi)存108和PCI總線110之間。南橋112提供一接口于PCI總線110和連接至IDE接口114、通用串行總線接口116和低接腳計(jì)數(shù)總線118的周邊、裝置和子系統(tǒng)之間。電池113顯示為與南橋112相連接。Superi/OTM芯片120連接至低接腳計(jì)數(shù)總線118。北橋104在處理器102、內(nèi)存106、AGP內(nèi)存108、與PCI總線110相連接的裝置以及與南橋112相連接的裝置和子系統(tǒng)中間和/或提供通訊訪問。一般而言,可拆卸的pci裝置是插入pcr槽"(未顯示),該pcr槽"系連接至PCI總線110,以與計(jì)算機(jī)系統(tǒng)ioo相連接。另外,置于主機(jī)板上的裝置可直接連接于PCI總線iio上。南橋112在PCI總線110和各種裝置和子系統(tǒng)如調(diào)制解調(diào)器、打印機(jī)、鍵盤、鼠標(biāo)等等之間提供一接口,此些裝置和子系統(tǒng)通常通過低接腳計(jì)數(shù)總線118(或其早期技術(shù),舉例而言一X總線或一ISA總線)與計(jì)算機(jī)系統(tǒng)100相連接。南橋112包括通過IDE接口114、通用串行總線接口116和低接腳計(jì)數(shù)總線118來接合裝置至計(jì)算機(jī)系統(tǒng)100其它部分的邏輯電路。圖1B顯示已知南橋112的一外觀,包括用以提供儲(chǔ)備電力的電池113,也就是所謂"實(shí)時(shí)時(shí)鐘(RTC)電池槽"125。南橋112包括南橋(SB)隨機(jī)存取內(nèi)存126和時(shí)鐘電路128,兩者均位于實(shí)時(shí)時(shí)鐘電池槽125內(nèi)。南橋隨機(jī)存取內(nèi)存126B包括互補(bǔ)式金屬氧化半導(dǎo)體隨機(jī)存取內(nèi)存(CMOSRAM)126A和實(shí)時(shí)時(shí)鐘(RTC)隨機(jī)存取內(nèi)存126B。實(shí)時(shí)時(shí)鐘隨機(jī)存取內(nèi)存126B包括時(shí)鐘數(shù)據(jù)129和核對(duì)和(checksum)數(shù)據(jù)127。在實(shí)時(shí)時(shí)鐘電池槽125外,南橋112也包括一中央處理器接口132、電源和系統(tǒng)管理單元133、PCI總線接口邏輯134A、通用串行總線接口邏輯134C、IDE接口邏輯134B和LPC接口邏輯134D。時(shí)鐘電路128的時(shí)間和日期數(shù)據(jù)系以時(shí)鐘數(shù)據(jù)129儲(chǔ)存于實(shí)時(shí)時(shí)鐘隨機(jī)存取內(nèi)存126B中。實(shí)時(shí)時(shí)鐘隨機(jī)存取內(nèi)存126B中的核對(duì)和數(shù)據(jù)127可基于CMOS內(nèi)存126A數(shù)據(jù)被計(jì)算且在啟動(dòng)期間由基本輸入/輸出系統(tǒng)(BIOS)所儲(chǔ)存,如下所述,在圖2A中的方框148。CPU接口132可包括中斷信號(hào)控制器和處理器信號(hào)控制器。電源和系統(tǒng)管理單元133可包括一高等配置和電源接口(AdvancedConfigurationandPowerInterfac,ACPI)控制器。系統(tǒng)管理模式(SystemManagementMode,SMM)是計(jì)算機(jī)系統(tǒng)中的一個(gè)操作模式,用以執(zhí)行以保存電力。SMM被設(shè)計(jì)用于第四代x86處理器。隨著更新一代的x86處理器出現(xiàn),SMM對(duì)操作系統(tǒng)而言已變得較易懂。亦即計(jì)算機(jī)系統(tǒng)在操作系統(tǒng)內(nèi)進(jìn)入與離開SMM,僅會(huì)帶來極少甚至不會(huì)有任何影響。請(qǐng)參考圖2A,顯示初始使用代碼儲(chǔ)存在基本輸入/輸出系統(tǒng)(BIOS)122的計(jì)算機(jī)系統(tǒng)的一已知方法的流程圖。在電力供應(yīng)的初期,電源供應(yīng)器對(duì)北橋產(chǎn)生一電力良好信號(hào),如方框136所示。當(dāng)從電源供應(yīng)器得到該電力良好信號(hào)時(shí),南橋(或北橋)停止顯示來自處理器的復(fù)位信號(hào),如方框B8所示。在初始期間,處理器讀取缺省跳轉(zhuǎn)位置,如方框140所示。內(nèi)存中的缺省跳轉(zhuǎn)位置通常是在如FFFFOh的位置。在只讀存儲(chǔ)器基本輸入/輸出系統(tǒng)(BIOS)中,處理器對(duì)適當(dāng)基本輸入/輸出系統(tǒng)(BIOS)程序代碼位置執(zhí)行一跳轉(zhuǎn)(如FFFFOh),并復(fù)制基本輸入/輸出系統(tǒng)(BIOS)程序代碼到隨機(jī)存取內(nèi)存存儲(chǔ)范圍,再從隨機(jī)存取內(nèi)存存儲(chǔ)范圍開始處理基本輸入/lf出系統(tǒng)(BIOS)程序代碼指令,如方框142所示。由處理器處理的基本輸入/輸出系統(tǒng)(BIOS)程序代碼執(zhí)行一啟動(dòng)自檢(power-onselftest,POST),如方框144所示?;据斎?輸出系統(tǒng)(BIOS)程序代碼接著尋找附加的基本輸入/輸出系統(tǒng)(BIOS)程序代碼,例如從一視訊控制器、IDE控制器、小型計(jì)算機(jī)系統(tǒng)接口控制器等等,并顯示一啟動(dòng)(start-up)信息屏幕,如方框146所示。舉例而言,視訊控制器基本輸入/輸出系統(tǒng)(BIOS)經(jīng)常在C000h被找到,而IDE控制器基本輸入/輸出系統(tǒng)(BIOS)程序代碼則經(jīng)常在C800h被找到。而IDE控制器基本輸入/輸出系統(tǒng)(BIOS)程序代碼可執(zhí)行附加系統(tǒng)檢測(cè)如一隨機(jī)存取內(nèi)存存儲(chǔ)范圍計(jì)數(shù)測(cè)驗(yàn),和一系統(tǒng)詳細(xì)目錄,附加系統(tǒng)檢測(cè)包括確認(rèn)計(jì)算機(jī)輸出COM(串行)端口和LinePrinT打印機(jī)(并行)端口,如方框148所示?;据斎?輸出系統(tǒng)(BIOS)程序代碼也識(shí)別即插即用(plug-and-play)裝置和其它的類似裝置,然后顯示已確認(rèn)裝置的匯總在屏幕上,如方框150所示?;据斎?輸出系統(tǒng)(BIOS)程序代碼確認(rèn)啟動(dòng)位置和相對(duì)應(yīng)的啟動(dòng)區(qū)段,如方框152所示。啟動(dòng)位置可能位在一軟盤磁盤驅(qū)動(dòng)器、一硬盤磁盤驅(qū)動(dòng)器、一只讀型光盤(CDROM)、一遠(yuǎn)程位置上等等。基本輸入/輸出系統(tǒng)(BIOS)程序代碼接著在啟動(dòng)位置調(diào)用啟動(dòng)區(qū)段程序代碼,以使計(jì)算機(jī)系統(tǒng)啟動(dòng),如利用一操作系統(tǒng),如方框154所示。值得注意的是對(duì)于一冷式啟動(dòng)(coldboot)或一硬式(重)啟動(dòng)(hard(re)boot),如方框136至154所示所提出的所有或大多數(shù)描述可能會(huì)發(fā)生。而在一熱啟動(dòng)或一軟式(重)啟動(dòng)中,基本輸入/輸出系統(tǒng)(BIOS)程序代碼通常從方框142跳到方框148而略過啟動(dòng)自檢、內(nèi)存測(cè)試等等。在圖2B中顯示在SMM中使用儲(chǔ)存于基本輸入/輸出系統(tǒng)122中的程序代碼操作計(jì)算機(jī)系統(tǒng)的一已知方法的流程圖。一中斷控制器接收對(duì)SMM的一請(qǐng)求,如方框172所示。中斷控制器通過對(duì)處理器發(fā)出一系統(tǒng)管理中斷(SM說)信號(hào)以對(duì)SMM發(fā)出請(qǐng)求信號(hào),如方框174所示。處理器確認(rèn)對(duì)SMM的請(qǐng)求并顯示一SMIACTive(SMIACT弁)信號(hào),如方框176所示。系統(tǒng)確認(rèn)SMLACT弁信號(hào),而使到系統(tǒng)隨機(jī)存取內(nèi)存的通路無法進(jìn)入,并使系統(tǒng)管理隨機(jī)存取內(nèi)存(SMRAM)空間的通路可進(jìn)入,如方框178所示。當(dāng)前處理器狀態(tài)儲(chǔ)存于系統(tǒng)管理隨機(jī)存取內(nèi)存,如方框180中。處理器復(fù)位SMM缺省狀態(tài)并進(jìn)入SMM,如方框182所示。處理器接著讀取缺省指針并跳轉(zhuǎn)至系統(tǒng)管理隨機(jī)存取內(nèi)存空間中的適當(dāng)?shù)胤?,如方?84所示。如方框186所示,確認(rèn)系統(tǒng)管理中斷請(qǐng)求的來源和/或性質(zhì)。系統(tǒng)管理中斷管理器維護(hù)系統(tǒng)管理中斷請(qǐng)求,如方框188所示。在接受系統(tǒng)管理中斷請(qǐng)求以后,系統(tǒng)管理中斷管理器從SMM(RSM)指令發(fā)出一個(gè)響應(yīng)至處理器,如方框190所示。在操作RSM指令時(shí),處理器恢復(fù)所存盤的狀態(tài)信息并繼續(xù)正常的操作,如方框192所示。從硬件的觀點(diǎn),x86操作環(huán)境并未提供足夠的用戶隱私保護(hù)、以及公司秘密和資產(chǎn)安全或內(nèi)容供應(yīng)者的所有權(quán)的保護(hù)。所有這些目標(biāo)、隱私(privacy)、安全(security)和所有權(quán)(ownership)(通稱為PSO)在如此的因特網(wǎng)連接的計(jì)算機(jī)時(shí)代變得十身重要。原始個(gè)人計(jì)算機(jī)并未預(yù)先設(shè)計(jì)PSO的需要。從軟件的觀點(diǎn),就PSO而言x86操作環(huán)境也是十分的不足。通過軟件直接訪問硬件或直接打開個(gè)人計(jì)算機(jī)機(jī)蓋此類簡(jiǎn)易訪問方式使得入侵者或竊賊可克服大多數(shù)的安全軟件和裝置。個(gè)人計(jì)算機(jī)使用方式的簡(jiǎn)易化僅為PSO增加了更多的問題。
發(fā)明內(nèi)容在本發(fā)明的一個(gè)例子中,一個(gè)計(jì)算機(jī)系統(tǒng)被提供。該計(jì)算機(jī)系統(tǒng)包括總線、與該總線相連接的內(nèi)存和與該總線相連接并通過總線存入該內(nèi)存的一個(gè)裝置。該內(nèi)存包括多個(gè)儲(chǔ)存位置,分成多個(gè)內(nèi)存單元。該裝置包括一個(gè)或更多個(gè)鎖固結(jié)構(gòu),用以控制訪問一個(gè)或多個(gè)的內(nèi)存單元。在各種實(shí)施例中,這些鎖可包括多個(gè)寄存器。在多個(gè)寄存器中的一個(gè)或更多入口可顯示一個(gè)或更多內(nèi)存單元的訪問控制設(shè)定。在本發(fā)明的另一個(gè)例子中,內(nèi)存被提供。該內(nèi)存包括與基本輸入/輸出系統(tǒng)(BIOS)數(shù)據(jù)相組合的多個(gè)第一儲(chǔ)存位置;和多個(gè)第二儲(chǔ)存位置。該多個(gè)第二儲(chǔ)存位置包括僅在SMM下可讀取的多個(gè)第一區(qū)塊(blocks)以及在SMM與除了SMM以外的至少一個(gè)操作模式下可讀取的多個(gè)第二區(qū)塊。在本發(fā)明的另一個(gè)例子中,運(yùn)行計(jì)算機(jī)系統(tǒng)的一種方法被提供。該方法包括為一個(gè)或更多的內(nèi)存地址請(qǐng)求一個(gè)內(nèi)存處理和為該地址確定一個(gè)鎖固狀態(tài)。該方法也包括對(duì)該內(nèi)存地址回復(fù)鎖固狀態(tài),并確定如果鎖固狀態(tài)顯示對(duì)該內(nèi)存地址的內(nèi)存處理不被準(zhǔn)許時(shí)則該地址的鎖固狀態(tài)是否可更改。該方法也包括如果該內(nèi)存地址的鎖固狀態(tài)能被更改時(shí),來改變?cè)摰刂返逆i固狀態(tài)以允許內(nèi)存處理。在本發(fā)明的另一個(gè)例子中,運(yùn)行計(jì)算機(jī)系統(tǒng)的另一種方法被提供。該方法包括從一個(gè)第一裝置發(fā)出對(duì)內(nèi)存區(qū)域的內(nèi)存處理的請(qǐng)求并在一個(gè)第二裝置接收該請(qǐng)求,該第二裝置不包括內(nèi)存區(qū)域或內(nèi)存區(qū)域內(nèi)容的拷貝。該方法也包括響應(yīng)來自該第二裝置的一個(gè)響應(yīng)至發(fā)出該內(nèi)存處理請(qǐng)求的第一裝置。本發(fā)明可參考下列描述與其所附圖標(biāo)加以了解,圖標(biāo)以參考數(shù)字定義相近的元素。圖1A顯示一已知計(jì)算機(jī)系統(tǒng)的方框圖,而圖1B顯示一已知南橋的方框圖2A與圖2B顯示利用在只讀存儲(chǔ)器中儲(chǔ)存的程序代碼以操作一計(jì)算機(jī)系統(tǒng)的一已知方法的流程圖;圖3是根據(jù)本發(fā)明的一個(gè)例子顯示在具有一安全執(zhí)行盒的一計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)與指令傳送的一個(gè)實(shí)施例的流程圖;圖4是根據(jù)本發(fā)明的一個(gè)例子顯示在南橋中具有安全硬件以及密碼機(jī)處理器的一計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例的方框圖;圖5A和圖5B是根據(jù)本發(fā)明的各種例子顯示包括用以控制SMM的安全硬件的一南橋?qū)嵤├姆娇驁D;,圖6系根據(jù)本發(fā)明的一個(gè)例子顯示包括用以穩(wěn)固SMM的安全硬件的一南橋的實(shí)施例的方框圖;圖7A和圖7B是根據(jù)本發(fā)明的各種例子顯示安全內(nèi)存的實(shí)施例;圖8A和圖8B是根據(jù)本發(fā)明的各種例子分別顯示用以穩(wěn)固SMM操作的一基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器與一SMM只讀存儲(chǔ)器的實(shí)施例的方框圖;圖9A、圖9B、圖9C、圖9D、圖9E、圖9F和圖9G是根據(jù)本發(fā)明的各種例子顯示用以訪問安全硬件(可能被鎖住)的方法的實(shí)施例的流程圖;圖10A、圖10B和圖10C是系根據(jù)本發(fā)明的各種例子顯示在圖6中的訪問鎖460的實(shí)施例的方框圖,而圖10D是根據(jù)本發(fā)明的各種例子顯示變更寄存器的的一個(gè)實(shí)施例的方框圖;圖11A、圖11B、圖12和圖13是根據(jù)本發(fā)明的各種例子顯示安全訪問儲(chǔ)存器的方法的實(shí)施例的流程圖。具體實(shí)施方式圖示的實(shí)施例將在下面詳細(xì)地描述。為達(dá)到簡(jiǎn)單清楚的目的,在說明書中并不會(huì)完全描述實(shí)際執(zhí)行中的所有特性。當(dāng)然,我們應(yīng)了解,在開發(fā)任何實(shí)際實(shí)施例時(shí),許多特定執(zhí)行決策需被作出以達(dá)到開發(fā)者的特定目標(biāo),例如符合系統(tǒng)或商業(yè)上的各種限制,這些特定目標(biāo)在每一個(gè)實(shí)施例上都不同,此外,我們應(yīng)了解此類開發(fā)工作都是復(fù)雜且耗時(shí)的,但仍是對(duì)此技藝了解者由本發(fā)明的揭示可進(jìn)行的例行開發(fā)工作。此處與參考數(shù)字相連的用字是為了能顯示該項(xiàng)對(duì)象的不同實(shí)施例或者范例。圖3是根據(jù)本發(fā)明的一個(gè)例子顯示在具有安全執(zhí)行盒260的一個(gè)計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)指令傳送的實(shí)施例的流程方框圖。用戶輸入和輸出(1/0)數(shù)據(jù)和/或指令205提供給一個(gè)或更多的應(yīng)用程序210并同時(shí)從其中接收。在計(jì)算機(jī)系統(tǒng)(舉例而言計(jì)算機(jī)系統(tǒng)100或者任何其它計(jì)算機(jī)系統(tǒng))內(nèi)應(yīng)用程序210與密碼服務(wù)提供器215交換數(shù)據(jù)和指令。此密碼服務(wù)提供器215可使用應(yīng)用程序接口(ApplicationProgrammingInterface,API)調(diào)用220以與提供通路至硬件230的驅(qū)動(dòng)程序225相互作用。根據(jù)本發(fā)明的一個(gè)例子,驅(qū)動(dòng)程序225和硬件230是在安全執(zhí)行模式(SEM)260下操作的安全執(zhí)行盒的一部分。信托隱私、安全和所有權(quán)(PSO)的操作,全部簡(jiǎn)化為安全操作,可于計(jì)算機(jī)系統(tǒng)在安全執(zhí)行模式260時(shí)發(fā)生。從用戶輸入/輸出205和/或應(yīng)用程序210傳送的軟件調(diào)用可通過一SMM啟動(dòng)注冊(cè)器425B(或SMM啟動(dòng)器425A)置于SMM260的安全執(zhí)行盒里如圖5B的描述(或者圖5A)。參數(shù)可通過一訪問保護(hù)信箱隨機(jī)存取內(nèi)存415進(jìn)入和離開安全執(zhí)行模式260中的安全執(zhí)行盒,亦如圖5A和圖5B所示。這些軟件調(diào)用具有由安全執(zhí)行模式260中的安全執(zhí)行盒至不同安全硬件來源的通路,如下文所描述。圖4根據(jù)本發(fā)明的一個(gè)例子顯示一個(gè)改良的計(jì)算機(jī)系統(tǒng)100的一部分實(shí)施例的方框圖,該計(jì)算機(jī)系統(tǒng)100在南橋330中包括安全硬件370以及密碼機(jī)處理器305。南橋330包括安全硬件370、一中斷控制器(interruptcontroller,IC)365、通用串行總線接口邏輯134C和LPC接口邏輯(LPCbusinterfacelogic,LPCBIL)134D。中斷控制器365系與處理器102相連接。而通用串行總線接口邏輯134C系與一可任選通用串行總線集線器315相連接。LPC118通過LPC接口邏輯134D與南橋330相連接。密碼機(jī)處理器305也與LPC118相連接。密碼機(jī)處理器305內(nèi)的一內(nèi)存許可表310提供地址映像和/或內(nèi)存范圍容許信息。在一非揮發(fā)內(nèi)存中可包括內(nèi)存許可表310?;据斎?輸出系統(tǒng)(BIOS)355,即某種存儲(chǔ)器(只讀存儲(chǔ)器或閃存(flashmemory)為較佳),與密碼機(jī)處理器305相連接。南橋330中的安全硬件370為可操作以提供系統(tǒng)管理中斷的中斷請(qǐng)求至處理器102的中斷控制器365。安全硬件370也可與密碼機(jī)處理器305相互作用?;据斎?輸出系統(tǒng)(BIOS)355的訪問路徑是安排通過密碼機(jī)處理器305。密碼機(jī)處理器305設(shè)置用以接受和傳送至基本輸入/輸出系統(tǒng)(BIOS)355的訪問請(qǐng)求。因此,密碼機(jī)處理器305可理解基本輸入/輸出系統(tǒng)(BIOS)305的地址映像。根據(jù)本發(fā)明的一個(gè)例子,安全硬件370使計(jì)算機(jī)系統(tǒng)100成為在圖3中所顯示的安全執(zhí)行盒260的一個(gè)實(shí)施例。需注意的是,中斷控制器365可被包括在處理器而不是在南橋330。中斷控制器365也可被視作為一個(gè)分離單元或者是與計(jì)算機(jī)系統(tǒng)100的另一部分相關(guān)。另外也需注意的是,LPC118的操作可與1997年9月29日的已知低接腳計(jì)數(shù)接口規(guī)格修訂版1.0相符合。另外,可與LPCBIL134D相連接的通用串行總線接口邏輯134C是許多常見在一個(gè)橋接器中與不同總線接口邏輯相連接的技術(shù)之一。圖5A和圖5B是根據(jù)本發(fā)明的各種例子顯示包括安全硬件370的南橋330的實(shí)施例的方框圖。在圖5A中,南橋330A包括安全硬件370A和中斷控制器365。安全硬件370A包括子裝置,如SMM訪問控制器402A和控制邏輯420A。這些子裝置被稱作計(jì)算機(jī)系統(tǒng)100的安全硬件或安全資產(chǎn)。SMM訪問控制器402A包括SMM訪問過濾器410、信箱隨機(jī)存取內(nèi)存415和SMM啟動(dòng)器425A。如圖5A所示,控制邏輯420與SMM訪問控制器402A的控制操作和SMM啟動(dòng)器425A相連接。對(duì)安全硬件370A的輸入和輸出(I/O)通過SMM訪問過濾器410與控制邏輯420A。SMM訪問控制器402A包括SMM訪問過濾器410,此系設(shè)置以為安全硬件370A內(nèi)的子裝置接收輸入請(qǐng)求。當(dāng)計(jì)算機(jī)系統(tǒng)100在SMM時(shí),SMM訪問過濾器系設(shè)置來傳遞對(duì)控制邏輯420A和/或目標(biāo)子裝置的訪問請(qǐng)求(如讀取和寫入)。當(dāng)計(jì)算機(jī)系統(tǒng)100不是在SMM時(shí),SMM訪問過濾器則系設(shè)置為以一預(yù)定值對(duì)所有訪問請(qǐng)求作出響應(yīng),如所有均以'r響應(yīng)。SMM訪問控制器402A也包括信箱隨機(jī)存取內(nèi)存415。在一個(gè)實(shí)施例中,信箱隨機(jī)存取內(nèi)存415包括兩排隨機(jī)存取內(nèi)存,舉例而言每個(gè)均具有512個(gè)字節(jié),用以傳遞參數(shù)進(jìn)入并離開安全執(zhí)行盒260。經(jīng)傳遞進(jìn)入或離開安全硬件370所包括的子裝置的參數(shù)在信箱隨機(jī)存取內(nèi)存415中被交換。一排隨機(jī)存取內(nèi)存415(—目錄)在大多數(shù)計(jì)算機(jī)系統(tǒng)的多數(shù)操作模式中是只能被寫入的。因此,經(jīng)傳遞進(jìn)入安全硬件370所包括的子裝置的參數(shù)可被寫進(jìn)目錄中。在所選擇的操作模式期間(如SMM),目錄可容許讀取和寫入訪問。另一排隨機(jī)存取內(nèi)存415,一外接信息盒,在大多數(shù)計(jì)算機(jī)系統(tǒng)的多數(shù)操作模式中是只可讀取的。因此,從安全硬件370所包括的子裝置收到的參數(shù)便可從外接信息盒中被讀取。在所選擇的操作模式(安全模式更佳)期間,如SMM,外接信息盒可容許讀取和寫入訪問。SMM啟動(dòng)器425A有助于提供一方便方法以請(qǐng)求計(jì)算機(jī)系統(tǒng)100進(jìn)入SMM。一信號(hào)可越過請(qǐng)求(REQ)線被提供給SMM啟動(dòng)器425A。信號(hào)應(yīng)該在SMM內(nèi)存中提供跳轉(zhuǎn)位置的一指示。SMM啟動(dòng)器425A系設(shè)置以越過SMM請(qǐng)求(SMMREQ)線對(duì)SMM產(chǎn)生一請(qǐng)求,例如通過傳遞一個(gè)系統(tǒng)管理中斷#(SMI#)至中斷控制器365。SMM啟動(dòng)器425A也設(shè)置用以通知控制邏輯420A該對(duì)SMM的請(qǐng)求已經(jīng)收到并傳送至中斷控制器365。圖5B中,南橋330B包括安全硬件370B。中斷控制器365并不是南橋330B的一部份。安全硬件370B包括一SMM訪問控制器402B和控制邏輯420B。SMM訪問控制器402B包括SMM訪問過濾器41O和信箱隨機(jī)存取內(nèi)存415。一SMM啟動(dòng)注冊(cè)器425B不是南橋330B的一部份。如圖5B所示,控制邏輯420B系與S畫訪問控制器402B的控制操作相連接。對(duì)安全硬件370B的輸入和輸出(1/0)信號(hào)系通過SMM訪問過濾器410并安排經(jīng)過控制邏輯420B。控制邏輯420B也因相連接而從SMM啟動(dòng)注冊(cè)器425B得到對(duì)SMM請(qǐng)求的一指示。SMM訪問控制器402B包括SMM訪問過濾器410,而SMM訪問過濾器410設(shè)置為安全硬件370B內(nèi)的子裝置接受輸入請(qǐng)求。當(dāng)計(jì)算機(jī)系統(tǒng)IOO是在SMM時(shí),SMM訪問過濾器被設(shè)置用以通過對(duì)控制邏輯420B和/或目標(biāo)子裝置的訪問請(qǐng)求(如讀取和寫入)。當(dāng)計(jì)算機(jī)系統(tǒng)100不是在SMM時(shí),SMM訪問過濾器被設(shè)置用以利用一預(yù)定值對(duì)所有訪問請(qǐng)求作出響應(yīng),如所有均以'l'響應(yīng)。SMM訪問控制器402B也包括信箱隨機(jī)存取內(nèi)存415,如上述的圖5A所示。SMM啟動(dòng)注冊(cè)器425B可有助于提供一種方便方法以請(qǐng)求計(jì)算機(jī)系統(tǒng)100進(jìn)入SMM,信號(hào)越過請(qǐng)求(REQ)線被提供給SMM啟動(dòng)注冊(cè)器425B。一信號(hào)應(yīng)該在SMM內(nèi)存中提供跳轉(zhuǎn)位置的一個(gè)指示。該SMM啟動(dòng)注冊(cè)器425B被設(shè)置用以提供指示至控制邏輯420B??刂七壿?20B被設(shè)置用以越過SMM請(qǐng)求(SMMREQ)線而對(duì)SMM生成一個(gè)請(qǐng)求,例如通過傳遞一個(gè)系統(tǒng)管理中斷#至中斷控制器365。需注意的是,在圖5A的實(shí)施例中,SMM啟動(dòng)器425A包括內(nèi)部邏輯以處理SMM請(qǐng)求。在圖5B中的實(shí)施例,SMM啟動(dòng)注冊(cè)器425B依賴控制邏輯420B來處理SMM請(qǐng)求。也需注意的是,SMM啟動(dòng)器425A是安全硬件370A的一部分,而SMM啟動(dòng)注冊(cè)器425B不是安全硬件370B的一部分。圖6根據(jù)本發(fā)明的一個(gè)例子顯示包括安全硬件370C的南橋330C的一個(gè)實(shí)施例的方框圖。如圖所示,安全硬件370C包括子裝置,舉例而言如SMM訪問控制器402、控制邏輯420、TCO計(jì)數(shù)器430、便箋式隨機(jī)存取內(nèi)存440,隨機(jī)數(shù)產(chǎn)生器455、安全系統(tǒng)(或SMM)管理寄存器470、OAR(復(fù)位開啟,OpenAtReset)鎖450以及OAR過荷寄存器445。SMM訪問控制器402包括一個(gè)或更多的在SMM訪問過濾器410內(nèi)的訪問鎖460。SMM訪問控制器402的一些實(shí)施例的特征與控制邏輯420被描述于上文的圖5A和圖5B。在圖6所顯示的SMM訪問控制器402的實(shí)施例中包括一個(gè)或更多的在SMM訪問過濾器410之內(nèi)的訪問鎖460。這些訪問鎖460提供防止(或鎖住)并允許(或開鎖)訪問在安全硬件370C內(nèi)的一個(gè)或更多裝置的方法。在圖10A、圖10B和圖10C中展示了一個(gè)或更多的訪問鎖460的各種實(shí)施例,并提供了相關(guān)的描述。在一個(gè)實(shí)施例中,訪問鎖460是在復(fù)位時(shí)開啟(OAR),容許基本輸入/輸出系統(tǒng)(BIOS)軟件訪問安全硬件370。此時(shí)在調(diào)用啟動(dòng)區(qū)段程序代碼前基本輸入/輸出系統(tǒng)(BIOS)軟件即關(guān)閉訪問鎖460,如圖2A的方框154中顯示。在各種實(shí)施例中,這些訪問鎖460可由軟件或者硬件打開以訪問進(jìn)入安全硬件370。舉例而言,這些訪問鎖460可由來自中斷控制器365或處理器102或控制邏輯420的信號(hào)所打開。這些訪問鎖460也可響應(yīng)系統(tǒng)管理中斷弁或響應(yīng)處理器進(jìn)入102SMM而被打開。這些訪問鎖460上的附加信息可從下述的圖9A、圖9B與圖9C的一個(gè)或更多的方法900A至900C而獲得。TCO計(jì)數(shù)器(或定時(shí)器)430可包括一可編程定時(shí)器,舉例而言如一倒數(shù)定時(shí)器,用以偵査計(jì)算機(jī)系統(tǒng)100的鎖固狀態(tài)。鎖固狀態(tài)可定義為計(jì)算機(jī)系統(tǒng)IOO的一種狀態(tài),其中一個(gè)或更多的子系統(tǒng)或部件不對(duì)超過一預(yù)定時(shí)間的輸入信號(hào)作出響應(yīng)。輸入信號(hào)可包括來自計(jì)算機(jī)系統(tǒng)IOO內(nèi)部或外部的信號(hào),舉例而言來自用戶輸入裝置(如鍵盤、鼠標(biāo)、軌跡球、生物測(cè)定裝置等等)。也需注意的是,鎖固狀態(tài)本質(zhì)上也許是軟件或硬件。根據(jù)本發(fā)明的各種例子,TCO計(jì)數(shù)器430可在SMM中設(shè)計(jì)程序和從中讀取。TCO計(jì)數(shù)器430較理想地被編程設(shè)計(jì)成具備比退出(Kick-out)定時(shí)器407的缺省持續(xù)時(shí)間更小的數(shù)值。在一個(gè)實(shí)施例中,TCO定時(shí)器430在TCO定時(shí)器430的第一次時(shí)間期滿后立即產(chǎn)生一個(gè)系統(tǒng)管理中斷弁,然后TCO定時(shí)器430在TCO定時(shí)器430后續(xù)的第二次時(shí)間期滿后對(duì)計(jì)算機(jī)系統(tǒng)產(chǎn)生一個(gè)復(fù)位信號(hào)。在一個(gè)實(shí)施例中,當(dāng)計(jì)算機(jī)系統(tǒng)不是SMM下時(shí),可由計(jì)算機(jī)系統(tǒng)100和在計(jì)算機(jī)系統(tǒng)100中運(yùn)作的軟件訪問TCO定時(shí)器430,以使計(jì)算機(jī)系統(tǒng)100從鎖固狀態(tài)中恢復(fù)。在另一個(gè)實(shí)施例中,TCO定時(shí)器430均可被在SMM之中或之外的計(jì)算機(jī)系統(tǒng)100所訪問。便箋式隨機(jī)存取內(nèi)存440包括的一個(gè)或更多的內(nèi)存區(qū)塊僅當(dāng)計(jì)算機(jī)系統(tǒng)100在某些操作模式中時(shí)有效,舉例而言如SMM。也需考慮的是,安全硬件370的其它子裝置也可將便箋式隨機(jī)存取內(nèi)存440視作為一私有的內(nèi)存。便箋式隨機(jī)存取內(nèi)存440的一個(gè)實(shí)施例包括1千字節(jié)的內(nèi)存,雖然其它數(shù)量的內(nèi)存也可考慮。在一個(gè)實(shí)施例中,便箋式隨機(jī)存取內(nèi)存對(duì)所有或大多數(shù)計(jì)算機(jī)系統(tǒng)100在復(fù)位時(shí)是打開的,然而在另一個(gè)實(shí)施例中,當(dāng)計(jì)算機(jī)系統(tǒng)在啟動(dòng)時(shí),便箋式隨機(jī)存取內(nèi)存是難以訪問的。隨機(jī)數(shù)字產(chǎn)生器(randomnumbergenerator,RNG)455被設(shè)置用以在一預(yù)定的范圍內(nèi)提供具有一些位的一隨機(jī)數(shù)字。在一個(gè)實(shí)施例中,具有1到32位長(zhǎng)度的一新隨機(jī)數(shù)字提供以響應(yīng)對(duì)一隨機(jī)數(shù)字的請(qǐng)求。需注意的是,考慮到安全性增加和簡(jiǎn)化硬件設(shè)計(jì)限制,對(duì)軟件訪問隨機(jī)數(shù)字產(chǎn)生器的限制訪問(如僅可在SMM之中)可有助于迫使軟件通過一標(biāo)準(zhǔn)應(yīng)用程序接口(applicationprogramminginterface,API)訪問隨機(jī)數(shù)字產(chǎn)生器。復(fù)位開啟鎖450可包括多個(gè)內(nèi)存單元(如寄存器),該內(nèi)存單元包括相關(guān)程序位(或鎖固位)鎖住用以儲(chǔ)存基本輸入/輸出系統(tǒng)(BIOS)信息或其它數(shù)據(jù)的內(nèi)存(或內(nèi)存組),例如圖7A與圖7B所示的基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355和SMM只讀存儲(chǔ)器550。通過例子說明,每一個(gè)內(nèi)存單元都可具有與其相關(guān)的三個(gè)鎖固位。在一個(gè)實(shí)施例中,四個(gè)8位寄存器可為每一個(gè)512KB只讀存儲(chǔ)器頁儲(chǔ)存這些鎖固位,而一個(gè)寄存器則用于每二個(gè)64KB數(shù)據(jù)段。對(duì)于四個(gè)寄存器的十六個(gè)區(qū)塊,只讀存儲(chǔ)器的最大值可鎖住8MB字節(jié)。尋址可如下所示64KB數(shù)據(jù)段寄存器地址0,1寄存器oFFBx,E000h2,3寄存器lFFBx,E001h4,5寄存器2FFBx,E002h6,7寄存器3FFBx,E003h每一個(gè)物理只讀存儲(chǔ)器芯片可包括四個(gè)識(shí)別接腳(ID[3力]),稱為約束接腳。這些約束接腳可用來組成十六個(gè)每個(gè)64KB的空間。在地址中的'X'可表示這些約束接腳的譯碼或反轉(zhuǎn)。來自復(fù)位開啟鎖450的鎖固寄存器可包括寄存器\位7OAR鎖6:43OAR鎖2:0反轉(zhuǎn)數(shù)據(jù)段l反轉(zhuǎn)數(shù)據(jù)段o寄存器l反轉(zhuǎn)數(shù)據(jù)段3反轉(zhuǎn)數(shù)據(jù)段2寄存器2反轉(zhuǎn)數(shù)據(jù)段5反轉(zhuǎn)數(shù)據(jù)段4寄存器3反轉(zhuǎn)數(shù)據(jù)段7反轉(zhuǎn)數(shù)據(jù)段6在一個(gè)實(shí)施例中,一位控制寫入的訪問,一位控制讀取的訪問,而一位防止另外兩位改變。在一個(gè)實(shí)施例中,一旦設(shè)定鎖固位(亦即鎖固狀態(tài)),寫入訪問位與讀取訪問位是無法重新程序設(shè)計(jì)的,直到內(nèi)存收到一個(gè)復(fù)位信號(hào)。每個(gè)寄存器的設(shè)計(jì)布局可能包括<table>tableseeoriginaldocumentpage16</column></row><table>顯示于圖6中的安全硬件370C的實(shí)施例也包括復(fù)位開啟鎖變更寄存器445。復(fù)位開啟鎖變更寄存器445提供一機(jī)制用以允許(或開鎖)和阻斷(或鎖住)對(duì)安全硬件370C內(nèi)一個(gè)或更多裝置的訪問。復(fù)位開啟鎖變更寄存器445也提供一機(jī)制用以變更訪問鎖460。在一個(gè)實(shí)施例中,復(fù)位開啟鎖變更寄存器445包括一個(gè)第一指示器將會(huì)忽略訪問鎖460,而由這些訪問鎖460鎖住的對(duì)安全硬件的訪問不是總是可用便是從不可使用(視執(zhí)行情形)。復(fù)位開啟鎖變更寄存器445也可包括一第二指示器,而第一指示器的狀態(tài)可能會(huì)被改變亦可能不會(huì)。如果第二指示器顯示該第一指示器可能不被改變,則包括復(fù)位開啟鎖變更寄存器445的裝置最好需要復(fù)位以為將被改變的第二指示器。換句話說,該第二指示器應(yīng)是復(fù)位時(shí)開啟為較佳,而與訪問鎖460的一個(gè)實(shí)施例相類似。包括使用這些訪問鎖460和/或復(fù)位開啟鎖變更指示器的方法將在下文中描述并參考圖9A至圖9F。一個(gè)或更多的訪問鎖460的各種實(shí)施例將顯示于圖10A至圖10C中,并伴隨相關(guān)的說明,而在圖10D中展示復(fù)位開啟鎖變更寄存器445的一個(gè)實(shí)施例并伴隨相關(guān)的說明。在一個(gè)實(shí)施例中的啟動(dòng)鎖460為復(fù)位時(shí)開啟(OAR),允許基本輸入/輸出系統(tǒng)(BK)S)軟件訪問安全硬件370。此時(shí)基本輸入/輸出系統(tǒng)(BIOS)軟件在調(diào)用啟動(dòng)區(qū)段程序代碼之前關(guān)閉訪問鎖460如圖2A中的方框154所示。在各種實(shí)施例中,這些訪問鎖460可由軟件或硬件所開啟以訪問安全硬件370。舉例而言,這些訪問鎖460可被來自中斷控制器365或處理器102或控制邏輯420的一信號(hào)所開啟。這些訪問鎖460可通過響應(yīng)系統(tǒng)管理中斷弁或響應(yīng)處理器102進(jìn)入SMM而被開啟。在(這些)訪問鎖上460的附加信息可從圖9A至圖9C中所顯示的一個(gè)或更多的方法900A至900C當(dāng)中而獲得。值得注意的是在一個(gè)實(shí)施例中,所有安全硬件370(和SMM啟動(dòng)注冊(cè)器425B)都在實(shí)時(shí)時(shí)鐘電池槽125內(nèi)。在其它實(shí)施例中,所選擇的安全硬件370的子裝置將從實(shí)時(shí)時(shí)鐘電池槽125中排除。在一個(gè)實(shí)施例中,只有一部份的便箋式隨機(jī)存取內(nèi)存440是在實(shí)時(shí)時(shí)鐘電池槽125內(nèi)而其它的部分則在該電池槽125外。舉例而言,在一個(gè)實(shí)施例中,信箱隨機(jī)存取內(nèi)存415是在實(shí)時(shí)時(shí)鐘電池槽125之外。圖7A與圖7B是根據(jù)本發(fā)明的各種例子顯示擴(kuò)展基本輸入/輸出系統(tǒng)(BIOS)安全的實(shí)施例。在圖7A中,基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355和SMM只讀存儲(chǔ)器550系與LPC118相連接。如圖所示,包括一密碼610A的一密碼機(jī)處理器305連接于基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355和LPC之間118。在圖7B中,擴(kuò)展的基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器555系與LPC118相連接。擴(kuò)展的基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器555包括基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355與SMM只讀存儲(chǔ)器550。基本輸入/輸出系統(tǒng)(BIOS)的只讀存儲(chǔ)器355在計(jì)算機(jī)系統(tǒng)100中的內(nèi)存空間可包括從128KB至4兆字節(jié)的任何一種,并分成64KB數(shù)據(jù)段。SMM只讀存儲(chǔ)器550的附加一個(gè)或更多的4兆字節(jié)內(nèi)存空間可通過一編頁碼機(jī)制而被尋址,舉例而言只讀存儲(chǔ)器存儲(chǔ)范圍空間的第二頁在分離芯片之內(nèi)且由一組外加識(shí)別選擇接腳(identifcationselect,IDSEL)所選擇?;据斎?輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355內(nèi)存空間和SMM只讀存儲(chǔ)器550內(nèi)存空間的每一個(gè)數(shù)據(jù)段都可被鎖住,并在復(fù)位時(shí)開啟。在一個(gè)實(shí)施例中,訪問保護(hù)機(jī)制(即訪問鎖)并非實(shí)施于基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355或SMM只讀存儲(chǔ)器550,而是在例如安全硬件370C中的南橋330C,如圖6所示。在一個(gè)實(shí)施例中,基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355包括4兆字節(jié)的內(nèi)存空間。對(duì)基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355內(nèi)存空間的讀取訪問在任何時(shí)候都可能是不受限制的。在基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355內(nèi)存空間上的寫入鎖可以是復(fù)位時(shí)開啟并在LPC145上的32位地址空間中覆蓋內(nèi)存空間從FFFF,F(xiàn)FFFh到FFCO,0000ho在一個(gè)實(shí)施例中,密碼機(jī)處理器305是一種包括專業(yè)密碼硬件的專業(yè)處理器。在另一個(gè)實(shí)施例中,密碼機(jī)處理器305包括與密碼固件或軟件一同程序設(shè)計(jì)成的一般用途處理器。在另一個(gè)實(shí)施例中,密碼機(jī)處理器305包括利用專業(yè)密碼硬件修改的一個(gè)一般用途處理器。接著,考慮到其它實(shí)施例。舉例而言,基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355可與LPC118相連接,而密碼機(jī)處理器305可相連接于SMM只讀存儲(chǔ)器550和LPC118之間。同理而言,密碼機(jī)處理器305可相連接于擴(kuò)展的基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器555和LPC118之間。圖8A與圖8B根據(jù)本發(fā)明的各種例子分別顯示用于安全SMM操作的一個(gè)基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355與SMM操作只讀存儲(chǔ)器550的實(shí)施例的方框圖。如圖8A所示,基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器355可包括數(shù)據(jù)儲(chǔ)存器608B,一密碼610C和私有內(nèi)存606。如圖8B所示,SMM只讀存儲(chǔ)器550可被分成多個(gè)SMM只讀存儲(chǔ)器區(qū)塊615至617、一儲(chǔ)存密碼610D、多個(gè)公用只讀存儲(chǔ)器區(qū)塊625至30、一個(gè)或更多的反轉(zhuǎn)只讀存儲(chǔ)器區(qū)塊635以及一個(gè)或更多的寄存器640。多個(gè)SMM只讀存儲(chǔ)器區(qū)塊615至617可包括一SMM只讀存儲(chǔ)器0區(qū)塊615、一SMM只讀存儲(chǔ)器1區(qū)塊616和一SMM只讀存儲(chǔ)器2區(qū)塊617。多個(gè)公用只讀存儲(chǔ)器區(qū)塊625至30可包括一公用只讀存儲(chǔ)器區(qū)塊0625和一公用只讀存儲(chǔ)器區(qū)塊l630。訪問權(quán)利、鎖固狀態(tài)和在LPC118空間中的32位地址范圍的一個(gè)實(shí)施例在此以表格形式描述。ROM區(qū)塊讀訪問SMMROMOSMM615OnlySMMROM1SMM616OnlySMMROM2S躍618Only公共0非反轉(zhuǎn)620公共1非反轉(zhuǎn)630反轉(zhuǎn)N/A635寄存器N/A640在表格地址范圍中的'X'可表示約束接腳譯碼或其反轉(zhuǎn)。在一個(gè)實(shí)施例中,表格中每一個(gè)只讀存儲(chǔ)器區(qū)塊615至617和625至630的尺寸是64KB。在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)可支持?jǐn)U展的基本輸入/輸出系統(tǒng)(BIOS)只讀存儲(chǔ)器555儲(chǔ)存至8兆字節(jié),分成每一個(gè)包含512KB的十六頁。在另一個(gè)實(shí)施例中,內(nèi)存地址范圍從FFBx,F(xiàn)FFFh至FFBx,0000h,并包括多個(gè)SMM只讀存儲(chǔ)器的區(qū)塊615至617、多個(gè)公用只讀存儲(chǔ)器區(qū)塊625至630和一個(gè)或更多的寄存器640。一個(gè)或更多的反轉(zhuǎn)只讀存儲(chǔ)器區(qū)塊635可用于將來的擴(kuò)展。若有需要時(shí)一個(gè)或更多的寄存器640可儲(chǔ)存附加數(shù)據(jù)。圖9A至圖9G是根據(jù)本發(fā)明的各種例子顯示試圖訪問可被鎖住的安全硬件370的方法900A至900G的實(shí)施例的流程圖,圖9A顯示以一鎖住安全硬件370的方法900A作為一啟動(dòng)(或冷啟動(dòng))過程的一部分。圖9B顯示以一解鎖和后續(xù)鎖住安全硬件370的方法900B作為再次啟動(dòng)(或者熱啟動(dòng))過程的一部分。圖9C顯示用以檢査鎖住或解鎖安全硬件370的權(quán)利和對(duì)使權(quán)利無法改變的變更位進(jìn)行檢查的一方法900C。圖9D顯示當(dāng)計(jì)算機(jī)系統(tǒng)100不在SMM時(shí),試圖使用安全硬件370的一方法900D。圖9E顯示用以檢査和/或設(shè)定鎖于復(fù)位時(shí)間啟訪問鎖460上并對(duì)使權(quán)利無法改變的變更位進(jìn)行檢査的方法900E。圖9F顯示當(dāng)計(jì)算機(jī)系統(tǒng)100寫鎖寫一次從不刪除None在SMM寫一次從不刪除在SMM寫N/AN/A地址范圍FFBx,1FFFh:FFBx,OOOOhFFBx,3FFFh:FFBx,2000hFFBx,5FFFh:FFBx,4000hFFBx,9FFFh:FFBx,8000hFFBx,BFFFh:FFBx,A000hFFBx,DFFFh:FFBx,COOOhFFBx,F(xiàn)FFFh:FFBx,EOOOh在SMM時(shí),用以解鎖和后續(xù)鎖住安全硬件370的一方法900F。圖9G顯示當(dāng)計(jì)算機(jī)系統(tǒng)100在SMM時(shí),檢査解鎖或后續(xù)鎖住安全硬件370的權(quán)利的一方法900G。請(qǐng)參考圖9A,方法900A包括由處理器執(zhí)行來自隨機(jī)存取內(nèi)存內(nèi)的SMM空間的基本輸入/輸出系統(tǒng)(BIOS)程序代碼指令,如方框920所示。由處理器所執(zhí)行的基本輸入/輸出系統(tǒng)(BIOS)程序代碼,執(zhí)行一啟動(dòng)自檢(POST),如方框925所示。方法900A包括訪問安全硬件370,如方框930所示。訪問計(jì)算機(jī)硬件370可啟動(dòng)安全硬件370的解鎖,如果安全硬件370不是以復(fù)位方式開啟的。對(duì)安全硬件370的訪問可以通過基本輸入/輸出系統(tǒng)(BIOS)程序代碼或是在計(jì)算機(jī)系統(tǒng)100中其它的裝置或子系統(tǒng),或從計(jì)算機(jī)系統(tǒng)100的外面(如果許可)。方法900A可自由選擇是否包括進(jìn)入基本輸入/輸出系統(tǒng)(BIOS)管理模式,如方框932所示?;据斎?輸出系統(tǒng)(BIOS)管理模式能允許例如遠(yuǎn)程啟動(dòng)指令,遠(yuǎn)程或安全許可以繼續(xù)啟動(dòng)序列,亦可允許其它遠(yuǎn)程操作或遠(yuǎn)程硬件訪問、設(shè)定或者可在啟動(dòng)選項(xiàng)之間或之中作選擇舉例而言像是硬件配置和/或操作系統(tǒng)或是其它的軟件選擇?;据斎?輸出系統(tǒng)(BIOS)程序代碼接著尋找附加基本輸入/輸出系統(tǒng)(BIOS)程序代碼,如從一視訊控制器、IDE控制器、小型計(jì)算機(jī)系統(tǒng)接口控制器等等,并顯示一啟動(dòng)信息屏幕,如方框935所示。舉例而言,視訊控制器基本輸A/輸出系統(tǒng)(BIOS)經(jīng)常在C000h被找至U,而IDE控制器基本輸入/輸出系統(tǒng)(BIOS)程序代碼則經(jīng)常在C800h被找到?;据斎?輸出系統(tǒng)(BIOS)程序代碼可執(zhí)行附加系統(tǒng)測(cè)試,例如一隨機(jī)存取內(nèi)存的內(nèi)存計(jì)數(shù)測(cè)驗(yàn),與一系統(tǒng)詳細(xì)目錄,包括確認(rèn)COM(串行)口與LPT(并)口,如方框940所示。基本輸入/輸出系統(tǒng)(BIOS)程序代碼也識(shí)別即插即用裝置和其它類似裝置,然后顯示已確認(rèn)裝置的一匯總畫面,如方框945所示。該方法包括鎖上訪問安全硬件的訪問鎖,如方框950所示?;据斎?輸出系統(tǒng)(BIOS)程序代碼或者計(jì)算機(jī)系統(tǒng)IOO中的另一個(gè)裝置或力量可關(guān)閉這些訪問鎖?;据斎?輸出系統(tǒng)(BIOS)程序代碼確認(rèn)啟動(dòng)位置和相對(duì)應(yīng)的啟動(dòng)區(qū)段,如方框955所示。啟動(dòng)位置可在一軟盤磁盤驅(qū)動(dòng)器、一硬盤磁盤驅(qū)動(dòng)器、一只讀型光盤(CDROM)、一遠(yuǎn)程位置等等。基本輸入/輸出系統(tǒng)(BIOS)程序代碼接著在啟動(dòng)位置調(diào)用啟動(dòng)區(qū)段程序代碼以使計(jì)算機(jī)系統(tǒng)啟動(dòng),例如利用一操作系統(tǒng),如方框960所示。請(qǐng)參考圖9B,方法900B包括打開安全硬件的訪問鎖,如方框915所示。處理器執(zhí)行來自隨機(jī)存取內(nèi)存中的SMM空間的基本輸入/輸出系統(tǒng)(BIOS)程序代碼指令,如方框920所示。計(jì)算機(jī)系統(tǒng)當(dāng)啟動(dòng)時(shí)在SMM下會(huì)訪問安全硬件370,如方框930所示。方法900B可選擇是否包括進(jìn)入一基本輸入/輸出系統(tǒng)(BIOS)管理模式,如方框932所示。基本輸入/輸出系統(tǒng)(BIOS)程序代碼接著尋找附加基本輸入/輸出系統(tǒng)(BIOS)程序代碼,如從一視訊控制器、IDE控制器、小型計(jì)算機(jī)系統(tǒng)接口控制器等等,并顯示一啟動(dòng)信息屏幕,如方框935所示。舉例而言,視訊控制器基本輸入/輸出系統(tǒng)(BIOS)經(jīng)常在C000h被找到,而IDE控制器基本輸入/輸出系統(tǒng)(BIOS)程序代碼則經(jīng)常在C800h被找到?;据斎?輸出系統(tǒng)(BIOS)程序代碼也識(shí)別即插即用裝置和其它類似裝置,然后顯示已確認(rèn)裝置的總結(jié)在畫面上,如方框945所示。基本輸入/輸出系統(tǒng)(BIOS)代碼鎖住安全硬件的訪問鎖,如方框950所示。該程序代碼確認(rèn)啟動(dòng)位置和相對(duì)應(yīng)的啟動(dòng)區(qū)段,如方框955所示。啟動(dòng)位置可在一軟盤磁盤驅(qū)動(dòng)器上、一硬盤磁盤驅(qū)動(dòng)器、一只讀型光盤(CDROM)、一遠(yuǎn)程位置等等?;据斎?輸出系統(tǒng)(BIOS)程序代碼接著在啟動(dòng)位置調(diào)用啟動(dòng)區(qū)段程序代碼以使計(jì)算機(jī)系統(tǒng)啟動(dòng),例如利用一操作系統(tǒng),如方框960所示。請(qǐng)參考圖9C,方法900C包括決定是否設(shè)置復(fù)位開啟鎖,在判定方框946中。判定方框946中的復(fù)位開啟鎖可與上述的圖6中的第一指示器相對(duì)應(yīng)。判定方框946中的復(fù)位開啟鎖也可與下文所述的圖10D中的設(shè)定復(fù)位開啟鎖變更位1050相對(duì)應(yīng)。如果所做出的決定是要設(shè)置復(fù)位開啟鎖,則根據(jù)一個(gè)實(shí)施例,到安全硬件370的所有通路將均被鎖住,如方框947所示。如果所做出的決定是不要設(shè)置復(fù)位開啟鎖,則方法900C會(huì)移至判定方框948。在判定方框948中,方法900C決定是否設(shè)置復(fù)位開啟鎖變更位。判定方框948中的復(fù)位開啟鎖變更位可與上述的圖6中的第二個(gè)指示器相對(duì)應(yīng)。判定方框948中的復(fù)位開啟鎖變更位也可也可與下文所述的圖10D中的設(shè)定變化復(fù)位開啟鎖變更位1055相對(duì)應(yīng)。如果所做出的決定是設(shè)置復(fù)位開啟鎖變更位,在判定方框948中,則根據(jù)一個(gè)實(shí)施例,將不能改變復(fù)位開啟鎖,之后復(fù)位開啟鎖將改變成被鎖在外面,如方框949所示。請(qǐng)參考圖9D,方法900D包括一處理器(如處理器102等等)在一個(gè)非SMM的模式中運(yùn)行,如方框904所示。如方框906所示,由處理器所處理的程序代碼試圖訪問安全硬件370的任何一部分,或其它需要進(jìn)行與訪問鎖460ll似的訪問鎖檢查的硬件。在判定方框907中,此方法進(jìn)行檢査以察看安全硬件370是否可使用。如果安全硬件370不可使用,在判定方框907中,方法900D退出或返回。如果安全硬件370在判定方框907是可使用的,則方法960D便訪問安全硬件370,如方框930所示。此方法可選擇是否關(guān)閉通往安全硬件的訪問鎖(如有必要),如方框950所示。請(qǐng)參考圖犯,方法900E包括圖9D中的判定方框907的一個(gè)實(shí)施例。方法900E包括檢査是否對(duì)所有安全硬件的訪問是被鎖定的(即被禁止),在判定方框990中。如果對(duì)所有安全硬件的訪問是被鎖定的,則在判定方框990中方法900E將移動(dòng)至方框992。如果對(duì)所有安全硬件的訪問并未被鎖定,則方法900E將移至判定方框991。在判定方框991中,方法900E將檢査是否所請(qǐng)求的安全硬件已被鎖定(例如分別使用一個(gè)或更多的訪問鎖)。如果所請(qǐng)求的安全硬件被鎖定,則方法960E轉(zhuǎn)到判定方框992。如果所請(qǐng)求的安全硬件未被鎖定,則方法960E將直接轉(zhuǎn)至方框993。在判定方框992中,方法960E檢査所請(qǐng)求安全硬件訪問鎖是否可能被改變,例如解鎖。如果不能改變所請(qǐng)求安全硬件的訪問鎖,則在判定方框992中方法900中止訪問安全硬件。如果能夠改變所請(qǐng)求安全硬件的訪問鎖,則在判定方框992中方法卯0E將請(qǐng)求授權(quán),例如從一客戶端,以改變所請(qǐng)求安全硬件的訪問鎖,在判定方框993中。如果改變所請(qǐng)求安全硬件訪問鎖的授權(quán)沒提供,則方法900E將中止通往安全硬件的通路。如果提供了改變所請(qǐng)求安全硬件訪問鎖的授權(quán),則方法900E將轉(zhuǎn)至方框994并改變鎖以允許訪問請(qǐng)求安全硬件。需注意的是,任何授權(quán)方法均可用于判定方框993中。在
技術(shù)領(lǐng)域:
常見具有安全性質(zhì)的任何授權(quán)方法均可使用。請(qǐng)參考圖9F,方法900F包括由處理器下載程序代碼指令到隨機(jī)存取內(nèi)存記憶內(nèi)的SMM空間,如方框905所示。舉例而言,下載程序代碼指令到SMM空間內(nèi)可能產(chǎn)生一響應(yīng)以響應(yīng)系統(tǒng)管理中斷弁。用于安全硬件的訪問鎖如方框915所示是開啟的。這些訪問鎖的開啟可能是通過SMM程序代碼指令或是通過一硬件機(jī)制,或者二者一起。處理器處理來自隨機(jī)存取內(nèi)存記憶內(nèi)的SMM空間里的程序代碼指令,如方框920所示。方法900F包括訪問安全硬件370,如方框930所示。由于計(jì)算機(jī)系統(tǒng)是在SMM下且訪問鎖已經(jīng)被打開,如方框915所示,像所希望的那樣,安全硬件可用于大多數(shù)的計(jì)算機(jī)系統(tǒng)100或所有的子系統(tǒng)。方法900F包括關(guān)閉用于安全硬件370的訪問鎖,如方框950所示。處理器再加載以前的狀態(tài)并繼續(xù)運(yùn)行,如方框965所示。需注意的是,如方框920所示,SMM程序代碼指令的處理在如方框930所描述的動(dòng)作發(fā)生時(shí)可繼續(xù)運(yùn)行。更佳的做法是,如方框950所描述的動(dòng)作發(fā)生在如方框920所示的SMM程序代碼指令的處理已經(jīng)中止之后。請(qǐng)參考圖9G,方法900G包括由處理器下載程序代碼指令到隨機(jī)存取內(nèi)存內(nèi)的SMM空間,如方框905所示。舉例而言,下載程序代碼指令到SMM空間內(nèi)可產(chǎn)生一響應(yīng)以響應(yīng)一系統(tǒng)管理中斷弁。方法900G接著檢査安全硬件是否是可使用的,在判定方框907中。如果安全硬件是不可使用的,則在判定方框907中方法900G將中止訪問安全硬件。如果安全硬件是可使用的,則方法900G將繼續(xù)方框920。處理器執(zhí)行來自隨機(jī)存取內(nèi)存存儲(chǔ)范圍內(nèi)的SMM空間的程序代碼指令,如方框920所示。方法900F包括訪問安全硬件370,如方框930所示。當(dāng)計(jì)算機(jī)系統(tǒng)是在SMM模式下,而訪問鎖是打開的,如在判定方框907中所判定,則安全硬件可使用于大多數(shù)的計(jì)算機(jī)系統(tǒng)100或所有子系統(tǒng),如所希望的那樣。方法900G包括關(guān)閉對(duì)安全硬件370的訪問,如方框950所示。處理器再加載以前的狀態(tài)并繼續(xù)運(yùn)行,如方框965所示。需注意的是,如方框920所示,SMM程序代碼指令的處理在如方框930所描述的動(dòng)作發(fā)生時(shí)可繼續(xù)運(yùn)行。更佳的做法是,如方框950所描述的動(dòng)作發(fā)生在如方框920所示的SMM程序代碼指令的處理已經(jīng)中止之后。需注意的是,除了訪問鎖之外,安全硬件370的其它鎖定與解鎖處理都是可以使用的。方法900A至900G試圖擴(kuò)展至其它過程。為達(dá)到本發(fā)明的目的,計(jì)算機(jī)系統(tǒng)被視為具有兩個(gè)操作模式,分別為正常模式和SMM。啟動(dòng)階段是不在SMM下的,但是就定義而言他們應(yīng)被視為如SMM—樣值得信任,因此在這里被認(rèn)為相當(dāng)于SMM。這些啟動(dòng)程序代碼將設(shè)置和安排SMM如何工作。使SMM從啟動(dòng)程序代碼的可信任度得到可信任度。需考慮的是標(biāo)準(zhǔn)的啟動(dòng)順序可被改變。這種改變包括用戶可能有機(jī)會(huì)輸入?yún)?shù)的一種設(shè)定環(huán)境的改變。舉例而言,這些輸入?yún)?shù)可修改基本輸入/輸出系統(tǒng)(BIOS)程序代碼。多數(shù)設(shè)定環(huán)境在下載操作系統(tǒng)和以正常模式運(yùn)行之前被復(fù)位。這是一種交互式加載操作系統(tǒng)的一種維護(hù)模式的形式,而非正常模式的一部分。如所預(yù)期,這些訪問鎖將不會(huì)被設(shè)置于這種模式當(dāng)中。它會(huì)是啟動(dòng)過程的一部分并如同SMM般值得信任,雖然如果設(shè)定環(huán)境里遠(yuǎn)程訪問被允許時(shí)安全評(píng)估將會(huì)被使用。圖10A、圖10B和圖10C顯示圖6的訪問鎖460的實(shí)施例460A、460B和460C的方框圖。在圖10D中,則顯示圖6的復(fù)位開啟鎖變更寄存器455的一個(gè)實(shí)施例的方框圖。在圖10A所顯示的實(shí)施例460A中,一個(gè)或更多的訪問鎖460包括一隔離位寄存器1005。隔離位寄存器1005所儲(chǔ)存的位作為一旗標(biāo)(flag)可被設(shè)定或清除。在圖10B所顯示的實(shí)施例460B中,一個(gè)或更多的訪問鎖460包括二個(gè)或以上的隔離寄存器被設(shè)置用以儲(chǔ)存二個(gè)或以上的隔離位,以使安全硬件370之內(nèi)的所有裝置鎖住或解鎖。在隔離寄存器1005中所儲(chǔ)存的隔離位之外的附加位分別地容許用于特權(quán)的鎖住和解鎖的旗標(biāo)位。舉例而言,當(dāng)一讀取特權(quán)是解鎖時(shí),一寫入特權(quán)可被鎖住。在圖10C所顯示的實(shí)施例中,一個(gè)或更多的訪問鎖460包括一個(gè)或更多隔離寄存器1015A至1015N用于安全硬件370C內(nèi)的每一個(gè)裝置。在圖IOD中,復(fù)位開啟鎖變更445包括儲(chǔ)存至少一個(gè)復(fù)位開啟鎖變更位的復(fù)位開啟鎖變更寄存器1050,與儲(chǔ)存至少一個(gè)變化復(fù)位開啟鎖變更位的一變化復(fù)位開啟鎖變更寄存器1055。根據(jù)本發(fā)明的一個(gè)實(shí)施例,如果復(fù)位開啟鎖變更位未設(shè)定,則由這些訪問鎖460的設(shè)定來決定對(duì)安全硬件370的訪問。如果復(fù)位開啟鎖變更位已設(shè)定,則這些訪問鎖460被忽略并取決于實(shí)際執(zhí)行情況以支持任一個(gè)可使用或不可用的安全硬件370。較佳的做法是,除非復(fù)位開啟鎖變更位的改變已設(shè)定,否則此變更位的設(shè)定可能在SMM(或已授權(quán))之下被改變,而當(dāng)復(fù)位開啟鎖變更位已設(shè)定,此時(shí)安全硬件是不可用的。更佳的做法是,變化復(fù)位開啟鎖變更位成復(fù)位時(shí)開啟,類似于訪問鎖460的一個(gè)實(shí)施例,也可以各個(gè)不同的實(shí)施例的方式,與這些訪問鎖460—同在啟動(dòng)時(shí)被設(shè)置,如方框950所示。圖11A、圖11B、圖12和圖13根據(jù)本發(fā)明的各種例子顯示用以訪問存儲(chǔ)器的方法1100A、IIOOB、1110A,和1120的實(shí)施例的流程圖。圖11A根據(jù)本發(fā)明的一個(gè)例子顯示方法1100A的流程圖,其中在一安全裝置維持對(duì)一儲(chǔ)存裝置的安全訪問。圖11B根據(jù)本發(fā)明的一個(gè)例子顯示方法1IOOB的流程圖,其中一密碼機(jī)處理器維持對(duì)一內(nèi)存的安全訪問。圖12根據(jù)本發(fā)明的一個(gè)例子顯示方法1110A的流程圖,其中一防護(hù)裝置利用一質(zhì)疑-響應(yīng)鑒定規(guī)則對(duì)一儲(chǔ)存裝置提供安全訪問控制。圖B顯示方法1120的流程圖,其中一密碼被用于對(duì)一安全儲(chǔ)存裝置解鎖數(shù)據(jù)的訪問?;氐降?1A圖,方法1100A包括安全裝置用以接收相對(duì)于與安全裝置連接的存儲(chǔ)裝置的一個(gè)儲(chǔ)存位置的一個(gè)處理請(qǐng)求(方框1105A)。安全裝置提供該儲(chǔ)存裝置的訪問控制(方框1110A)。如方框1110A所示的訪問控制的一個(gè)實(shí)施例由圖11B所表示的方法1IOOB說明。根據(jù)方法1100A,安全裝置根據(jù)儲(chǔ)存裝置的地址映像映像在處理請(qǐng)求中的儲(chǔ)存位置(方框1115A)。安全裝置向儲(chǔ)存裝置提出處理請(qǐng)求(方框1120A)。在正常的環(huán)境下,儲(chǔ)存裝置將執(zhí)行所請(qǐng)求的處理(方框1125A)。在各種實(shí)施例中,與方法1100A相關(guān)的安全裝置可包括一密碼機(jī)處理器或設(shè)置用來為儲(chǔ)存裝置提供防護(hù)的一邏輯方框。儲(chǔ)存裝置可包括一電子儲(chǔ)存媒體像一內(nèi)存或一磁性或光學(xué)的儲(chǔ)存媒體像一硬盤機(jī)或一光學(xué)磁盤驅(qū)動(dòng)器。內(nèi)存可包括一隨機(jī)存取內(nèi)存、一只讀存儲(chǔ)器或一閃存。硬磁盤驅(qū)動(dòng)器或光學(xué)磁盤驅(qū)動(dòng)器可為固定式或可拆除式的。舉例而言,處理請(qǐng)求可包括一讀取請(qǐng)求、一寫入請(qǐng)求或者讀取和寫入請(qǐng)求的結(jié)合。需注意的是,在各種實(shí)施例中,內(nèi)存(或儲(chǔ)存裝置)可能進(jìn)一步地包括自己的安全硬件。回到圖11B,方法l100B包括密碼機(jī)處理器用以接收對(duì)于與密碼機(jī)處理器連接的儲(chǔ)存裝置的相關(guān)儲(chǔ)存位置的一個(gè)處理請(qǐng)求(方框1105B)。密碼機(jī)處理器提供對(duì)該儲(chǔ)存裝置的訪問控制(方框111OB)。如方框111OB所示的訪問控制的一個(gè)實(shí)施例由圖11B所表示的方框1100B說明。根據(jù)方法1100B,密碼機(jī)處理器根據(jù)儲(chǔ)存裝置的地址映像映像在處理請(qǐng)求中的儲(chǔ)存位置(方框1115B)。密碼機(jī)處理器向儲(chǔ)存裝置提出處理請(qǐng)求(方框1120B)。在正常的環(huán)境下,儲(chǔ)存裝置將執(zhí)行所請(qǐng)求的處理(方框1125B)?;氐綀D12,方法1110A包括安全裝置,該裝置判定對(duì)儲(chǔ)存位置而言一鎖是否在鎖區(qū)域置(方框1205)。也許儲(chǔ)存位置的處理請(qǐng)求已被接收。如果鎖并未鎖上(方框1210),方法1110A跨過鑒定部分。如果鎖己鎖上(方框1210),則安全裝置對(duì)儲(chǔ)存位置提出一質(zhì)疑(方框1215),此質(zhì)疑可能與儲(chǔ)存位置或與包括儲(chǔ)存位置的儲(chǔ)存裝置相關(guān)聯(lián)。質(zhì)疑可能是對(duì)處理請(qǐng)求的響應(yīng)。其次,安全裝置接收到對(duì)該質(zhì)疑的一回應(yīng)(方框1220)。安全裝置借著比較響應(yīng)與預(yù)期響應(yīng)以評(píng)估該響應(yīng)(方框1225)。如果評(píng)估是不正確的(方框1230),則此方法結(jié)束。如果評(píng)估是正確的(方框1230),則此方法繼續(xù)進(jìn)行安全裝置向儲(chǔ)存裝置提出處理請(qǐng)求(方框1235)。在各種實(shí)施例中,與方法1110A相關(guān)的安全裝置可包括一密碼機(jī)處理器或設(shè)置用來為儲(chǔ)存裝置提供防護(hù)的一邏輯方框。儲(chǔ)存裝置可包括一電子儲(chǔ)存媒體像一內(nèi)存或一磁性或光學(xué)的儲(chǔ)存媒體像一硬盤機(jī)或一光學(xué)磁盤驅(qū)動(dòng)器。內(nèi)存可包括一隨機(jī)存取內(nèi)存、一只讀存儲(chǔ)器或一閃存。硬磁盤驅(qū)動(dòng)器或光學(xué)磁盤驅(qū)動(dòng)器可為固定式或可拆除式的。舉例而言,處理請(qǐng)求可包括一讀取請(qǐng)求、一寫入請(qǐng)求或者讀取和寫入請(qǐng)求的結(jié)合。請(qǐng)參考圖B,方法1120包括儲(chǔ)存一密碼在儲(chǔ)存裝置中(方框1305)。儲(chǔ)存裝置可僅包括一實(shí)體裝置的一部份。儲(chǔ)存裝置本身可被
技術(shù)領(lǐng)域:
常見的任何儲(chǔ)存裝置具體化。方法1120也可包括保存存儲(chǔ)裝置中的數(shù)據(jù)(方框1310)和保存存儲(chǔ)裝置中的程序代碼(方框1315)。方法1120也可包括提供一鎖(如一個(gè)或多個(gè)鎖區(qū)域)以確保儲(chǔ)存在儲(chǔ)存裝置的數(shù)據(jù)或儲(chǔ)存裝置本身(方框1315)。需注意的是,上面所述方法1120的步驟(方框1305至1320)可在相當(dāng)接近的時(shí)間中被執(zhí)行,例如當(dāng)儲(chǔ)存裝置被制造、安裝或啟動(dòng)時(shí)。方法1120也包括讀取來自儲(chǔ)存裝置的密碼(方框1325),例如當(dāng)包括儲(chǔ)存裝置或連結(jié)至儲(chǔ)存裝置的計(jì)算機(jī)系統(tǒng)被開啟時(shí)。為了維持密碼的安全,密碼的讀取最好發(fā)生于儲(chǔ)存裝置在防護(hù)或可信任的架構(gòu)中之時(shí)。方法1120也可讀取來自儲(chǔ)存裝置的程序代碼(方框1330)。方法1120儲(chǔ)存密碼在一防護(hù)位置(方框1325)并也可儲(chǔ)存程序代碼于防護(hù)位置(方框1330)。如先前所述防護(hù)位置可位于SMM內(nèi)存空間中,或是在一安全內(nèi)存、寄存器或計(jì)算機(jī)系統(tǒng)100中的其它儲(chǔ)存位置,例如在處理器102中或南橋330中。在各種實(shí)施例中,與方法1120相關(guān)的儲(chǔ)存裝置可包括一電子儲(chǔ)存媒體像一內(nèi)存或一磁性或光學(xué)的儲(chǔ)存媒體像一硬盤機(jī)或一光學(xué)磁盤驅(qū)動(dòng)器。內(nèi)存可包括一隨機(jī)存取內(nèi)存、一只讀存儲(chǔ)器或一閃存。硬磁盤驅(qū)動(dòng)器或光學(xué)磁盤驅(qū)動(dòng)器可為固定式或可拆除式的。方法1120中可能描述了任何的處理請(qǐng)求如一讀取請(qǐng)求、一寫入請(qǐng)求或者讀取和寫入請(qǐng)求的結(jié)合。為達(dá)到本發(fā)明的目的,對(duì)只讀存儲(chǔ)器的參考將解釋成運(yùn)用閃存與其它本質(zhì)上非易失性的內(nèi)存類型。需注意的是,此處所提出的本發(fā)明的方法已利用流程圖說明,而流程圖的各種元素在各種實(shí)施例中皆可被省略或以不同次序執(zhí)行。也應(yīng)注意的是此處所提出的本發(fā)明的方法應(yīng)可適用于各種執(zhí)行的變化。上述本發(fā)明的一些例子可在硬件或軟件中執(zhí)行。因此,此處所提供的部分詳細(xì)描述會(huì)以硬件執(zhí)行過程的形式表示,也會(huì)以包含計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)裝置中內(nèi)存內(nèi)數(shù)據(jù)位的操作符號(hào)的軟件執(zhí)行過程的形式來表示。這些描述和說明是
技術(shù)領(lǐng)域:
中傳達(dá)其工作主旨至其它
技術(shù)領(lǐng)域:
中擅長(zhǎng)使用硬件和軟件人員的最有效方式。過程和運(yùn)作皆需要物理量的物理操作。而軟件中通常(雖然不一定)除了操作以外,這些實(shí)體量尚可利用電、磁或光學(xué)信號(hào)的形式被儲(chǔ)存、傳送、結(jié)合和比較。有時(shí)這已被證實(shí)是十分方便的,主要是因?yàn)檫@些信號(hào)常被用諸如位、數(shù)值、元素、符號(hào)、特性、名稱、數(shù)字或此類形式來表示。然而應(yīng)被牢記的是,所有這些名稱和類似名稱都是與物理量相關(guān)并僅為方便使用的符號(hào)。除非有特別描述或是在本發(fā)明中十分明顯易見,否則這些描述均屬電子裝置的行為和程序,操縱并轉(zhuǎn)變某種電子裝置內(nèi)以物理(電子、磁性或光學(xué))量?jī)?chǔ)存的數(shù)據(jù)以成為其它物理量表示的近似資料(或是在傳送或顯示裝置中)。表示此類描述的范例尚有"處理"、"計(jì)算機(jī)運(yùn)作"、"計(jì)算"、"判定"、"顯示"等等(并非僅局限于這些)。也需注意的是,本發(fā)明的軟件實(shí)施例子通常被編譯成程序儲(chǔ)存媒體的形式,或者以一些傳送媒介的形式被執(zhí)行。此類程序儲(chǔ)存媒體可能是磁性(例如軟、硬盤機(jī))或光學(xué)式(例如只讀式光盤"CDROM"),且為只讀或任意的訪問格式。同理,上述傳送媒介可能是雙絞電纜、同軸電纜、光纖或熟悉此技藝者知曉的其它合適傳送媒介。本發(fā)明的例子并不僅局限于上述提及的執(zhí)行例。上文僅描述本發(fā)明特別的實(shí)施例,本發(fā)明尚可修正且實(shí)施在不同的均等例子,例如熟悉此項(xiàng)技藝者明顯由本發(fā)明的指導(dǎo)發(fā)展出的均等方法,更進(jìn)一步而言,除了以下所述的申請(qǐng)專利范圍外,任何此處所提的詳細(xì)建構(gòu)或設(shè)計(jì)均不應(yīng)被視為對(duì)本專利范圍的解釋限制。因此,上文所揭露的特別實(shí)施例顯然是可被改變與修正的,而此類變動(dòng)均將被視為本發(fā)明的范圍,因此,下文的申請(qǐng)專利范圍將是前述發(fā)明所尋求的保護(hù)。雖然本發(fā)明易于作出各種修改及替代形式,但是圖示舉行的方式已詳細(xì)說明了其一些特定實(shí)施例。應(yīng)被了解的是,此處的特別實(shí)施例描述并非在使本發(fā)明限于所揭示特定形式,相反地,其用意是在涵蓋最后的申請(qǐng)專利范圍所界定的本發(fā)明范圍內(nèi)的所有修改、均等物及替代方式。權(quán)利要求1.一種操作一個(gè)計(jì)算機(jī)系統(tǒng)的方法,該方法至少包括以下步驟從一個(gè)第一裝置發(fā)出對(duì)一個(gè)內(nèi)存區(qū)域的內(nèi)存處理的一個(gè)請(qǐng)求;在一個(gè)第二裝置接收該內(nèi)存處理請(qǐng)求,該第二裝置不包括內(nèi)存區(qū)域或內(nèi)存區(qū)域內(nèi)容的拷貝;以及返回來自該第二裝置的響應(yīng)至發(fā)出該內(nèi)存處理請(qǐng)求的第一裝置。2.根據(jù)權(quán)利要求1所述的方法,其中返回來自該第二裝置的響應(yīng)的步驟包括在沒有內(nèi)存處理到達(dá)內(nèi)存區(qū)域的情況下中止內(nèi)存處理。3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括步驟:在沒有內(nèi)存處理到達(dá)內(nèi)存區(qū)域的情況下中止對(duì)內(nèi)存處理的請(qǐng)求。4.根據(jù)權(quán)利要求1所述的方法,其中第二個(gè)裝置包括一個(gè)相連在第一裝置和內(nèi)存區(qū)域之間的橋接器,其中返回來自該第二裝置的響應(yīng)至發(fā)出該內(nèi)存處理請(qǐng)求的第一裝置的步驟包括返回來自橋接器的回應(yīng)至發(fā)出該內(nèi)存處理請(qǐng)求的第一裝置。5.根據(jù)權(quán)利要求4所述的方法,其中返回來自該橋接器的回應(yīng)至發(fā)出該內(nèi)存處理請(qǐng)求的第一裝置的步驟包括在計(jì)算機(jī)系統(tǒng)運(yùn)行于第一運(yùn)行模式時(shí),響應(yīng)由該橋接器中的訪問過濾器以一根據(jù)內(nèi)存區(qū)域的內(nèi)存處理請(qǐng)求的接收的預(yù)定值。6.根據(jù)權(quán)利要求5所述的方法,其中從第一裝置發(fā)出對(duì)一內(nèi)存區(qū)域的內(nèi)存處理請(qǐng)求的步驟包括在內(nèi)存、只讀存儲(chǔ)器或閃存中從第一裝置發(fā)出對(duì)內(nèi)存區(qū)域的內(nèi)存處理請(qǐng)求。7.根據(jù)權(quán)利要求1所述的方法,其中該第一裝置包括安全硬件,其中在第二裝置接收對(duì)內(nèi)存處理的請(qǐng)求,而該第二裝置不包括內(nèi)存區(qū)域或內(nèi)存區(qū)域內(nèi)容的拷貝,此步驟包括在第一裝置的安全硬件中接收對(duì)內(nèi)存處理的請(qǐng)求;以及其中返回來自該第二裝置的回應(yīng)至發(fā)出該內(nèi)存處理請(qǐng)求的第一裝置,此步驟包括返回來自該安全硬件的響應(yīng)至發(fā)出該內(nèi)存處理請(qǐng)求的第一裝置。8.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括步驟在返回回應(yīng)之前讀取來自該第二裝置內(nèi)的存儲(chǔ)位置的第一數(shù)值,其中該第二裝置內(nèi)的內(nèi)存區(qū)域不同于內(nèi)存處理的內(nèi)存區(qū)域。全文摘要本發(fā)明針對(duì)存儲(chǔ)器區(qū)域提供外部鎖固機(jī)制的一種方法和系統(tǒng)。存儲(chǔ)器包括與基本輸入/輸出系統(tǒng)(BIOS)數(shù)據(jù)相組合的多個(gè)第一儲(chǔ)存位置和多個(gè)第二儲(chǔ)存位置。多個(gè)第二儲(chǔ)存位置包含僅在系統(tǒng)管理模式(SMM)可讀的多個(gè)第一區(qū)塊以及在SMM與除了SMM以外的至少一個(gè)操作模式可讀取的多個(gè)第二區(qū)塊。計(jì)算機(jī)系統(tǒng)包括一總線、與該總線相連接的一存儲(chǔ)器和與該總線相連接并通過總線訪問該存儲(chǔ)器的一裝置。該存儲(chǔ)器包括多個(gè)儲(chǔ)存位置,分成多個(gè)存儲(chǔ)器單元。該裝置包括一個(gè)或更多個(gè)鎖固結(jié)構(gòu),用以控制訪問一個(gè)或更多的多個(gè)存儲(chǔ)器單元。文檔編號(hào)G06F12/14GK101118583SQ20071000431公開日2008年2月6日申請(qǐng)日期2002年4月17日優(yōu)先權(quán)日2001年5月10日發(fā)明者D·E·古利克,F·D·韋伯,G·S·斯特勞金申請(qǐng)人:先進(jìn)微裝置公司