亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

分區(qū)為包括元數(shù)據(jù)區(qū)域的多個區(qū)域的字節(jié)可尋址非易失性讀寫主存儲器的制造方法

文檔序號:10557117閱讀:460來源:國知局
分區(qū)為包括元數(shù)據(jù)區(qū)域的多個區(qū)域的字節(jié)可尋址非易失性讀寫主存儲器的制造方法
【專利摘要】在一個實施例中,一種計算機具有處理器和字節(jié)可尋址非易失性讀寫主存儲器。該存儲器被分區(qū)為多個區(qū)域,每個區(qū)域具有至少一個定義的操作屬性。多個區(qū)域中的至少一個區(qū)域是元數(shù)據(jù)區(qū)域,以存儲多個數(shù)據(jù)集。每個數(shù)據(jù)集指定多個區(qū)域中的一個對應區(qū)域在存儲器中的位置、和該對應區(qū)域的至少一個操作屬性。
【專利說明】
分區(qū)為包括元數(shù)據(jù)區(qū)域的多個區(qū)域的字節(jié)可尋址非易失性讀
與主存儲裔
【背景技術(shù)】
[0001]許多計算機系統(tǒng)針對主存儲器和輔助存儲器使用隔離技術(shù)。例如,主存儲器通常使用易失性存儲技術(shù),諸如動態(tài)隨機訪問存儲器(DRAM)。由于一旦移除電力易失性存儲器就不會留存其內(nèi)容(計算機系統(tǒng)中缺少諸如電池備用機構(gòu)的附加組件,電池備用機構(gòu)可以在有限的時間段內(nèi)保持存儲器內(nèi)容、同時增加了成本和復雜性),因此用于計算機系統(tǒng)的軟件通常例如存儲在使用非易失性存儲技術(shù)的輔助存儲器中,諸如閃存固態(tài)驅(qū)動(SSD)或磁硬盤驅(qū)動(HDD)。作為這種布置的結(jié)果,計算機系統(tǒng)包含多種不同類型的存儲器,增加了成本和復雜性。
【附圖說明】
[0002]圖1是根據(jù)本公開實施例的具有字節(jié)可尋址非易失性讀寫主存儲器的計算機的框圖。
[0003]圖2是根據(jù)本公開實施例的具有字節(jié)可尋址非易失性讀寫主存儲器的另一計算機的框圖。
[0004]圖3是根據(jù)本公開實施例將圖2的字節(jié)可尋址非易失性讀寫主存儲器分區(qū)為多個區(qū)域的框圖。
[0005]圖4A-4B是根據(jù)本公開實施例的存儲在圖2的字節(jié)可尋址非易失性讀寫主存儲器的示例性元數(shù)據(jù)區(qū)域中的數(shù)據(jù)結(jié)構(gòu)的示意性表示,其描述了圖3的多個區(qū)域。
[0006]圖5A-5B是根據(jù)本公開實施例的啟動圖1或2的計算機系統(tǒng)的方法的流程圖。
【具體實施方式】
[0007]可能存在與針對主存儲器和輔助存儲器使用隔離技術(shù)的計算機系統(tǒng)相關(guān)聯(lián)的成本、復雜性、時間以及其他缺陷。此外,由于這些輔助存儲器裝置的各個字節(jié)通常不可被計算機系統(tǒng)的處理器直接訪問并且無法像從DRAM訪問那樣由處理器快速訪問,因此當對計算機系統(tǒng)上電時,輔助存儲器裝置的某些內(nèi)容首先從輔助存儲器復制到主存儲器。這些部分可能包括例如計算機的操作系統(tǒng)。這些操作通常延長了計算機的啟動時間。
[0008]如在此和所附權(quán)利要求中所限定的,“主存儲器”可廣義地理解為意指不管處理器采用什么樣的字長,其中數(shù)據(jù)的各個字節(jié)可被直接尋址、并且可由計算機系統(tǒng)的處理器讀取或?qū)懭氲拇鎯ζ?。此外,盡管一個“字節(jié)”通??梢詾榘宋?,但在一些實施例中,一個字節(jié)可以指更大或更小的多位集。
[0009]相較于現(xiàn)有技術(shù)而言成本更低廉、訪問時間更快并且每單位容量的字節(jié)密度更大的新的字節(jié)可尋址非易失性存儲器技術(shù)正變得可用。還期望這些存儲器的成本、訪問時間、和密度能達到并超過DRAM的成本、訪問時間、和密度。這種存儲器的實施例包括但不限于阻變隨機訪問存儲器(RRAM)、憶阻器、相變隨機訪問存儲器(PCM、PCRAM、PRAM)、磁阻隨機訪問存儲器(MRAM)和自旋轉(zhuǎn)移力矩隨機訪問存儲器(STTRAM),僅列舉了少許。這種存儲器可用作計算機系統(tǒng)中的持久性主存儲器(PMM)。如在此和所附權(quán)利要求中限定的,“持久性”或者“非易失性”主存儲器可廣義地理解為意指在計算機系統(tǒng)的上電循環(huán)(power-cycling)中留存其內(nèi)容的主存儲器。在一些不是字節(jié)可尋址而是塊可尋址的隔離的實施例中,隔離的輔助存儲器可從這種計算機系統(tǒng)省略,這是因為諸如操作系統(tǒng)、超管理器(hypervisor)、APP程序、及其相關(guān)的持久性數(shù)據(jù)文件可被存儲在PMM中并且在計算機系統(tǒng)的上電循環(huán)中得以留存。這能夠有利地使得計算系統(tǒng)不太復雜、不太昂貴并且啟動更快。
[0010]現(xiàn)在參照附圖,其例示了根據(jù)本公開而構(gòu)造的計算機的實施例,其中處理器通信地連接至被分區(qū)為多個區(qū)域的字節(jié)可尋址非易失性讀寫主存儲器。每個區(qū)域具有至少一個定義的操作屬性。多個區(qū)域中的至少一個區(qū)域是元數(shù)據(jù)區(qū)域,其被配置為存儲多個數(shù)據(jù)集。每個數(shù)據(jù)集指定該多個區(qū)域中的一個對應區(qū)域在存儲器中的位置、以及該對應區(qū)域的至少一個操作屬性。引導裝載程序(boot loader)、以及操作系統(tǒng)和/或超管理器存儲在該區(qū)域中的一個或多個區(qū)域中,并且在計算機啟動進程期間運行。
[0011]操作系統(tǒng)是管理計算機硬件資源的軟件的集合,對計算機上運行的其他程序提供服務。操作系統(tǒng)被視為在概念上在硬件“之上”運行并且可直接控制硬件的原生(native)(也被稱為“裸金屬”)程序,而在計算機上運行的其他程序通常通過對操作系統(tǒng)作出的請求來訪問硬件資源。超管理器是創(chuàng)建并運行虛擬機的軟件集,虛擬機可被視為模擬另一計算機的性能規(guī)范、架構(gòu)和操作的“軟件計算機”。超管理器還可以是原生的“裸金屬”程序,或者可替換地可由操作系統(tǒng)托管,其中超管理器在該操作系統(tǒng)“之上”運行。在此使用的術(shù)語“超管理器”以及在所附權(quán)利要求中使用的術(shù)語“高級程序”指的是原生的、“裸金屬”程序超管理器。
[0012]現(xiàn)在參照圖1更加詳細地考慮計算機,計算機100具有經(jīng)由總線115連接至字節(jié)可尋址非易失性讀寫(BANVRW)主存儲器120的處理器110。主存儲器120被分區(qū)為多個區(qū)域,其中一個區(qū)域是元數(shù)據(jù)區(qū)域。三個示例性區(qū)域例示為:區(qū)域J 122、區(qū)域K 124、和元數(shù)據(jù)區(qū)域130。元數(shù)據(jù)區(qū)域130存儲多個數(shù)據(jù)集。例示了兩個示例性數(shù)據(jù)集:數(shù)據(jù)集J 140(其與區(qū)域J122相關(guān)聯(lián))和數(shù)據(jù)集K 150 (其與區(qū)域K 124相關(guān)聯(lián))。
[0013]元數(shù)據(jù)區(qū)域130可由處理器110(在諸如引導裝載程序的程序指示下)使用以識別多個區(qū)域的位置和操作屬性。每個數(shù)據(jù)集140、150具有位置162,其指定分別構(gòu)成區(qū)域122、124的存儲器120的地址范圍(或多個地址范圍)。每個數(shù)據(jù)集140、150還具有操作屬性164,其指定分別對應于區(qū)域122、124的存儲器120的地址范圍(或多個地址范圍)。在一些實施例中,具有針對元數(shù)據(jù)區(qū)域的數(shù)據(jù)集,而在元數(shù)據(jù)區(qū)域130位于預定的固定位置的其他實施例中,這種數(shù)據(jù)集可被省略。在一些實施例中,這種地址可通過計算機的架構(gòu)預定,和/或?qū)μ幚砥?10可以是已知的或者可在軟件的指示下由處理器110確定。
[0014]每個區(qū)域122、124、130具有至少一個與其相關(guān)聯(lián)的定義的操作屬性。能夠定義多個不同的操作屬性164。一種操作屬性164可以是由處理器110對對應區(qū)域內(nèi)的存儲器地址的至少一種類型的可允許訪問。這種可允許訪問可包括讀取訪問、寫入訪問、或者讀取訪問和寫入訪問兩者。
[0015]區(qū)域的另一操作屬性164可以是內(nèi)容留存屬性,其指定如何處置區(qū)域122、124、130的內(nèi)容以響應計算機100的關(guān)機。術(shù)語“關(guān)機”可廣義地理解為意指操作系統(tǒng)或超管理器在計算機100在其再次使用之前能夠重啟的程度上的運行結(jié)束。為了再次使用計算機100,關(guān)機可被“熱”重啟跟隨(當對計算機的供電不是關(guān)閉然后開啟的循環(huán)時)或者被“冷”重啟跟隨(當對計算機的供電是循環(huán)的時)。內(nèi)容留存屬性可指定:響應于關(guān)機而保持存儲器120的區(qū)域122、124、130中的數(shù)據(jù)。例如,保持數(shù)據(jù)內(nèi)容可被指定為針對包含通過處理器110可運行的指令的一個或多個程序的區(qū)域??商鎿Q地,內(nèi)容留存屬性可指定:響應于關(guān)機丟棄該區(qū)域中的數(shù)據(jù)。例如,這可針對用于在程序運行期間臨時數(shù)據(jù)的區(qū)域而指定。臨時數(shù)據(jù)是程序不期望該數(shù)據(jù)在關(guān)機之后仍有效的數(shù)據(jù)。臨時數(shù)據(jù)可由引導裝載程序、操作系統(tǒng)、超管理器和/或在操作系統(tǒng)、和/或超管理器的控制下運行的其他程序中的一個或多個生成和/或使用。
[0016]在一些情況中,可被動地丟棄臨時數(shù)據(jù)。在此情況中,相關(guān)程序期望臨時數(shù)據(jù)已被存儲在易失性存儲器中,因此不期望來自先前開機的臨時數(shù)據(jù)在當前開機之后仍然有效。在其他情況中,可在例如關(guān)機進程期間主動丟棄臨時數(shù)據(jù)。在主動丟棄中,對應的非易失性區(qū)域中的內(nèi)容可被重寫,或另外被無效化或使之不可訪問。在臨時數(shù)據(jù)包含被保護以避免入侵訪問的敏感信息的情況中,主動丟棄可能是有利的,例如,在斷電時從計算機系統(tǒng)移除主存儲器。
[0017]另一操作屬性164可以是應用于對應區(qū)域的內(nèi)容的加密類型。加密提供另一種可通過其保護敏感信息的機構(gòu)。加密可用于在從計算機的前次開機到后續(xù)開機的過程中保護敏感信息一即在關(guān)機過程中保存的數(shù)據(jù)和/或程序。加密類型可以指定:不對區(qū)域應用加密或者對區(qū)域應用特定類型的加密。加密還能夠以允許借助于丟棄加密密鑰的另一被動形式丟棄存儲器內(nèi)容,從而致使存儲器內(nèi)容無法破譯并且因此不可用。
[0018]如后續(xù)將參照圖2更詳細說明的,計算機100根據(jù)元數(shù)據(jù)區(qū)域130的多個數(shù)據(jù)集140、150強制執(zhí)行多個區(qū)域的操作屬性。
[0019]元數(shù)據(jù)區(qū)域130有利地使存儲器120自描述。換言之,處理器110能夠在引導裝載程序或其他程序的指示下、通過訪問和解讀元數(shù)據(jù)區(qū)域130的數(shù)據(jù)集而確定存儲器120已分區(qū)成的多個區(qū)域的位置和屬性。
[0020]現(xiàn)在參照圖2考慮另一種計算機,計算機200包括處理器210和字節(jié)可尋址非易失性讀寫(BANVRW)主存儲器290。處理器210通信地連接至存儲器管理單元(MMU)220,其在一些實施例中位于處理器210內(nèi)部。處理器210通信地連接至總線205。在一些實施例中,總線205可以是前端總線或相干總線。雖然為了清楚而例示了單個處理器,但在一些諸如多核CPU的示例性系統(tǒng)中,該多核CPU內(nèi)可具有多個處理器。在一些實施例中,每個處理器210還可包含I級緩存。在一些實施例中,多核CPU還可包括總線205、2級緩存、和3級緩存。為了示例的清晰性,圖2省略了多個處理器和緩存。
[0021]計算機200還包括處理器210(或多核CPU)外部的其他組件。存儲器控制器240直接或間接通信地連接至總線205。存儲器控制器240轉(zhuǎn)而又通信地連接至主存儲器290的介質(zhì)控制器280。
[0022]在一些實施例中,計算機可包括附加組件。通信地連接至總線205的外圍接口252可以適合于通信地連接至外部的通??梢瞥慕橘|(zhì)250,諸如硬盤驅(qū)動、USB閃存驅(qū)動、或者EEPR0M。在一些實施例中,外部介質(zhì)可包含引導裝載程序、操作系統(tǒng)、和超管理器中的一個或多個,并且計算機200可被配置為從外部介質(zhì)250而不從主存儲器290啟動。在一些實施例中,計算機200中的跳線或硬件標識可確定是否使用存儲在存儲器290中或介質(zhì)250上的引導裝載程序。跳線或硬件標識還可以確定操作系統(tǒng)或超管理器是從存儲器290還是從介質(zhì)250加載的。在其他實施例中,引導裝載程序本身可確定操作系統(tǒng)或超管理器是從存儲器290還是從介質(zhì)250加載的。后續(xù)地將參照圖2-3更詳細地討論引導裝載程序、操作系統(tǒng)、和超管理器。
[0023]在一些實施例中,計算機200還可包括易失性主存儲器260,諸如DRAM,其在對計算機的供電循環(huán)之后不留存其先前的數(shù)據(jù)內(nèi)容。易失性主存儲器260可用于在計算機200操作期間存儲不需要在關(guān)機之后留存的數(shù)據(jù)。易失性主存儲器260可用于存儲可被復制到易失性主存儲器260上并且之后可從易失性主存儲器260運行的程序代碼。存儲器控制器265將易失性主存儲器260通信地連接至總線205。
[0024]在一些實施例中,計算機200可包括加密/解密模塊270,其可以被邏輯地安排在總線205和存儲器控制器240之間。由處理器210寫入存儲器290的數(shù)據(jù)(或程序代碼)在從處理器210通過加密/解密模塊270傳送至存儲器290時被模塊270加密,由處理器210讀取的數(shù)據(jù)在從存儲器290通過模塊270傳送至處理器210時被解密。加密/解密模塊270實施加密標準(即,方法),其被指定用于主存儲器290中對應于被讀取或?qū)懭氲拇鎯ζ鞯刂返膮^(qū)域。
[0025]在計算機為“芯片上系統(tǒng)(SoC)”的一些實施例中,此芯片可包括處理器210(或多核CPU),以及外圍接口 252、存儲器控制器240、265、和加密/解密模塊270中的一個或多個。
[0026]現(xiàn)在將考慮將字節(jié)可尋址非易失性讀寫主存儲器290分區(qū)為多個區(qū)域的一個實施例,進一步參照圖3,建立了多個區(qū)域。每個區(qū)域具有存儲器的相連字節(jié)的一個或多個地址空間。每個區(qū)域可以是多個不同類型中的一種:R0M、持久的、暫存的、或元數(shù)據(jù)。也可定義其他類型的區(qū)域。
[0027]ROM區(qū)域可用于存儲引導裝載程序的至少一部分的代碼。此部分例如可以是一階引導裝載程序。ROM區(qū)域還可包括用于計算機的某些管理功能的代碼,諸如基本輸入輸出系統(tǒng)(B1S)或者統(tǒng)一可擴展固件接口(UEFI) AOM區(qū)域可具有只讀訪問、和響應于計算機關(guān)機而保持其內(nèi)容的操作屬性。在使用可信的進程重啟期間可實施更新ROM區(qū)域的內(nèi)容(S卩,向ROM區(qū)域?qū)懭?的權(quán)能,諸如例如通過供給密碼或者設(shè)置硬件跳線或標識。通常,存儲器中具有一個ROM區(qū)域。區(qū)域的內(nèi)容可被加密,盡管通常其不被加密。
[0028]持久性區(qū)域用于存儲在計算機關(guān)機之后仍保存在存儲器290中的程序和數(shù)據(jù),從而保留啟動循環(huán)。計算機的操作系統(tǒng)和/或超管理器通常被存儲在持久性區(qū)域中。當計算機使用二階引導裝載程序時,則該程序還可被存儲在持久性區(qū)域中。存儲在持久性區(qū)域中的程序可被配置為在該區(qū)域中就地運行。為了能夠就地運行,程序代碼可被寫為獨立于存儲器位置之外、或者知曉其在存儲器中的位置而且在運行期間不會修改位于其圖像內(nèi)的任何存儲??商鎿Q地,程序可被配置為加載到另一存儲器位置中并在該位置被運行,例如易失性主存儲器260。存儲在持久性區(qū)域中的程序和數(shù)據(jù)可被識別為文件系統(tǒng)中的文件。在本文中,“文件系統(tǒng)”指的是具有預先定義的信息結(jié)構(gòu)的存儲器中的文件和目錄的集合。通過文件系統(tǒng)驅(qū)動器訪問包括存儲在其內(nèi)的文件的文件系統(tǒng)(即,通過作為操作系統(tǒng)一部分的內(nèi)核文件系統(tǒng)模塊,其被設(shè)計為管理文件系統(tǒng))。數(shù)據(jù)還可被存儲在作為原始卷的持久性區(qū)域中,這些原始卷的格式化專用于諸如數(shù)據(jù)庫的特定程序;這些原始卷可通過程序而不通過文件系統(tǒng)訪問。持久性區(qū)域可具有在啟動進程之后正常操作期間的至少讀取訪問、和響應于計算機關(guān)機保持其內(nèi)容的操作屬性。然而,在啟動進程期間,持久性區(qū)域可為不可寫入的,從而保護其內(nèi)容避免可能會在啟動進程期間發(fā)生的偽寫入操作。該區(qū)域的內(nèi)容可被加密或可不加密。存儲器中可以具有任意數(shù)量的持久性區(qū)域,但通常具有至少一個。
[0029]暫存區(qū)域通常用于存儲在計算機操作期間生成的、并且不期望在上電循環(huán)中保持的數(shù)據(jù)。數(shù)據(jù)中的一些可由例如引導裝載程序、操作系統(tǒng)、和超管理器中的一個或多個在其他程序中生成??纱鎯υ跁捍鎱^(qū)域中的示例性數(shù)據(jù)包括由內(nèi)核和用戶進程創(chuàng)建的、不旨在關(guān)機之后被保持的數(shù)據(jù)結(jié)構(gòu),諸如只有在激活頁面時被處理器使用的頁面表格條目。在一些實施例中,程序還可被加載到暫存區(qū)域中并在該處運行。暫存區(qū)域可具有至少讀取訪問和寫入訪問、和響應于計算機關(guān)機而丟棄其內(nèi)容的操作屬性。易失性存儲器,諸如DRAM260,響應于計算機的上電循環(huán)而固有地丟棄其數(shù)據(jù)內(nèi)容,而非易失性存儲器290不會。因此,如先前討論過的,非易失性存儲器的暫存區(qū)域的內(nèi)容可以要么被動地被丟棄、要么被主動地丟棄。該區(qū)域的內(nèi)容可加密或可不加密。
[0030]元數(shù)據(jù)區(qū)域用于存儲描述字節(jié)可尋址非易失性讀寫主存儲器290的分區(qū)的數(shù)據(jù)。元數(shù)據(jù)區(qū)域通常具有只讀訪問、和響應于計算機關(guān)機保持其內(nèi)容的操作屬性。存儲器中可以有兩個或多個存儲在存儲器中的元數(shù)據(jù)區(qū)域的副本。該附加的元數(shù)據(jù)區(qū)域可用于恢復的目的。區(qū)域的內(nèi)容可被加密,盡管其通常不被加密??蓪嵤┌踩馗略獢?shù)據(jù)區(qū)域中的內(nèi)容以重新配置主存儲器290的分區(qū)(S卩,管理存儲器區(qū)域)的權(quán)能。在一些實施例中,可通過被授權(quán)的用戶人工地完成該重新配置。在一些實施例中,可在意識到持久性區(qū)域或暫存區(qū)域中的一個自由空間不足而另一個自由空間過剩時自動地執(zhí)行重新配置。通過重新配置主存儲器290的區(qū)域分區(qū),可以獲得足夠的空間以避免向外部裝置交換程序或數(shù)據(jù)而導致的開銷和性能代償。將在隨后參照圖4A-4B更詳細地討論元存儲在數(shù)據(jù)區(qū)域中的數(shù)據(jù)的結(jié)構(gòu)。
[0031]一種示例性存儲器映射300顯示了將字節(jié)可尋址非易失性讀寫主存儲器290分區(qū)為多個區(qū)域的一種分區(qū)。主存儲器290具有用于存儲器字節(jié)的從A到J的物理地址范圍。存儲器地址O對應于A,而最大存儲器地址對應于J。
[0032]ROM區(qū)域310跨越了存儲器地址范圍A-B。第一持久性區(qū)域320跨越了存儲器地址范圍C-D、和E-F。暫存區(qū)域330跨越了存儲器地址范圍D-E、和F-G。第二持久性區(qū)域340跨越了存儲器地址范圍G-Η。元數(shù)據(jù)區(qū)域350跨越了存儲器地址范圍1-J,在存儲器地址范圍B-C復制此區(qū)域的副本355。元數(shù)據(jù)副本區(qū)域355能夠用于恢復元數(shù)據(jù)區(qū)域350的訛誤。
[0033]示例性存儲器映射300示例出了可存儲在主存儲器290中的與計算機的啟動進程相關(guān)聯(lián)的若干程序。這些程序存儲在ROM區(qū)域310和第一持久性區(qū)域320中。引導裝載程序312存儲在存儲器290的ROM區(qū)域310中。引導裝載程序312在對處理器210已知的第一預定位置處就地可運行。該預定位置可專用于計算機的架構(gòu)。所例示的引導裝載程序312在地址A(即,存儲器地址O)開始運行。
[0034]引導裝載程序312被配置為加載高級模塊。在一個實施例中,引導裝載程序312是一階引導裝載程序(FSBL),而高級模塊是二階引導裝載程序(SSBL)322。在另一實施例中,高級模塊是操作系統(tǒng)或者超管理器324。高級模塊在持久性區(qū)域320中其位置處至少部分地就地可運行。處理器210通常經(jīng)由引導裝載程序312從元數(shù)據(jù)區(qū)域350中的內(nèi)容確定用于操作系統(tǒng)或超管理器324的初始化代碼326在存儲器L中的位置,或者確定SSBL 322的起始在存儲器L’中的位置,后續(xù)地將參照圖4A-4B更詳細地討論。然后從引導裝載程序312將運行的控制轉(zhuǎn)移至高級模塊,高級模塊要么是位置L處的用于操作系統(tǒng)或超管理器324的初始化代碼326、要么是位置L’處的SSBL322,SSBL 322最終轉(zhuǎn)而又將控制轉(zhuǎn)移至位置L處的初始化代碼326。初始化代碼326還可以初始化文件系統(tǒng)驅(qū)動器327,并且安裝計算機的文件系統(tǒng)328以使文件系統(tǒng)中的程序和數(shù)據(jù)文件能夠被訪問。存儲在持久性區(qū)域320中的程序文件和數(shù)據(jù)文件中的一些可被存儲在文件系統(tǒng)328中,并且可使用文件系統(tǒng)驅(qū)動327訪問。
[0035]由于SSBL322和操作系統(tǒng)或超管理器324在持久性區(qū)域320中的其存儲位置處就地可運行,因此避免了在運行將這些模塊322、324加載到存儲器中的步驟。這種步驟可能包含于操作系統(tǒng)或超管理器在運行之前從輔助存儲器被加載到易失性存儲器中的系統(tǒng)中。
[0036]除了存儲器地址A之外,還可預定對應于元數(shù)據(jù)區(qū)域350、355的起始存儲器地址B和I。因此,引導裝載程序312知道去哪里尋找元數(shù)據(jù)區(qū)域,并且由此知道去哪里獲取定義存儲器290的區(qū)域組織的數(shù)據(jù)、和地址L或L’。
[0037]現(xiàn)在就強制執(zhí)行對存儲器290的區(qū)域的訪問許可、參照圖2-3回到計算機200的操作,計算機200包括至少一個強制執(zhí)行機構(gòu)。每個強制執(zhí)行機構(gòu)強制執(zhí)行由元數(shù)據(jù)定義的用于主存儲器290的不同區(qū)域的至少一個操作屬性。
[0038]訪問許可強制執(zhí)行機構(gòu)強制執(zhí)行訪問許可操作屬性。在一個實施例中,計算機200的訪問許可強制執(zhí)行機構(gòu)包括MMU 220和介質(zhì)控制器280。麗1] 220將程序可視的邏輯(或虛擬)存儲器空間轉(zhuǎn)換為存儲器中的物理地址,諸如存儲器290,并且通過不允許對程序本不應該訪問的存儲器進行漫游訪問而提供存儲器保護。
[0039]MMU 200還可對主存儲器290的一個或多個區(qū)域強制執(zhí)行訪問許可操作屬性,包括元數(shù)據(jù)區(qū)域、持久性區(qū)域、暫存區(qū)域、或ROM區(qū)域。存儲在MMU 220中或者存儲在存儲器中的任意位置處并可由MMU 220訪問的表格221中具有對于每個區(qū)域的記錄。每個記錄包含位置字段222和屬性字段224。位置字段222指定區(qū)域的地址范圍,而屬性字段224指定訪問許可操作屬性。在操作期間,當程序請求讀取主存儲器290中的存儲器地址或向其寫入存儲器地址時,MMU 220訪問表格221以確定存儲器地址是否落入位置字段222的其中一個之內(nèi)。如果是,則MMU 220基于對應的屬性字段224確定所請求的存儲器訪問(讀取或?qū)懭?是否被許可。如果被許可,則允許存儲器訪問;但如果不被許可,則不允許存儲器訪問。在一些實施例中,MMU 220對由用戶級程序進行的存儲器訪問強制執(zhí)行訪問許可操作屬性,但不對那些由管理員級程序進行的存儲器訪問進行強制執(zhí)行。
[0040]位置字段222可以以不同方式實施。一種方式使用起始物理地址的子字段、和跟隨在該物理地址之后的塊尺寸。位置字段222還可包括對應于起始物理地址的起始邏輯地址,從而實施邏輯-物理地址轉(zhuǎn)換。
[0041 ] 包括表格221的MMU 220可在啟動進程期間由引導裝載程序312、SSBL 322和操作系統(tǒng)或超管理器324中的一個或多個進行配置。一旦已完成啟動進程,在元數(shù)據(jù)中針對主存儲器290的區(qū)域定義的訪問許可將被強制執(zhí)行。然而,在啟動進程自身期間,可建立并強制執(zhí)行不同的訪問許可。例如,元數(shù)據(jù)可指定:持久性區(qū)域具有讀取訪問和寫入訪問兩者,但為了確保持久性區(qū)域不被在啟動進程期間可能發(fā)生的偽(不想要的)寫入操作占用,可在啟動進程期間將只讀訪問許可指派給持久性區(qū)域。
[0042]介質(zhì)控制器280可對主存儲器290的一個或多個區(qū)域強制執(zhí)行只讀訪問許可操作屬性。這通常針對ROM區(qū)域完成。還可針對元數(shù)據(jù)區(qū)域完成??膳c主存儲器290隔離、或者可與主存儲器組裝在一起的介質(zhì)控制器280用于控制對主存儲器290的結(jié)構(gòu)的訪問。介質(zhì)控制器280的寫保護機構(gòu)(其強制執(zhí)行只讀許可)可配置有位置信息282,該位置信息282指定主存儲器290的一個或多個地址范圍,在該地址范圍內(nèi)將禁止寫入訪問。當介質(zhì)控制器280接收到寫入訪問時,控制器280確定對應的存儲器地址是否落入位置字段282內(nèi)。如果是,則不許可寫入訪問;如果不是,則寫入訪問被許可。位置字段282通常在執(zhí)行啟動進程之前就已連同密碼字段284—起被配置了。
[0043]在某些情形下,可期望允許對被建立為具有只讀許可的地址的寫入訪問。這種情形的一種是更新存儲在ROM區(qū)域310中的引導裝載程序312。這種情形的另一種是修改元數(shù)據(jù)區(qū)域350、355以重新配置主存儲器290的區(qū)域。這種情形的再一種是使用元數(shù)據(jù)區(qū)域350中信息的副本來修復元數(shù)據(jù)區(qū)域350。通常,這些操作是在啟動進程期間執(zhí)行的。向?qū)懕Wo區(qū)域的寫入請求供給密碼。如果所供給的密碼與存儲在介質(zhì)控制器280的密碼字段284中密碼相匹配,則寫入訪問被許可。
[0044]加密強制執(zhí)行機構(gòu)強制執(zhí)行加密操作屬性。在一個實施例中,加密/解密模塊270可實施使用(類似于MMU 220的表格221的)表格的機構(gòu)來強制執(zhí)行加密操作屬性。在此情況中,加密/解密模塊270確定通過模塊270傳遞的存儲器訪問請求是否落入根據(jù)指定標準被定義為加密區(qū)域的地址范圍內(nèi)。如果是,則模塊270在將其傳遞至存儲器290之前加密該寫入請求的數(shù)據(jù),并且在將其傳遞給處理器210之前解密從讀取請求返回的數(shù)據(jù)。
[0045]內(nèi)容留存強制執(zhí)行機構(gòu)強制執(zhí)行內(nèi)容留存操作屬性,以響應于關(guān)機而保持或丟棄區(qū)域的內(nèi)容。在一個實施例中,丟棄是被程序被動地強制執(zhí)行的,該程序?qū)懭牒妥x取存儲在區(qū)域中的數(shù)據(jù),諸如暫存區(qū)域330,該區(qū)域具有“丟棄”的內(nèi)容留存操作屬性。這些程序不期望來自先前啟動的數(shù)據(jù)在計算機200關(guān)機之后仍然有效,因此假定其不存在。在另一實施例中,丟棄是主動地強制執(zhí)行的。一種主動機構(gòu)可以是在關(guān)機進程期間由處理器210運行的程序,并且該程序擦除具有“丟棄”的內(nèi)容留存操作屬性的區(qū)域的存儲器位置。在既具有“丟棄”的內(nèi)容留存操作屬性又具有“加密”的加密屬性的區(qū)域中,主動丟棄機構(gòu)可以丟棄用于解密內(nèi)容的密鑰而不擦除該區(qū)域的存儲器位置。可在計算機200的硬件中實施其他主動丟棄機構(gòu)。
[0046]如已注意到的,在一些實施例中,計算機200還可包括易失性主存儲器260,諸如DRAM,其在對計算機的供電循環(huán)之后不留存其先前的數(shù)據(jù)內(nèi)容。例如,假設(shè)暫存區(qū)域330(圖
3)的跨越地址范圍D-E的部分被映射到易失性主存儲器260而不映射到非易失性主存儲器290。在此情況中,存儲在主存儲器290中的元數(shù)據(jù)區(qū)域350、355的對應數(shù)據(jù)集指的是位于存儲器290外部的存儲器260。易失性主存儲器260可用于接收和運行SSBL 322的至少一部分的副本、操作系統(tǒng)、或超管理器324、或其他程序。易失性主存儲器260還用于存儲被確信為將在對計算機200的供電循環(huán)時被丟棄的數(shù)據(jù),無論是否針對對應區(qū)域指定了內(nèi)容留存操作屬性。然而,在主動丟棄機構(gòu)的情況中,針對對應區(qū)域的“丟棄”的指定內(nèi)容留存操作屬性還將在沒有電力在計算機200循環(huán)而重啟發(fā)生期間丟棄數(shù)據(jù)。
[0047]現(xiàn)在參照圖3和圖4A-4B更加詳細地考慮元數(shù)據(jù)區(qū)域的內(nèi)容,示例性元數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)400對應于存儲器映射300。數(shù)據(jù)結(jié)構(gòu)400可為鏈表。在表頭處是元數(shù)據(jù)條目410。元數(shù)據(jù)條目鏈接至區(qū)域條目420。區(qū)域條目420可鏈接至另一區(qū)域條目420。區(qū)域條目420還可鏈接至地址空間條目430。地址空間條目430可鏈接至另一地址空間條目430。存儲器的特定區(qū)域的元數(shù)據(jù)的數(shù)據(jù)集包括區(qū)域條目420和一個或多個地址空間條目430。
[0048]在更詳細地考慮示例性元數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)400之前,參照圖4A考慮該數(shù)據(jù)結(jié)構(gòu)400中使用的不同條目410-430。
[0049]元數(shù)據(jù)條目410具有版本字段412、高級模塊初始化代碼地址字段414、鏈接至區(qū)域條目420的第一區(qū)域字段416、和CRC字段418。
[0050]版本字段412表示數(shù)據(jù)結(jié)構(gòu)400的版本號。如果數(shù)據(jù)結(jié)構(gòu)400的內(nèi)容隨著時間而進化,則該版本能夠用于為包含元數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)400的較早版本的存儲器提供向后兼容性。高級模塊初始化代碼地址字段414存儲高級模塊初始化代碼的地址。當SSBL 322是高級模塊時,地址字段414存儲SSBL 322的起始地址L’。當操作系統(tǒng)或超管理器324是高級模塊時,地址字段414存儲其初始化代碼326的起始地址L。第一區(qū)域字段416存儲指向元數(shù)據(jù)的第一區(qū)域條目420的指針。CRC字段418存儲從元數(shù)據(jù)條目410的其他字段導出的、可用于校驗元數(shù)據(jù)條目410的完整性的循環(huán)冗贅核對值。
[0051]區(qū)域條目420具有區(qū)域類型字段421、數(shù)據(jù)留存操作屬性字段422、訪問許可操作屬性字段423、加密操作屬性字段424、鏈接至地址空間條目430的第一地址空間字段425、鏈接至另一區(qū)域條目420的下一區(qū)域字段426、以及CRC字段427。
[0052]區(qū)域類型字段421指定區(qū)域條目420所對應的區(qū)域的類型:R0M、暫存的、或持久的。由于元數(shù)據(jù)區(qū)域350、355的地址是已知的,可以不存在用于元數(shù)據(jù)區(qū)域350、355中任一個的區(qū)域條目420,盡管在一些實施例中是存在的。數(shù)據(jù)留存操作屬性字段422指定:響應于關(guān)機、區(qū)域中的數(shù)據(jù)將被保持還是被丟棄。訪問許可操作屬性字段423指定:是否許可對區(qū)域內(nèi)的存儲器地址的讀取訪問和寫入訪問。加密操作屬性字段424指定:是否對存儲在區(qū)域中的數(shù)據(jù)加密,如果是,則指定采用什么類型的加密標準。第一地址空間字段425存儲指向區(qū)域的第一地址空間條目430的指針。下一區(qū)域字段426存儲指向元數(shù)據(jù)的下一區(qū)域條目420的指針??罩羔槺硎炬湵碇械淖詈髤^(qū)域條目420XRC字段427存儲從區(qū)域條目420的其他字段導出的、可用于校驗區(qū)域條目420的完整性的循環(huán)冗贅核對值。
[0053]地址空間條目430具有起始地址字段432、長度字段434、鏈接至另一地址空間條目430的下一地址空間字段436、和CRC字段438。
[0054]起始地址字段432存儲用于區(qū)域的存儲器地址范圍的第一地址。長度字段434通常以字節(jié)存儲用于該區(qū)域的存儲器地址范圍的長度。由此,區(qū)域的相連存儲器地址部分的跨度可由起始地址字段432和長度字段434確定。下一地址空間字段436存儲指向區(qū)域的下一地址空間條目430的指針??罩羔槺硎居糜趨^(qū)域的最后地址空間條目430XRC字段438存儲從地址空間條目430的其他字段導出的、可用于校驗該地址空間條目430的完整性的循環(huán)冗贅核對值。
[0055]現(xiàn)在參照圖3和4B考慮對應于存儲器映射300的示例性元數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)400,區(qū)域條目420A和地址空間430A的數(shù)據(jù)集定義ROM區(qū)域310。區(qū)域條目420B和地址空間430B-C的數(shù)據(jù)集定義第一持久性區(qū)域320。區(qū)域條目420C和地址空間430D-E的數(shù)據(jù)集定義暫存區(qū)域330。區(qū)域條目420D和地址空間430F的數(shù)據(jù)集定義第二持久性區(qū)域340。
[0056]元數(shù)據(jù)可以定義多個持久性或暫存區(qū)域的原因有多個。多個區(qū)域可能具有不同的操作屬性;例如,一個持久性區(qū)域可能是加密的(如在區(qū)域條目420D中針對第二持久性區(qū)域340),而另一持久性區(qū)域可能不加密(如在區(qū)域條目420B中針對第一持久性區(qū)域320)?;蛘?,在可雙重啟動進入兩種不同操作系統(tǒng)的計算機中,一個持久性區(qū)域可對應于第一操作系統(tǒng),而其他持久性區(qū)域可對應于第二操作系統(tǒng)。元數(shù)據(jù)可以定義區(qū)域內(nèi)的多個地址空間的原因也有多個。例如,暫存區(qū)域330的一個地址空間430可對應于非易失性主存儲器290的一部分,而暫存區(qū)域330的另一地址空間430可對應于易失性主存儲器260的至少一部分。
[0057]在啟動進程期間或者在其他時間,可通過計算每個條目410、420、430的對應CRC值并且將計算得到的CRC值與存儲在對應CRC字段418、427、438中的值相比較來核對元數(shù)據(jù)區(qū)域350、355中數(shù)據(jù)的完整性。如果任意CRC值都不匹配,則至少對應條目410、420、430已被訛誤。例如,如果元數(shù)據(jù)區(qū)域350的內(nèi)容被訛誤,則元數(shù)據(jù)區(qū)域355的一些或全部有效內(nèi)容可被復制到元數(shù)據(jù)區(qū)域350,以便于從訛誤中恢復。
[0058]現(xiàn)在參照圖5A-5B考慮計算機的啟動進程的流程圖??商鎿Q地,圖5A-5B的流程圖可被視為是啟動計算機的方法500的步驟。在一些實施例中,計算機可以是計算機200(圖2)。方法500起始于步驟510,使用計算機的處理器訪問通信地連接至處理器的字節(jié)可尋址非易失性讀取主存儲器。該存儲器被分區(qū)為多個區(qū)域。ROM區(qū)域包括引導裝載程序。持久性區(qū)域包含在主存儲器中至少部分地就地可運行的操作系統(tǒng)或超管理器。在一些實施例中,在512,響應于計算機關(guān)機而留存ROM區(qū)域、持久性區(qū)域、和元數(shù)據(jù)區(qū)域的內(nèi)容。在一些實施例中,在514,主存儲器還包括暫存區(qū)域,其內(nèi)容響應于關(guān)機而丟棄。
[0059]在520,引導裝載程序在主存儲器中就地運行。如先前關(guān)于示例性存儲器映射300(圖3)討論過的,引導裝載程序的可運行代碼的起始在主存儲器中的地址位置對于處理器是已知的。
[0060]在530,讀取主存儲器中的元數(shù)據(jù)區(qū)域從而定位位于持久性區(qū)域的高級模塊。如先前關(guān)于示例性存儲器映射300(圖3)討論過的,在引導裝載程序的指示下,元數(shù)據(jù)區(qū)域的起始地址位置對于處理器也是已知的。定位高級模塊可包括:確定用于高級模塊的可運行代碼的起始(諸如其初始化代碼)在該主存儲器中的地址位置。
[0061]在540,將控制轉(zhuǎn)移到高級模塊中運行。例如可指引處理器在用于高級模塊的可運行代碼的起始地址位置處繼續(xù)運行。在一些實施例中,高級模塊的部分或者整個高級模塊在持久性區(qū)域中就地運行。在一些實施例中,高級模塊的部分或者整個高級模塊可被復制到另一存儲器,諸如易失性主存儲器,或者被復制到另一區(qū)域,諸如暫存區(qū)域,并且可在被加載到的存儲器或區(qū)域的位置處運行。
[0062]在一些實施例中,在542,引導裝載程序是一階引導裝載程序(FSBL),而高級模塊是二階引導裝載程序(SSBL)。在544,SSBL通過讀取元數(shù)據(jù)區(qū)域而在持久性區(qū)域中定位用于操作系統(tǒng)或超管理器的初始化代碼。例如,SSBL可被預先配置為已知初始化代碼起始于與其自己的起始地址具有固定偏移之處,固定偏移轉(zhuǎn)而又可由元數(shù)據(jù)條目410的高級模塊初始化代碼地址字段414確定。在546,將控制從SSBL轉(zhuǎn)移到操作系統(tǒng)或超管理器初始化代碼從而繼續(xù)并且最終完成啟動進程。
[0063]在一些實施例中,在552,高級模塊是操作系統(tǒng)或超管理器。在554,持久性區(qū)域中用于操作系統(tǒng)或超管理器的初始化代碼是由引導裝載程序讀取元數(shù)據(jù)區(qū)域而定位的。例如,可運行初始化代碼的起始可從元數(shù)據(jù)條目410的高級模塊初始化代碼地址字段414獲得。在556,將控制從引導裝載程序轉(zhuǎn)移到操作系統(tǒng)或超管理器初始化代碼從而繼續(xù)并且最終完成啟動進程。
[0064]SSBL和/或操作系統(tǒng)或超管理器初始化代碼可執(zhí)行是啟動進程的一部分的其他功能,諸如例如初始化文件系統(tǒng)。一旦被初始化,文件系統(tǒng)可被用于定位存儲在例如持久性區(qū)域中的程序或數(shù)據(jù),包括可以是啟動進程的一部分的程序或數(shù)據(jù)。
[0065]在一些實施例中,在此討論的一個或多個塊或步驟是自動的。換言之,設(shè)備、系統(tǒng)、和方法自動地發(fā)生。如在此并且在所附權(quán)利要求中限定的,術(shù)語“自動的”或者“自動地”(及其類似變型)應被廣義地理解為意指設(shè)備、系統(tǒng)和/或進程的受控操作,其使用計算機和/或機械/電氣裝置而無需人工干預、觀察、付出和/或決策。
[0066]如上所述,將被領(lǐng)會的是,由本公開提供的計算機和方法在本領(lǐng)域呈現(xiàn)出了顯著的進步。盡管已描述并例示了若干具體實施例,但公開不限于所描述和例示的具體方法、形式或部件的布置。
[0067]比如,本公開的實施例不限于具有單個處理器的計算機。雖然在圖1-2中為了清楚起見例示了單個處理器,但其他示例性系統(tǒng)可包括多核CPU,其中每核包括一個處理器。在一些情況中,多核可操作以啟動單個操作系統(tǒng)或超管理器。在此情況中,其中一個核(稱為“啟動核”或“核O”)運行在此描述的啟動進程而其他核不參與。當操作系統(tǒng)或超管理器的內(nèi)核掌握系統(tǒng)控制時,其以適當?shù)姆绞郊せ钇渌?。然后,所有核將遵循相同的當前系統(tǒng)配置,包括平等共享存儲器(包括各區(qū)域)和硬件資源(諸如總線205、存儲器260、290、加密/解密模塊270以及其他硬件組件)。
[0068]在其他情況中,根據(jù)在此公開的啟動進程,多核可各自操作啟動操作系統(tǒng)或超管理器的不同實例。被配置為啟動各種不同操作系統(tǒng)的核彼此獨立地運作這些。每個核從指派到該核的固定存儲器區(qū)域訪問啟動代碼;不同核之間的存儲器區(qū)域可相同或可不相同。每個操作系統(tǒng)和/或超管理器獨立于其他操作系統(tǒng)和/或超管理器。在這些情況中,各核之間可以不平等地共享存儲器和其他硬件資源。
[0069]另外,本公開的實施例不限于個人計算機、臺式計算機、筆記本計算機、客戶端計算機或者服務器計算機,而是可應用于多種多樣的裝置中,包括但不限于蜂窩電話、智能電話、個人數(shù)字助理、和具有嵌入式計算機的所有類型的電子或電磁裝置。本說明書應當被理解為包括在此公開的元素的所有新穎的并且非顯而易見的組合、和在本申請以及在后申請中陳列的權(quán)利要求中包括的這些元素的任意新穎的并且非顯而易見的組合。前述實施例是示意性的,并且不存在對于在本申請或在后申請中請求保護的所有可能組合都必要的單個特征或元素。除非另外指明,方法權(quán)利要求的步驟不必以指定順序執(zhí)行。類似地,示圖中的塊或數(shù)字(諸如(1)、(2)等)不應當被理解為步驟必須以特定順序進行??商砑痈郊拥膲K/步驟、移除一些塊/步驟、或者可修改塊/步驟的順序,修改后的順序仍將落入在此公開的實施例的范圍內(nèi)。進一步地,在不同附圖中討論的方法或步驟可被添加至其他附圖中的方法或步驟、或者與其交換。再進一步地,具體的用數(shù)字表示的數(shù)據(jù)值(諸如具體數(shù)量、數(shù)字、分類等)或其他具體信息應當被解讀為是示意地用于討論實施例。提供這種具體信息不在于限定實施例。本公開不限于上述實施方式,相反,本公開由所附權(quán)利要求根據(jù)其等同方案的全部范圍定義。當權(quán)利要求引用“一個”或者“第一”元素或者其等同物時,這種權(quán)利要求應被理解為包括一個或多個這種元素的結(jié)合,既不要求也不排除兩個或更多個這種元素。當權(quán)利要求引用“具有”時,該術(shù)語應被理解為意指“包括”。
【主權(quán)項】
1.一種計算機,包括: 處理器;以及 字節(jié)可尋址非易失性讀寫主存儲器,連接至所述處理器,所述存儲器被分區(qū)為多個區(qū)域,每個區(qū)域具有至少一個定義的操作屬性, 其中,所述多個區(qū)域中的至少一個區(qū)域是存儲多個數(shù)據(jù)集的元數(shù)據(jù)區(qū)域,每個數(shù)據(jù)集指定所述多個區(qū)域中的一個對應區(qū)域在存儲器中的位置、和所述對應區(qū)域的所述至少一個定義的操作屬性。2.如權(quán)利要求1所述的計算機,其中,所述至少一個定義的操作屬性包括由所述處理器對所述對應區(qū)域內(nèi)的存儲器地址的至少一種類型的可允許訪問。3.如權(quán)利要求1所述的計算機,其中,所述至少一個定義的操作屬性包括所述對應區(qū)域響應于所述計算機關(guān)機的內(nèi)容留存屬性。4.如權(quán)利要求1所述的計算機,其中,所述至少一個定義的操作屬性包括應用于所述對應區(qū)域的內(nèi)容的加密類型。5.如權(quán)利要求1所述的計算機,其中,所述計算機根據(jù)所述元數(shù)據(jù)區(qū)域的所述多個數(shù)據(jù)集強制執(zhí)行所述多個區(qū)域的所述操作屬性。6.如權(quán)利要求1所述的計算機,其中,所述元數(shù)據(jù)區(qū)域具有只讀訪問、和響應于所述計算機關(guān)機而保持內(nèi)容的操作屬性。7.如權(quán)利要求1所述的計算機,其中,所述區(qū)域包括: ROM區(qū)域,存儲引導裝載程序的至少一部分,所述ROM區(qū)域具有只讀訪問、和響應于所述計算機關(guān)機而保持內(nèi)容的操作屬性; 持久性區(qū)域,存儲操作系統(tǒng)或超管理器,所述持久性區(qū)域具有在正常操作期間至少讀取訪問、和響應于所述計算機關(guān)機而保持內(nèi)容的操作屬性;以及 暫存區(qū)域,存儲在所述計算機操作期間由所述引導裝載程序、所述操作系統(tǒng)、和所述超管理器中的至少一個生成的數(shù)據(jù),所述暫存區(qū)域具有至少讀取訪問和寫入訪問、和響應于所述計算機關(guān)機而丟棄內(nèi)容的操作屬性。8.如權(quán)利要求1所述的計算機,包括: 連接至所述處理器的易失性讀寫主存儲器中的外部暫存區(qū)域,所述外部暫存區(qū)域接收并運行操作系統(tǒng)或者超管理器的至少一部分的副本,所述外部暫存區(qū)域具有至少讀取訪問和寫入訪問的操作屬性;以及 其中,所述元數(shù)據(jù)區(qū)域進一步包括:對應于所述外部暫存區(qū)域的數(shù)據(jù)集。9.一種計算機,包括: 處理器; 字節(jié)可尋址非易失性讀寫主存儲器,連接至所述處理器,所述存儲器被分區(qū)為多個不同區(qū)域; 引導裝載程序,存儲在所述存儲器的ROM區(qū)域中并且在第一預定位置處就地可運行; 高級模塊,存儲在所述存儲器的持久性區(qū)域中并且至少部分地在所述持久性區(qū)域中就地可運行; 其中,所述存儲器包括存儲多個數(shù)據(jù)集的元數(shù)據(jù)區(qū)域,所述元數(shù)據(jù)區(qū)域起始于第二預定位置并且指定所述高級模塊在存儲器中的位置,并且其中,每個數(shù)據(jù)集指定所述多個區(qū)域中的一個區(qū)域在存儲器中的位置。10.如權(quán)利要求9所述的計算機,其中,每個數(shù)據(jù)集還指定所述對應區(qū)域的內(nèi)容留存特征,所述計算機進一步包括: 內(nèi)容留存強制執(zhí)行機構(gòu),響應于所述計算機關(guān)機針對每個區(qū)域強制執(zhí)行用于該區(qū)域的對應的內(nèi)容留存特征。11.一種啟動計算機的方法,包括: 使用所述計算機的處理器訪問連接至所述處理器的字節(jié)可尋址非易失性讀寫主存儲器,所述存儲器被分區(qū)為包括ROM區(qū)域和持久性區(qū)域的多個區(qū)域,所述ROM區(qū)域包括引導裝載程序,所述持久性區(qū)域包含至少部分地就地可運行的操作系統(tǒng)或者超管理器; 在所述ROM區(qū)域中的已知地址處就地運行所述引導裝載程序; 通過所述引導裝載程序讀取所述存儲器中已知地址處的元數(shù)據(jù)區(qū)域,以在所述持久性區(qū)域中定位高級模塊;以及 將控制轉(zhuǎn)移至所述高級模塊運行。12.如權(quán)利要求11所述的方法,其中,所述引導裝載程序是一階引導裝載程序,并且其中,所述高級模塊是二階弓I導裝載程序,所述方法進一步包括: 通過所述二階引導裝載程序在所述持久性區(qū)域中定位用于所述操作系統(tǒng)或者所述超管理器的初始化代碼;以及 將控制轉(zhuǎn)移至所述初始化代碼來運行以完成啟動進程。13.如權(quán)利要求11所述的方法,其中,所述高級模塊是所述操作系統(tǒng)或者超管理器; 其中,所述讀取定位在所述持久性區(qū)域中的用于所述操作系統(tǒng)或者所述超管理器的初始化代碼;且 其中,所述轉(zhuǎn)移將控制轉(zhuǎn)移至所述初始化代碼來運行以完成啟動進程。14.如權(quán)利要求11所述的方法,其中,所述高級模塊在所述持久性區(qū)域中被就地運行。15.如權(quán)利要求11所述的方法,其中,所述ROM區(qū)域、所述持久性區(qū)域、和所述元數(shù)據(jù)區(qū)域中的內(nèi)容響應于所述計算機關(guān)機而留存;且 其中,所述存儲器包括暫存區(qū)域,以存儲在所述計算機操作期間生成的數(shù)據(jù);且 其中,所述暫存區(qū)域中的內(nèi)容響應于所述計算機關(guān)機而丟棄。
【文檔編號】G06F9/44GK105917308SQ201480073393
【公開日】2016年8月31日
【申請日】2014年1月22日
【發(fā)明人】C·H·科斯塔, 塔西亞諾·德雷克曼·佩雷斯, D·R·梅達利亞, M·N·波爾托, R·班德爾, J·C·安布羅西
【申請人】惠普發(fā)展公司,有限責任合伙企業(yè)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1