欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

確定環(huán)境變量在非易失性存儲器中的位置的制作方法

文檔序號:6623902閱讀:173來源:國知局
專利名稱:確定環(huán)境變量在非易失性存儲器中的位置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機系統(tǒng),更具體地說,涉及確定環(huán)境變量在非易失性存儲器中的位置。
背景技術(shù)
計算機系統(tǒng)可以包括多種類型的存儲器,其中的一些可以是非易失性存儲器,例如,非易失性隨機訪問存儲器(NVRAM)。非易失性存儲器可以存儲確定計算機系統(tǒng)中部件配置的環(huán)境變量(例如,網(wǎng)絡(luò)接口的波特率)。在一些計算機系統(tǒng)中,環(huán)境變量存儲在多個非易失性存儲單元中。每一個環(huán)境變量都與非易失性存儲單元中的名稱、數(shù)值和長度相關(guān)聯(lián)。因此,可能需要大量非易失性存儲器來存儲環(huán)境變量。此外,一些軟件應(yīng)用可能不能訪問存儲環(huán)境變量的多個非易失性存儲單元。

發(fā)明內(nèi)容
由計算機實現(xiàn)的、用于確定環(huán)境變量在非易失性存儲器中的位置的方法和系統(tǒng)針對這些問題中至少一些問題。在一些實施例中,所述系統(tǒng)包括;處理器;與所述處理器連接并且包含保存計算機系統(tǒng)配置的一個或多個環(huán)境變量的非易失性存儲器;以及與處理器連接的系統(tǒng)只讀存儲器(ROM)。所述系統(tǒng)ROM包含引導(dǎo)固件和標(biāo)識非易失性存儲器中一個或多個環(huán)境變量的位置的表。


