国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      平臺(tái)非易失性存儲(chǔ)區(qū)管理和平臺(tái)配置的制作方法_3

      文檔序號(hào):9816356閱讀:來源:國(guó)知局
      。雖然已經(jīng)關(guān)于三個(gè)特定服務(wù)調(diào)用圖示和描述圖5A,但是應(yīng)該領(lǐng)會(huì)的是,計(jì)算設(shè)備102可以配置成以類似的方式處理針對(duì)NV存儲(chǔ)區(qū)128的其他或附加服務(wù)調(diào)用。
      [0037]如以上討論的,如果計(jì)算設(shè)備102確定已在504塊中請(qǐng)求“得到”服務(wù),則方法500推進(jìn)到圖5B的塊512。在512塊中,計(jì)算設(shè)備102確定是否啟用NV存儲(chǔ)區(qū)壓縮。在一些實(shí)施例中,可以在制造的時(shí)間處啟用或禁用NV存儲(chǔ)區(qū)壓縮。在其他實(shí)施例中,可以使用計(jì)算設(shè)備102的一個(gè)或多個(gè)平臺(tái)配置寄存器、固件變量或其他配置機(jī)制來配置NV存儲(chǔ)區(qū)壓縮。如果啟用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊518,如下所述。如果禁用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊 514。
      [0038]在塊514中,計(jì)算設(shè)備102從NV存儲(chǔ)區(qū)128針對(duì)請(qǐng)求變量檢索原始數(shù)據(jù)。在塊516中,計(jì)算設(shè)備102返回檢索到的數(shù)據(jù)到調(diào)用者。例如,計(jì)算設(shè)備102可以為檢索到的數(shù)據(jù)分配存儲(chǔ)器緩沖區(qū),并且將C風(fēng)格指針返回到存儲(chǔ)器緩沖區(qū)。計(jì)算設(shè)備102可以根據(jù)定義明確的接口(諸如,UEFI規(guī)范)返回檢索到的數(shù)據(jù)。
      [0039]參考回到塊512,如果啟用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊518,在塊518中計(jì)算設(shè)備102從NV存儲(chǔ)區(qū)128解壓縮數(shù)據(jù)并且針對(duì)請(qǐng)求的變量檢索數(shù)據(jù)。計(jì)算設(shè)備102可以使用任何合適壓縮算法來壓縮NV存儲(chǔ)區(qū)128中的變量數(shù)據(jù)。例如,計(jì)算設(shè)備102可以使用Lempel-Ziv-Markov算法(“LZMA”)壓縮和解壓縮變量數(shù)據(jù)。在解壓縮變量數(shù)據(jù)后,計(jì)算設(shè)備102在516塊中返回解壓縮的數(shù)據(jù)到調(diào)用者。變量壓縮是對(duì)調(diào)用者透明的;例如,計(jì)算設(shè)備102將解壓縮的變量數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器緩沖區(qū)中,并且返回指針到該緩沖區(qū)。
      [0040]如以上討論的,如果計(jì)算設(shè)備102確定已在塊506中請(qǐng)求“設(shè)置”服務(wù),則方法500推進(jìn)到圖5C的塊520。在520塊中,計(jì)算設(shè)備102確定是否啟用NV存儲(chǔ)區(qū)壓縮。如關(guān)于圖5B的塊512描述的,NV存儲(chǔ)區(qū)壓縮可以在制造的時(shí)間處被啟用或禁用,或可以使用計(jì)算設(shè)備102的一個(gè)或多個(gè)平臺(tái)配置寄存器、固件變量或其他配置機(jī)制來配置。如果啟用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊534,如下所述。如果禁用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊522。[0041 ] 在塊522中,計(jì)算設(shè)備102基于適用的NV存儲(chǔ)策略210確定NV存儲(chǔ)區(qū)128中的可用空閑空間。如以上描述的,每個(gè)NV存儲(chǔ)策略210可以指定可以不被分配給變量數(shù)據(jù)的在NV存儲(chǔ)區(qū)128中的保留的存儲(chǔ)器的最小量。例如,NV存儲(chǔ)策略210可以從NV存儲(chǔ)區(qū)128內(nèi)的128千字節(jié)總存儲(chǔ)中保留8千字節(jié)。為了確定可用空閑空間,計(jì)算設(shè)備102確定NV存儲(chǔ)區(qū)128的原始未分配空間,并且減去保留空間的量。例如,給定NV存儲(chǔ)區(qū)128包括128千字節(jié)的存儲(chǔ)和96千字節(jié)的存儲(chǔ)器被分配,NV存儲(chǔ)區(qū)128將包括32千[Si]的原始未分配空間。鑒于保留段8千字節(jié),可用空閑空間將是24千字節(jié)。
      [0042]在一些實(shí)施例中,計(jì)算設(shè)備102可以在524塊中基于調(diào)用者的身份確定適用的NV存儲(chǔ)策略210。例如,由計(jì)算設(shè)備102的制造商提供的受信任的調(diào)用者可以被允許訪問附加的可用空閑空間;即,可以為受信任的調(diào)用者保留較少的NV存儲(chǔ)區(qū)128。計(jì)算設(shè)備102可以使用任何適合方法確定調(diào)用者的身份。在一些實(shí)施例中,計(jì)算設(shè)備102可以通過檢查系統(tǒng)堆棧確定指向調(diào)用者的存儲(chǔ)器位置的返回地址來確定調(diào)用者的身份。例如,計(jì)算設(shè)備102可以基于調(diào)用地址確定調(diào)用者是受信任的固件驅(qū)動(dòng)程序或應(yīng)用程序、操作系統(tǒng)204、操作系統(tǒng)204的應(yīng)用程序或驅(qū)動(dòng)程序還是其他實(shí)體。
      [0043]在塊526中,計(jì)算設(shè)備102確定是否足夠的空間存在于NV存儲(chǔ)區(qū)128中以存儲(chǔ)請(qǐng)求的變量。計(jì)算設(shè)備102可以將由調(diào)用者傳遞的數(shù)據(jù)量與在522塊中確定的可用空閑空間進(jìn)行比較。如果足夠空間不可用,則方法500分支到塊528,在塊528中計(jì)算設(shè)備102給調(diào)用者指示錯(cuò)誤。計(jì)算設(shè)備102可以返回錯(cuò)誤代碼、發(fā)出異常、發(fā)送信號(hào)或執(zhí)行另一平臺(tái)適當(dāng)?shù)姆椒ǎ灾甘惧e(cuò)誤。如果足夠空間可用在NV存儲(chǔ)區(qū)128中,則方法500推進(jìn)到塊530。
      [0044]在塊530中,計(jì)算設(shè)備102在NV存儲(chǔ)區(qū)128中存儲(chǔ)由調(diào)用者提供的原始數(shù)據(jù)。計(jì)算設(shè)備102將原始數(shù)據(jù)與指定變量相關(guān)聯(lián),以允許所述數(shù)據(jù)以后被檢索。在存儲(chǔ)原始數(shù)據(jù)之后,方法500推進(jìn)到塊532,在塊532中方法500返回成功狀態(tài)代碼給調(diào)用者。
      [0045]參考回到塊520,如果啟用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊534。在534塊中,計(jì)算設(shè)備102基于適用的NV存儲(chǔ)策略210和預(yù)測(cè)壓縮比確定NV存儲(chǔ)區(qū)128中的估計(jì)可用空閑空間。預(yù)測(cè)壓縮比可以被預(yù)定,或可以基于先前存儲(chǔ)在NV存儲(chǔ)區(qū)128中的變量數(shù)據(jù)的壓縮比。計(jì)算設(shè)備102可以確定NV存儲(chǔ)區(qū)128中的原始未分配空間量并應(yīng)用預(yù)測(cè)壓縮比來確定預(yù)測(cè)邏輯未分配空間。計(jì)算設(shè)備102可以從邏輯未分配空間減去由NV存儲(chǔ)策略210指定的保留空間量,以確定估計(jì)可用空閑空間。例如,假定NV存儲(chǔ)區(qū)128包括32千字節(jié)的原始未分配空間。計(jì)算設(shè)備102可以基于預(yù)測(cè)壓縮比估計(jì)更大邏輯未分配空間,例如64千字節(jié)。給定如由NV存儲(chǔ)策略210指定的保留段8千字節(jié),估計(jì)可用空閑空間在該示例中將是56千字節(jié)。
      [0046]在一些實(shí)施例中,在塊536中計(jì)算設(shè)備102可以基于調(diào)用者的身份確定適用的NV存儲(chǔ)策略210。例如,由計(jì)算設(shè)備102的制造商提供的受信任的調(diào)用者可以被允許訪問附加的可用空閑空間;即,可以為受信任的調(diào)用者保留較少的NV存儲(chǔ)區(qū)128。如以上描述的,計(jì)算設(shè)備102可以使用任何適合方法諸如通過檢查系統(tǒng)堆棧確定指向調(diào)用者的存儲(chǔ)器位置的返回地址來確定調(diào)用者的身份。例如,計(jì)算設(shè)備102可以基于調(diào)用地址確定調(diào)用者是受信任的固件驅(qū)動(dòng)程序或應(yīng)用程序、操作系統(tǒng)204、操作系統(tǒng)204的應(yīng)用程序或驅(qū)動(dòng)程序還是其他實(shí)體。
      [0047]在塊538中,計(jì)算設(shè)備102確定是否足夠空間存在于NV存儲(chǔ)區(qū)128中以存儲(chǔ)請(qǐng)求的變量。計(jì)算設(shè)備102可以將由調(diào)用者傳遞的數(shù)據(jù)量與在522塊中確定的估計(jì)可用空閑空間進(jìn)行比較。在其他實(shí)施例中,計(jì)算設(shè)備102可以執(zhí)行不同算法來做出該確定,例如,將請(qǐng)求的變量數(shù)據(jù)壓縮和確定是否在NV存儲(chǔ)區(qū)128中的足夠原始空間可用于壓縮的數(shù)據(jù)。如果足夠空間不可用,則方法500分支到塊528,在塊528中計(jì)算設(shè)備102給調(diào)用者指示錯(cuò)誤。計(jì)算設(shè)備102可以返回錯(cuò)誤代碼、發(fā)出異常、發(fā)送信號(hào)或執(zhí)行另一平臺(tái)適當(dāng)?shù)姆椒?,以指示錯(cuò)誤。如果足夠空間可用在NV存儲(chǔ)區(qū)128中,則方法500推進(jìn)到塊540。
      [0048]在540塊中,計(jì)算設(shè)備102壓縮由調(diào)用者提供的變量數(shù)據(jù)并且在NV存儲(chǔ)區(qū)128中存儲(chǔ)壓縮的數(shù)據(jù)。計(jì)算設(shè)備102將壓縮的數(shù)據(jù)與指定變量相關(guān)聯(lián),以允許數(shù)據(jù)以后被檢索。計(jì)算設(shè)備102也可以基于針對(duì)變量數(shù)據(jù)實(shí)現(xiàn)的實(shí)際壓縮比更新預(yù)測(cè)壓縮比,以改進(jìn)空閑空間估計(jì)的精度。在存儲(chǔ)壓縮的數(shù)據(jù)之后,方法500推進(jìn)到塊532,在塊532中方法500返回成功狀態(tài)代碼給調(diào)用者。
      [0049]如以上討論的,如果計(jì)算設(shè)備102確定已在塊506中請(qǐng)求“查詢”服務(wù),則方法500推進(jìn)到圖的塊542。在塊542中,計(jì)算設(shè)備102確定是否啟用NV存儲(chǔ)區(qū)壓縮。如以上描述的,NV存儲(chǔ)區(qū)壓縮可以在制造的時(shí)間處被啟用或禁用,或可以使用計(jì)算設(shè)備102的一個(gè)或多個(gè)平臺(tái)配置寄存器、固件變量或其他配置機(jī)制來配置。如果啟用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊552,如下所述。如果禁用NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊544。
      [0050]在塊544中,計(jì)算設(shè)備102基于適用的NV存儲(chǔ)策略210確定NV存儲(chǔ)區(qū)128中的可用空閑空間。如以上描述的,NV存儲(chǔ)策略210可以指定可以不被分配用于變量數(shù)據(jù)的在NV存儲(chǔ)區(qū)128中的保留存儲(chǔ)器的最小量。例如,NV存儲(chǔ)策略210可以從NV存儲(chǔ)區(qū)128內(nèi)的128千字節(jié)總存儲(chǔ)中保留8千字節(jié)。為了確定可用空閑空間,計(jì)算設(shè)備102確定NV存儲(chǔ)區(qū)128的原始未分配空間,并且減去保留空間量。在一些實(shí)施例中,在塊546中計(jì)算設(shè)備102可以基于調(diào)用者的身份確定適用的NV存儲(chǔ)策略210。例如,由計(jì)算設(shè)備102的制造商提供的受信任的調(diào)用者可以被允許訪問附加的可用空閑空間;即,可以為受信任的調(diào)用者保留較少的NV存儲(chǔ)區(qū)128。計(jì)算設(shè)備102可以使用任何適合方法諸如通過檢查系統(tǒng)堆棧確定指向調(diào)用者的存儲(chǔ)器位置的返回地址來確定調(diào)用者的身份。例如,計(jì)算設(shè)備102可以基于調(diào)用地址確定調(diào)用者是受信任的固件驅(qū)動(dòng)程序或應(yīng)用程序、操作系統(tǒng)204、操作系統(tǒng)204的應(yīng)用程序或驅(qū)動(dòng)程序還是其他實(shí)體。
      [0051]在塊548中,在一些實(shí)施例中計(jì)算設(shè)備102可以基于NV存儲(chǔ)策略210執(zhí)行另一請(qǐng)求查詢。例如,計(jì)算設(shè)備102可以確定存儲(chǔ)在NV存儲(chǔ)區(qū)128中的個(gè)體變量的最大大小。在執(zhí)行請(qǐng)求查詢之后,方法500推進(jìn)到塊550,在塊550中方法500返回查詢信息(包括可用空閑空間)
      給調(diào)用者。
      [0052]參考回到塊542,如果啟用了NV存儲(chǔ)區(qū)壓縮,則方法500分支到塊552。在塊552中,計(jì)算設(shè)備102基于適用的NV存儲(chǔ)策略210和預(yù)測(cè)壓縮比確定NV存儲(chǔ)區(qū)128中的估計(jì)可用空閑空間。如以上描述的,計(jì)算設(shè)備102可以確定NV存儲(chǔ)區(qū)128中的原始未分配空間量,并且應(yīng)用預(yù)測(cè)壓縮比來確定預(yù)測(cè)邏輯未分配空間。計(jì)算設(shè)備102可以從邏輯未分配空間減去由NV存儲(chǔ)策略210指定的保留空間量,以確定估計(jì)可用空閑空間。
      [0053]在一些實(shí)施例中,在塊554中計(jì)算設(shè)備102可以基于調(diào)用者的身份確定適用的NV存儲(chǔ)策略210。例如,由計(jì)算設(shè)備102的制造商提供的受信任的調(diào)用者可以被允許訪問附加的可用空閑空間;即,可以為受信任的調(diào)用者保留較少的NV存儲(chǔ)區(qū)128。如以上描述的,計(jì)算設(shè)備102可以使用任何適合方法諸如通過檢查系統(tǒng)堆棧確定指向調(diào)用者的存儲(chǔ)器位置的返回地址來確定調(diào)用者的身份。例如,計(jì)算設(shè)備102可以基于調(diào)用地址確定調(diào)用者是受信任的固件驅(qū)動(dòng)程序或應(yīng)用程序、操作系統(tǒng)204、操作系統(tǒng)204的應(yīng)用程序或驅(qū)動(dòng)程序還是其他實(shí)體。
      [0054]在塊556中,在一些實(shí)施例中,計(jì)算設(shè)備102可以基于NV存儲(chǔ)策略210和預(yù)測(cè)壓縮比執(zhí)行另一請(qǐng)求查詢。例如,計(jì)算設(shè)備102可以確定存儲(chǔ)在NV存儲(chǔ)區(qū)128中的個(gè)體變量的最大大小。在執(zhí)行請(qǐng)求的查詢之后,方法500推進(jìn)到塊550,在塊550中方法500返回查詢信息(包括可用空閑空間)給調(diào)用者。
      [0055]現(xiàn)在參考圖6A,在使用中,除了上文描述的方法500以外或者代替方法500,計(jì)算設(shè)備102可以執(zhí)行用于平臺(tái)配置的方法600。方法600以塊602開始,在塊602中計(jì)算設(shè)備102從固件環(huán)境302初始化平臺(tái)硬件。例如,計(jì)算設(shè)備102可以初始化關(guān)鍵硬件部件諸如處理器120、存儲(chǔ)器124和/或I/O子系統(tǒng)122。當(dāng)計(jì)算設(shè)備102首次通電時(shí)或當(dāng)重新引導(dǎo)計(jì)算設(shè)備102時(shí),該初始化在引導(dǎo)時(shí)間處執(zhí)行。在塊604中,計(jì)算設(shè)備102配置附屬設(shè)備和數(shù)據(jù)。配置的設(shè)備可以包括計(jì)算設(shè)備102的外圍或可選的部件。計(jì)算設(shè)備102可以查詢各種互連總線或設(shè)備接口來確定附屬設(shè)備和配置數(shù)據(jù)。計(jì)算設(shè)備102可以讀取各種寄存器、存儲(chǔ)器地址或以其他方式填充平臺(tái)配置設(shè)置314。
      [0056]在塊606中,計(jì)算設(shè)備102確定一個(gè)或多個(gè)配置指令是否可用于固件環(huán)境302。如以下描述的,配置指令可以通過操作系統(tǒng)204的代理或通過可管理性引擎134被創(chuàng)建和被傳遞到固件環(huán)境302。如果沒有配置指令可用,則方法600向前分支到塊620,如下所述。如果配置指令可用,則方法600推進(jìn)到塊608。
      [0057]
      當(dāng)前第3頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1