現(xiàn)在,將參照附圖詳細說明本發(fā)明的示范的實施例,附圖中
圖1A示出按照本發(fā)明的實施例配置的系統(tǒng);圖1B示出按照本發(fā)明的實施例配置的非易失性存儲器;圖2A示出圖1的按照本發(fā)明實施例的非易失性存儲器的內(nèi)容;圖2B示出圖1的按照本發(fā)明另一個實施例的非易失性存儲器的內(nèi)容;圖3A示出圖1的按照本發(fā)明實施例的系統(tǒng)ROM的內(nèi)容;圖3B示出圖1的按照本發(fā)明另一個實施例的系統(tǒng)ROM的內(nèi)容;圖4示出按照本發(fā)明的實施例訪問環(huán)境變量的示范的過程;圖5示出按照本發(fā)明的實施例,圖1的系統(tǒng)的部件之間的相互作用。
具體實施例方式
在下面的描述和權(quán)利要求書中使用了某些術(shù)語,以便說明具體的系統(tǒng)部件。正如本專業(yè)的技術(shù)人員將明白的,計算機公司可能用不同名稱稱呼一個部件。本文檔不打算區(qū)別不同名稱的部件之間的差別,而是區(qū)別它們不同的功能。在以下的討論和權(quán)利要求書中,術(shù)語”包含”和”包括”用于一種可擴展形式,因此,應(yīng)該解釋為”包括,而不是局限于…”。同樣,術(shù)語”連接”的意思是指,或者是間接或者是直接的電氣連接。這樣,如果第一臺裝置與第二臺裝置連接,那么,所述連接可以是直接的電氣連接,或者通過其它裝置或部件的間接電氣連接。
術(shù)語”非易失性存儲器”是指包括各種類型的非易失性存儲器,例如,非易失性隨機訪問存儲器(NVRAM)、可擦可編程只讀存儲器(EPROM)、電可擦只讀存儲器(EEPROM)和基于電池的(battery backed)互補金屬氧化物半導(dǎo)體(BBCMOS)存儲器。此外,術(shù)語”環(huán)境變量”指保存計算機系統(tǒng)配置的二進制數(shù)據(jù)。
詳細說明以下討論針對本發(fā)明的各種實施例。雖然這些實施例中的一個或幾個可能是最優(yōu)的,但是,不應(yīng)當(dāng)把公開的實施例解釋為(或者用來)限制所述公開(包括權(quán)利要求書)的范圍。此外,本專業(yè)的技術(shù)人員將明白,以下說明具有廣泛的應(yīng)用,對任何實施例的討論僅僅是所述實施例的示范,而并不用來表示把所述公開(包括權(quán)利要求書)的范圍限制在所述實施例。
圖1示出按照本發(fā)明實施例配置的系統(tǒng)。如圖所示,系統(tǒng)100包括與一個或多個輸入/輸出(I/O)裝置(例如,顯示器104、鍵盤106和指示器108)連接的計算機102。計算機102包括處理器110、一個或多個存儲裝置112(稱作”存儲器”)和I/O接口114。I/O接口114便于I/O裝置104、106和108與計算機102之間的數(shù)據(jù)交換。存儲器112可以包括任何類型的易失性或非易失性存儲器(例如,系統(tǒng)只讀存儲器(ROM)116、非易失性存儲器118(稱作為”NV存儲器”)、隨機訪問存儲器(RAM)120以及硬盤驅(qū)動器122。非易失性存儲器118可以包括任何類型的非易失性存儲器(例如,非易失性隨機訪問存儲器(NVRAM)、可擦可編程只讀存儲器(EPROM)、電可擦只讀存儲器(EEPROM)和基于電池的互補金屬氧化物半導(dǎo)體(BBCMOS)存儲器)。雖然沒有專門示出,但是存儲器112可以存儲由處理器110運行的操作系統(tǒng)(OS)(例如,Microsoft Windows、UNIX和Solaris)。操作系統(tǒng)提供用戶與系統(tǒng)100的接口。如果需要,也可以包括其它硬件裝置(例如,存儲器控制器、圖形加速器和網(wǎng)絡(luò)接口)。系統(tǒng)100可以是合適的臺式計算機、膝上型計算機、服務(wù)器或其它類型的計算機系統(tǒng)。
圖1B示出按照本發(fā)明的至少一個實施例配置的非易失性存儲器118。非易失性存儲器118包括非易失性隨機訪問存儲(NVRAM)單元124、電可擦只讀存儲(EEPROM)單元126和基于電池的互補金屬氧化物半導(dǎo)體(BBCMOS)存儲單元128。存儲單元124、126和128可以是所需的任何尺寸。
計算機102通過存儲器子系統(tǒng)(未專門示出)可以訪問非易失性存儲器118。例如,可以通過包括IC間(I2C)總線的存儲器子系統(tǒng)訪問非易失性存儲器118。非易失性存儲器118相關(guān)聯(lián)的每一個存儲單元124、126和128可以連接到總線并被賦予唯一的總線標(biāo)識符。各個總線標(biāo)識符可以用來對存儲單元124、126和128中的每一個進行訪問。
圖2A示出按照本發(fā)明的至少一個實施例的非易失性存儲器118的至少一部分內(nèi)容。非易失性存儲器118包括與系統(tǒng)100中部件配置相關(guān)聯(lián)的環(huán)境變量202。環(huán)境變量202可以包括用于在斷電時保存系統(tǒng)100的狀態(tài)的二進制數(shù)據(jù)。這樣的數(shù)據(jù)可以表示序列號、用于與管理信息庫(MIB)協(xié)作的數(shù)據(jù)以及系統(tǒng)100的部件用來保存其配置和狀態(tài)的其他數(shù)據(jù)。
圖2B示出非易失性存儲器118的另一種配置。在所述另一種配置中,環(huán)境變量202駐留在非易失性存儲器118的兩個或兩個以上不同的部分204和206。部分204和206可以包括單獨的非易失性存儲單元。這樣,環(huán)境變量202可以存儲在多個不同的非易失性存儲單元中(例如,BBCMOS存儲單元和EEPROM存儲單元)。
圖3A示出按照本發(fā)明的至少一個實施例的系統(tǒng)ROM 116的至少一部分內(nèi)容。系統(tǒng)ROM 116包括基本輸入輸出系統(tǒng)(BIOS)302。所述BIOS 302可以包括用來運行和引導(dǎo)計算機102的軟件例程的基本集。引導(dǎo)過程可以使計算機102的部件初始化并執(zhí)行自我診斷(例如,斷電的自我測試(POST))。軟件例程能夠直接訪問和運行系統(tǒng)100的各部件(例如,硬盤驅(qū)動器122、顯示器104和鍵盤106)。
BIOS 302包括在引導(dǎo)過程期間建立變量表并將其初始化的變量表代碼304。當(dāng)處理器110執(zhí)行變量表代碼304時,變量表就被裝入存儲器(例如,RAM 120)中。表1列出了變量表的示范的布局。
表1示范的變量表的布局


所述示范的布局包括每個環(huán)境變量的以下四個字段變量名、位偏移、字節(jié)偏移和存儲器類型。存儲器類型字段標(biāo)識非易失性存儲器118的類型,所屬非易失性存儲器包括用變量名字段標(biāo)識的環(huán)境變量。存儲器類型的不完全清單可以是NVRAM、BBCMOS存儲器、EPROM和EEPROM。字節(jié)偏移和位偏移字段包含用存儲器類型字段標(biāo)識的非易失性存儲器中用變量名字段標(biāo)識的環(huán)境變量位置。這樣,變量表可以由BIOS 302用來確定環(huán)境變量202在非易失性存儲器118中的位置。如前所述,非易失性存儲器可以包括多個存儲單元,每個存儲單元被分配一個唯一的總線標(biāo)識符。存儲器類型字段可以與總線標(biāo)識符相關(guān)聯(lián),使得每一個環(huán)境變量能訪問合適的存儲單元。變量表可以包含每一個環(huán)境變量的或多或少的和/或不同的字段。例如,可以添加長度字段來表示存儲在非易失性存儲器中的環(huán)境變量的長度。
變量表代碼304包含對每一個環(huán)境變量的引用。一些環(huán)境變量可以定義為當(dāng)前可以或不可以使用的一般環(huán)境變量。一般環(huán)境變量起將來可能使用的環(huán)境變量的保持位的作用。表2說明了在執(zhí)行變量表代碼304后建立的并被裝入存儲器中的示范的環(huán)境變量表。
表2示范的變量表

上述示范的環(huán)境變量表包括三個環(huán)境變量EV1、EV2和GENERIC1。其中兩個環(huán)境變量,即EV1和GENERIC1存儲在公共存儲器類型中。存儲器類型字段可以包含包括在系統(tǒng)100中的各種非易失性存儲器類型的數(shù)字標(biāo)識符。例如,”1”可以表示EEPROM,”2”可以表示BBCMOS存儲器。如上所述,存儲器類型字段的值可以與存儲單元的總線標(biāo)識符相關(guān)聯(lián)。所述”字節(jié)偏移”字段可以包含由存儲器類型字段標(biāo)識的存儲器類型中起始字節(jié)偏移的數(shù)字表示。例如,EV2具有在BBCMOS存儲器中的5個字節(jié)的起始字節(jié)偏移。所述”位偏移”字段可以包含分別由存儲器類型和字節(jié)偏移字段標(biāo)識的存儲器類型和字節(jié)中的起始位偏移的數(shù)字表示。例如,EV1具有EEPROM第三字節(jié)中的0比特的起始位偏移,表示以按字節(jié)尺寸排列的數(shù)據(jù)的形式存儲的環(huán)境變量。這樣,可以通過檢查示范的變量表來確定環(huán)境變量EV1、EV2和GENERIC1在非易失性存儲器中的位置。尺寸字段可以包含非易失性存儲單元中由存儲器類型字段標(biāo)識的環(huán)境變量的尺寸。例如,環(huán)境變量GENERIC1可以包括EEPROM的1字節(jié)。
圖3B示出系統(tǒng)ROM 116的另一種配置。在所述另一種配置中,系統(tǒng)ROM116包括可擴展的固件接口(EFI)306和變量表代碼304。EFI306提供操作系統(tǒng)和平臺固件之間的接口。所述接口包括數(shù)據(jù)表,所述數(shù)據(jù)表包含與平臺相關(guān)的信息和引導(dǎo)、以及操作系統(tǒng)和操作系統(tǒng)的裝入程序可使用的運行時間服務(wù)請求。象BIOS 302一樣,EFI 306為引導(dǎo)操作系統(tǒng)和運行預(yù)引導(dǎo)應(yīng)用提供一種標(biāo)準(zhǔn)環(huán)境。因此,變量表代碼304可以配置成預(yù)引導(dǎo)EFI應(yīng)用。預(yù)引導(dǎo)應(yīng)用可以用由EFI應(yīng)用支持的任何可編程語言(例如,C或匯編)編寫。所述變量表代碼304可以創(chuàng)建變量表,由EFI 306用于確定環(huán)境變量202在非易失性存儲器118中的位置。
在兩種配置(例如,圖3A和3B)中,變量表代碼304存儲在系統(tǒng)ROM 116中,并在引導(dǎo)固件控制系統(tǒng)100時由處理器110執(zhí)行。通過執(zhí)行變量表代碼304,對應(yīng)的變量表就被裝入存儲器(例如,RAM 120)中。在圖3A中,引導(dǎo)固件為BIOS 302,而在圖3B中,引導(dǎo)固件為EFI 306。一旦裝入變量表,由處理器110執(zhí)行的軟件、驅(qū)動器的驅(qū)動程序和其它部件就可以通過變量表訪問環(huán)境變量202,所述變量表包含每一個環(huán)境變量在非易失性存儲器118中的位置。在至少一些實施例中,變量表代碼304可以使用易失性存儲器資源(例如,存儲在易失性存儲器中的系統(tǒng)管理的基本輸入輸出系統(tǒng)(SMB1OS)表)創(chuàng)建變量表。
圖4示出按照本發(fā)明的各個實施例的讀出和寫入環(huán)境變量的示范的過程400。過程400可以在應(yīng)用程序請求中斷(例如,INT 0x15)以便訪問具體的環(huán)境變量(方框402)時開始。固件可以通過訪問變量表和確定請求的變量表(方框406)中的環(huán)境變量進行中斷服務(wù)(方框404)。如上所說,變量表提供非易失性存儲器118中環(huán)境變量的位置(例如,存儲器類型、字節(jié)偏移和位偏移)。使用從變量表獲得的位置,可以訪問非易失性存儲器118(方框408),并可以通過請求的環(huán)境變量執(zhí)行適當(dāng)?shù)牟僮?例如,讀或?qū)?(方框410)。如上所述,非易失性存儲器118可以與總線(例如,I2C總線)連接。正如本專業(yè)的普通技術(shù)人員能夠明白的,可以根據(jù)需要加減步驟。例如,如果是寫操作,可以向服務(wù)例程提供包含寫入數(shù)據(jù)的數(shù)據(jù)緩沖區(qū)。此外,請求環(huán)境變量的應(yīng)用程序可以不需要請求中斷就能訪問變量表204。
圖5示出按照本發(fā)明的至少一個實施例的固件502、變量表504和非易失性存儲器506之間的相互作用??梢韵蚬碳?02(例如,BIOS或EFI)發(fā)送用于訪問一個或多個環(huán)境變量的請求508。固件502可以通過訪問變量表504并確定一個或多個環(huán)境變量在非易失性存儲器506中的位置來為請求508服務(wù)。如圖5所示,非易失性存儲器506可以包括單獨的存儲器單元510、512和514形式的一種或多種類型的非易失性存儲器??梢酝ㄟ^一個或多個環(huán)境變量執(zhí)行與請求502相關(guān)的操作(例如,讀或?qū)?,并且可以從固件502回送應(yīng)答516。如果操作為讀操作,則以應(yīng)答516的一部分的形式回送與一個或多個環(huán)境變量相關(guān)的數(shù)據(jù)。如果操作為寫操作,則可以以應(yīng)答516的一部分的形式回送表示寫操作狀態(tài)的通知。
本發(fā)明的實施例提供一種訪問存儲在非易失性存儲器中的環(huán)境變量的有效機制。變量表壓縮了為存儲環(huán)境變量所需的非易失性存儲器的數(shù)量,也壓縮了訪問環(huán)境變量所需的處理量。多個非易失性存儲器的類型可以同時存儲環(huán)境變量,對于需要訪問環(huán)境變量的軟件、驅(qū)動器的驅(qū)動程序或其它部件而言,非易失性存儲器的變量表和基本結(jié)構(gòu)是透明的。
上述討論是要說明本發(fā)明的原理和各個實施例。一旦上述說明被完全理解,對于本專業(yè)的技術(shù)人員來說,許多變化和修改將變得更加明顯。例如,變量表不是直接指向非易失性存儲器中的位置,而是指向定制的例程。所述定制例程可以響應(yīng)查找請求的非易失性存儲器中的環(huán)境變量。我們的意圖是,以下的權(quán)利要求書將包含所有這些變化和修改。
權(quán)利要求
1.一種計算機系統(tǒng)(100),它包括處理器(110);非易失性存儲裝置(118),它與所述處理器(110)連接并包括保存所述計算機系統(tǒng)(100)配置的一個或多個環(huán)境變量(202);以及系統(tǒng)ROM(116),它與所述處理器(110)連接,所述系統(tǒng)ROM(116)包括引導(dǎo)固件(502)和將表(504)初始化的可執(zhí)行代碼,所述表標(biāo)識所述一個或多個環(huán)境變量(202)在所述非易失性存儲器(118)中的位置。
2.如權(quán)利要求1所述的計算機系統(tǒng)(100),其中,所述引導(dǎo)固件(502)包括基本輸入輸出系統(tǒng)(BIOS)(302)以及由所述BIOS(302)初始化的表(504)。
3.如權(quán)利要求1所述的計算機系統(tǒng)(100),其中,所述引導(dǎo)固件(502)包括適合于對所述計算機系統(tǒng)(100)進行初始化和引導(dǎo)的可擴展固件接口(EFI)(306)以及由所述EFI(306)初始化的表(504)。
4.如權(quán)利要求1所述的計算機系統(tǒng)(100),其中,所述表(504)是在所述引導(dǎo)固件(502)控制所述計算機系統(tǒng)(100)時由所述可執(zhí)行代碼裝入到存儲器中的。
5.如權(quán)利要求1所述的計算機系統(tǒng)(100),其中,所述表(504)包括所述一個或多個環(huán)境變量(202)中的每一個的存儲類型、起始字節(jié)偏移和起始位偏移。
6.如權(quán)利要求1所述的計算機系統(tǒng)(100),其中,所述非易失性存儲器(118)包括多個非易失性存儲單元(510、512、514),而所述環(huán)境變量(202)存儲在所述多個非易失性存儲單元(510、512、514)中。
7.一種由計算機系統(tǒng)實現(xiàn)的方法(400),所述方法(400)包括發(fā)送訪問存儲在非易失性存儲器中的變量的請求(402);通過查找由系統(tǒng)只讀存儲器(ROM)中的可執(zhí)行代碼創(chuàng)建的表中的變量來確定所述變量在所述非易失性存儲器中的位置(406);以及訪問從所述表中確定的所述位置上的所述變量(408)。
8.如權(quán)利要求7所述的方法(400),其中,所述發(fā)送訪問變量的請求(402)包括請求來自固件的中斷(404)。
9.如權(quán)利要求7所述的方法(400),其中,所述確定環(huán)境變量的位置(406)包括確定所述非易失性存儲器中所述環(huán)境變量的存儲類型、起始字節(jié)偏移和起始位偏移。
10.如權(quán)利要求7所述的方法(400),其中還包括響應(yīng)所述請求而發(fā)送應(yīng)答(410),所述應(yīng)答包括存儲在由所述表確定的位置的數(shù)據(jù)。
全文摘要
按照本發(fā)明的至少一些實施例,一種系統(tǒng)(100)包括處理器(110);與處理器(110)連接并包含一個或多個環(huán)境變量(202)的非易失性存儲器(118),所述一個或多個環(huán)境變量(202)保存系統(tǒng)(100)的配置;以及連接到處理器(110)的系統(tǒng)只讀存儲器(ROM)(116)。系統(tǒng)ROM(116)包含引導(dǎo)固件(502)和表(504),所述表標(biāo)識一個或多個環(huán)境變量(202)在非易失性存儲器(118)中的位置。
文檔編號G06F9/445GK1707432SQ200510077858
公開日2005年12月14日 申請日期2005年6月6日 優(yōu)先權(quán)日2004年6月7日
發(fā)明者G·D·懷斯庫普, D·J·塞普利斯, J·T·博納, F·楊 申請人:惠普開發(fā)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
高陵县| 海宁市| 察雅县| 枣阳市| 南漳县| 富民县| 迁安市| 监利县| 翼城县| 满洲里市| 浦县| 邹平县| 阿克| 民乐县| 亚东县| 东阳市| 河西区| 洪江市| 江阴市| 沾益县| 尼木县| 谷城县| 晋江市| 广丰县| 章丘市| 陈巴尔虎旗| 上杭县| 大兴区| 阿巴嘎旗| 福泉市| 荥阳市| 平谷区| 萝北县| 德阳市| 彰武县| 上思县| 垣曲县| 饶河县| 五指山市| 大余县| 元江|