201220186 100571.TW 35570twf.doc/n 六、發明說明: 【發明所屬之技術領域】 本發明是有關於-種資料保護方法,且特 一種受損記憶胞的資料保護方法。 有關於 【先前技術】
,著電子健的魏,各歸訊的錢財 種儲存媒體,而其中的記憶體因其運作速率快員^各 ,中不可或缺的儲存媒體。然而,由於資訊傳d 大,對於傳送速率的要求也日益提升,導致系i皿牦 記憶體容量及速度的要求逐漸提高。,、、…者對於 然而,在提高記憶體容量的同時,記憶體 ^又也相對增高,而隨著積體電路在半導體記憶^密 度的增加,每個記憶胞的尺寸就必輯少。因此,在 憶胞在需要得到較小尺規、又要得到其原本電容的情況 下’不僅製程㈣複雜,在彡統高速存取的要求下 胞出現錯誤的機率也會增加。 ^ 記憶體發生錯誤的情況可分為可修正錯誤 (Correctable Error,CE)及不可修正錯誤(Unc咖^此 Enm,UE)。可修正錯誤(Correctabie Err〇r,CE) 一般 為單位元錯誤(Single Bit Error,SBE)或是發生錯誤之位 兀數目與位子在電子裝置之可修正範圍内的多位元錯誤 j Multi-Bit Error ’ MBE)。其中,可修正錯誤仍可透過錯 誤偵測與修正(Error Detection and Correction,EDC)方 201220186 100571.TW 35570twf.d〇c/n 法彈性地修正。對於此種錯誤,習知技術是藉由在記憶體 中配置備用(Spare)記憶體模組的方式,以在記憶體發生 可修正錯誤時作為資料備份之用。然而,此備用記憶體會 占用大量的記憶體空間而造成記憶體的浪費,而將資料備 伤至備用記憶體的動作也會花費相當時間,結果使得系統 整體的效能下降。 另一方面,對於不可修正錯誤,習知技術是使用記憶 體的一半作為重複(Mirr〇r)記憶體,以在記憶體發生不 可修正錯誤時作為資料修正之用。然而,此備用記憶體會 占用^統一半的記憶體空間,結果則造成記憶體的浪費, 並使得系統整體的效能下降。此外,上述的資料重複備份 ^式為了保持原記憶體及重複記憶體中的資料一致,故在 每次有㈣寫人或讀㈣需同時對這兩部分記憶體進行存 取,相對地也會占用系統資源。 【發明内容】 —本發明提供一種受損記憶胞的資料保護方法,僅針對 。己,體中之作㈣統的核讀式做映像(偷⑽)備份, 可節省所占用的記憶體空間。 本發明提出―較損記㈣料紐方法,適用於 。己itn的電子裝置,此記憶體包括記紐㈣器及記 記憶單元由多個記憶胞組成,而這些記憶胞係劃 :留二。此方法係先執行開機程序,並在記憶體中 '、留1讀備份記Μ以提供給中斷處理模組使用,此初 201220186 100571.TW 35570twf.doc/n 始備份記憶體包括至少-個備份頁面。接著,執行作業系 統.,並將位於記憶體中作業系統之核心程式區 region)内的資料載入記憶體的映像區(而贿叫㈣, m業系統讀取記憶體時’透過記憶體控制器偵測各 $頁面中記憶胞所出現的不可修正錯誤。當偵測到有頁面 =不可修正錯誤時,即判定此頁面為受損頁面,而由初 始備份記憶體中取得-個備份頁面,以將此受損頁面 • f料備份至備份頁面。之後,將受損頁面及備份頁面的對 映位址記錄於記憶體控制器中的頁面映射表,並且在作業 系統存取受損頁面時,由記憶體控制㈤艮據頁面映射表'中 的對映位址,改為存取備份頁面的資料。 在本發明之一實施例中,上述在僧測到有頁面出現不 可修正錯誤時’判定此頁面為受損頁面,而由初始備份記 憶體中取得備份頁面,以將受損頁面中的資料備份至備份 頁面的步驟包括判斷受損頁面是否位於作業系統之核心程 式區,其中若受損頁面不位於核心程式區,則執行例外程 式以停止執行受此受損頁面所影響之應用程式 (Application )或虛擬器(Virtual Machine ),而由電子裝 置之硬碟重新载入此應用程式或虛擬器的程式碼至所取^ 之備份頁面,以重新執行應用程式或虛擬器;若受損頁I 位於核心程式區,由記憶體的映像區_重新載入與此受損 頁面相對應的資料至所取得之備份頁面,以備份受損之^ 心程式區的資料。 、 在本發明之一實施例中,上述將位於記憶體中作業系 201220186 100571.TW 35570twf.doc/n 資料载入記憶體的映像區的步驟包括 :::統之核心程式區的基底位址及大小,接著決定 及大像位址,然後根據核心程式碼的基底位址 處,對核心程式區内資料做存取(access :: 内資m财株,d胃記,_像 mirror)之機制。 ] ,本㈣之-實施例巾,上述執行開機程序的步驟更 憶,系統資料區中保留一記憶體區段,以作為 電子裝置之中斷處理模組與作業系統之應襲組交換 之用。 在本心月之貫施例中’上述執行開機程序的步驟更 包括啟動中斷處理模組,並致能當不可修正錯誤出現時之 糸統中斷功能。 在本發明之-實施例中,上述執行作業系統的步驟更 包括由基本輸入輸出系統(Basic niput/Ompm System, BIOS)中取得聰留之記,隨的記紐區段與初始備份記 憶體的基底位址與大小,使得作業祕不會也不能使用此 些記憶體。 在本發明之一實施例令,上述透過記憶體控制器偵測 各個頁面中記憶胞所出現的不可修正錯誤的步驟包括在記 憶體控制器偵測到不可修正錯誤時,將出現不可修正錯誤 的頁面位址記錄於暫存器,並發出系統中斷,以執行中斷 處理模組。 201220186 100571.TW 35570twf.doc/n 在本發明之一 Λ施例中,上述由初始備份記憶體中取 得備份頁面,以將受損頁面中的資料備份至備份頁面的步 驟更包括判斷初始備份記憶體之空置頁面的數量是否少於 -預設值m頁面的數量少於預設值,則動態從作業 系統取得一記憶空間以作為備份記憶體。 、 在本發明之一實施例中,上述動態從作業系統取得備 份記憶體的步驟包括由中斷處理模組寫入頁面請求於系統 • f料區巾保㈣記憶魏段,接著由應賴組檢視系統資 料區之s己憶體區段的資料,以檢視中斷處理模組所發出的 頁面請求,然後由應用模組向作業系統取得備份記憶體, 以提供給中斷處理模組,而中斷處理模組即以此備份記悵 體當作備份頁面使用。 〜 在本發明之一實施例中,上述由應用模組檢視系統資 料區之記憶體區段的資料,以檢視中斷處理模組所發出的 頁面請求的步驟包括由應用模組使用詢問(pomng)方法 或中斷方法檢視系統資料區之記憶體區段的資料,以檢 籲 中斷處理模纽所發出的頁面請求。 在本發明之一實施例中,上述由應用模組向作業系 取得備份記憶體,以提供給中斷處理模組使用的步驟包括 由應用模組將備伤5己憶體的基底位址及尺寸記錄於系統次 料區中保留的記憶體區段,以提供給中斷處理模組使用貝 在本發明之一實施例中,上述由應用模組取得備份記 憶體,以提供給中斷處理模組使用的步驟包括由中斷處理 模組查詢一頁面使用表,以從備份記憶體中取得空置頁面 201220186 100571.TW 35570twf.doc/n 作為備份頁面,並將此備份頁面沾说扣At 刀只甸的使用狀態更新為使用 中,以及將受損頁面的使用狀態更新為受損。 在本發明之一實施例中,上述由中斷處理模組查詢頁 面使用表,輯備份記憶體巾轉空置頁面作為備份頁面 的步驟更包括若中斷處理模組在查詢頁面使用表時發現備 份記憶體已無空置頁面,則禁能當不可修正錯誤出現時之 系統中斷的功能。 在本發明之-實施例中,上述由中斷處理模組查詢頁 面使用表,以從備份記憶體中取得空置頁面作為備份頁面 的步驟更包括若情處賴組在查詢頁面使歸時發現備 份記憶體之空置頁面的數量少於預設值時,動態從作業系 統取得一記憶空間以作為備份記憶體。 在本發明之一實施例中,上述由中斷處理模組查詢頁 面使用表,以從備份記憶體中取得空置頁面作為備份頁面 的步驟更包括若中斷處理模組在查詢頁面使用表時發現備 份記憶體已無空置頁面,傳送控制指令(jPMI OEM command)至基板管理控制器’以由基板管理控制器發出 警不訊息。 在本發明之一實施例中,上述之核心程式區包括記錄 作業系統之核心程式及系統管理模式程式。 在本發明之一實施例中,上述之電子裝置包括透過傳 統基本輸入輸出系統(Legacy Basic Input/Output System, Legacy BIOS )或延伸韌體介面基本輸入輸出系統 (Extensible Firmware Interface BIOS,EFI BIOS )進行開 201220186 100571.TW 35570twf.doc/n 機。 在本發明之一實施例中,上述之不可修正錯誤包括發 生錯誤之位元數目與位子超過電子裝置之可修正範圍的多 位元錯誤。 基於上述’本發明之受損記憶胞的資料保護方法係使 用θβ片組之5己憶體位址重映射(remapping )方法,僅針對 記憶體中之作業系統的核心程式做映像備份,並在出現不 可修正錯誤時,將受損頁面的位址轉到正常頁面的位址。 藉此,可在;記龍找的情況下,達成受損記 憶胞的資料保護。 為讓本發明之上述特徵和優點能更明顯易懂,下文特 舉實施例,並配合所附圖式作詳細說明如下。 【實施方式】 :己憶體中作業系統的核心程式區内的資料是電子裝 置執行作業系統所需的關鍵(edtieal)資料,—旦此區域 内的資料發生不可修正錯誤,將會直接影㈣統的正常運 作’甚至造成當機。為了能財稀㈣乡記憶體資源的 情況下=止系統當機,本發明係將記憶體以劃分成頁面的 方式來e S ’並僅對作業系統的核心㈤咖丨)資料進行 Alt體映像。在各個頁面中的記憶胞發生不可修正錯誤 (Uncorreetable Eitgi· ’ UE)時,只將此頁面從記憶體中移 除,藉此可保留衫的記,隨給作㈣統,進而增加 系、洗整體的效志。本發明即是根據上述概念所發展出來的 201220186 1UU371.TW 35570twf.doc/n 一種受損記憶胞的資料保護方法,以下即舉實施例說明其 詳細實施方式。 圖1是依據本發明一實施例所繪示之電子裝置的系統 架構示意圖。請參照圖1,本實施例之100包括處理器110、 記憶體120及中斷處理模組130,而記憶體120中包括記 憶體控制器140以及由多個記憶胞組成的記憶單元150。 其中’處理器110例如是中央處理單元(Central Processing Unit,CPU),而記憶單元150例如是動態隨機存取記憶 體(Dynamic Random Access Memory,DRAM)或其他種 類的記憶體’在此並不設限。此外’中斷處理模組13〇例 如疋糸統管理中斷處理程式(System Management Interrupt handler ’ SMI handler),而用以服務處理器no所接收到 的系統管理中斷(System Management Interrupt,SMI)。 詳言之,當電子裝置100中的元件觸發系統管理中斷 時,即會發送系統管理中斷訊息至處理器11〇,而處理器 11〇在接收到此訊號時,即進入系統管理模式(System
Management Mode ’ SMM ),而由基本輸入輸出系統(Basic
Input Output System,BIOS )在此模式下執行系統管理中 斷處理程式,以服務系統管理中斷。 圖2是依據本發明一實施例所繪示之受損記憶胞的資 料保護方法的流程圖。請參照圖2,本實施例的方法適用 於圖1的電子裝置1〇〇,以下則搭配圖1之電子裝置1〇〇 中的各個元件說明此方法的詳細步驟。 首先,當電子裝置100的電源開啟後,即由處理器110 201220186 10057 l.TW 35570twf.doc/n 執行開機程序,並在記㈣12G巾_ —減備份記憶體 (此大小要為頁面大小之倍數,例如若頁面大小為8Κβ, 則此初始備伤δ己憶體可為1MB)以供中斷處理模組作為備 份頁面使用(步驟S202)。其中,作業系統不能使用此初 始備份記憶體’而此初始備份記憶體包括至少一個備份頁 面。 詳言之,處理器110例如是執行傳統基本輸入輸出系 統(Legacy Basic Input/Output System,Legacy BIOS )或 延伸韌體介面基本輸入輸出系統(Extensible Firmware Interface BIOS,EFI BIOS)以進行開機,而其保留初始備 份記憶體的作法於傳統Legacy BIOS中是使用進階組態與 電源介面(Advanced Configuration and Power Interface, ACPI)之INT 15h的E820h功能呼叫,而於efi BIOS中 是使用EFI介面的GetMemoryMap()功能呼叫。 在開機程序完成後’處理器110接著執行電子裝置100 的作業系統,並將位於記憶體中作業系統之核心程式區 (kernel region)内的資料載入記憶體的映像區(mirr〇r region)(步驟S204)。其中,處理器ι10例如是取得作 業糸統之核心程式區的基底位址及大小,並決定映像區的 基底位址’而利用新增的一個ACPI機器語言(ACPI Machine Language ’ AML)方法,根據核心程式碼的基底 位址及大小將核心程式區内的資料載入映像區的基底位 址’藉此設定並啟動核心程式區的映像保護功能,如此當 處理器110對核心程式區(Kernel Region )内資料做存取 11 201220186 100571 .TW 3 5570twf.doc/n (access )時’映像區(Mirr〇r尺啦加)内資料也會跟著做 存取此為所°月δ己憶體映像(memory mirror )機制。此 方法匕括3個輪入參數Parameter 0、Parameter 1、 Parameter〗’其中參數parameter〇為核心程式區的基底位 meter 1為核心程式區的大小、2為映像 區的基底位址。 。^實&例僅針對記憶體巾所有作業純之核心程式 區的程式碼及資料進行記憶體映像,财法減於映像整 ,己=體:方式不僅可節省記憶體空間,且由於核心程式 區的育料量少’可減対、_原記憶體與映像記憶 進行讀寫的資料量。 接著’在作業系統讀取記憶體120 a寺,透過記憶體控 二4〇1貞測各個頁面中記憶胞所出現的不可修正錯誤 =S’ 4述的不可修正錯誤包括發生錯誤之位元 數目或位子超過電子農置之可修正範圍的多位元錯誤,在 此不設限。 詳。之’處理器11〇例如會先致能錯誤中斷暫存哭 不可修正錯糾現時的系統中斷功能,而透i = ΪΓ40伯測各個頁面中記憶胞所出現的不可修 器?:二;二記憶體控制器140例如是在錯誤頁面暫存 統中斷,2 :此不可修正錯誤的頁面位址,並發出系 * 3拉二J丁斷處理模組130。而中斷處理模組130 錯誤頁面暫存器142中所記錄之出現不可修 决的頁面,而得知頁面發生不可修正錯誤。 12 ⑧ 201220186 100571.TW 35570twf.doc/n _當===::=,即觸發 *,由備份記憶體取得-個備 資料備份至備份頁面(步驟_。其中,的己 ==疋減備份記憶體或動態由作業系統中獲得之備 在資料備份完畢後,.中斷處理模組13〇即將上 ^面及備份頁面賴映位址記錄於記憶體 ^ 頁面映射表M7(步驟S21())。其中,中斷處理模么且中= =如是採耽憶體位址重映射(remapping)方法,將受損 頁面的位址映射至備份位址,並分別在頁面映射表 址。的空白攔財填人所述受損頁面以及備份頁面的位 ’ tT次作㈣統欲存取受損頁科,記憶體控 制态140即可根據頁面映射表中的對映位址,改為存取備 資料(步驟S212) ’而達到保護受損記憶胞的資 藉由上述的記憶體位址重映射(remapping)方法,作 業^統存取的是受損頁面的原先位址,然而經由記憶體控 制器14〇的重映射,最終存取到的則是備份頁面的ς射ς 址。因此,在本實施例中,作業系統的程式無需更改。 二。需說明的是,當記憶體控制器140偵測到不可修正錯 块並觸發系統中時,中斷處理模組13〇還 : 出現不可修正錯狀頁面是否位於作㈣= 13 201220186 10057 l.TW 35570twf.doc/n 區,並據以從硬碟中或從記憶體的映像區中載入受損頁面 的程式碼,以回復受損的資料。 、 詳了之’圖3是依據纟發明一實施例所綠示之受損記 憶胞的資料保護方法的流程圖。請同時參照圖i及圖3, 本實施例係在記憶體控制器刚侧到不可修正錯誤並觸 發系統中斷(步驟S302)時,由中斷處理模組13 受 損頁面是否位於作業系統之核心程式區(步驟S3〇/)J^ 中若中斷處理模組13Q判斷受損頁面不是位於核心程式 區,則會離開中斷處理模組130,並由處理器11〇判斷出 不可修正錯誤,並至作錢統執行—例外程式(如响⑽ Software)以停止執行受此受損頁面所影響的應用程式 (Application)或虛擬器(virtualMachine)(步驟 s3〇6), 並由電子裝置的硬碟將此應用程式或虛擬器的程式碼重新 載入所取得之備份頁面(步驟S308),以重新執行應用程 式或虛擬器(步驟S310)。反之,若中斷處理模組13〇判 斷受損頁面是位於核心程式區,則由記憶體之映像區中將 與受損頁面相對應的資料重新載入所取得之備份頁面,以 備份受損之核心程式區的資料(步驟S312)。 此外,在另一實施例中,在電子裝置1〇〇之處理器ιι〇 在執行開機程序的過程中,還包括在記憶體12〇的系統資 料區中保留一個記憶體區段,以作為上述中斷處理模二 130與作業系統之應用模組交換資料之用。以下則再舉一 實施例詳細說明。 圖4是依據本發明一實施例所繪示之受損記憶胞的資 201220186 100571.TW 35570twf.doc/n 料保護方法的流程圖。請參照圖4,本實施例的方法適用 於圖1的電子裝置100,以下則搭配圖i之電子裝置1〇〇 中的各個元件說明此方法的詳細步驟。 又 首先,當電子裝置100的電源開啟後,即由處理器110 執行開機程序(步驟S402)。在執行開機程序時,處理器 110例如是在記憶體120的系統資料區中保留一個記憶體 區段,以作為電子裝置100的中斷處理模組13〇與作業系 φ 統的應用模組交換資料之用(步驟S404)。其中,處理器 110例如是保留位址介於9FC00h至9FFFFh之間總^量i 1千位元組(KB)的記憶體區段。 值得注意的是’上述的處理器i 1〇例如是執行Legacy BIOS以進行開機,而處理器11〇保留的記憶體區段例如 是位於延伸基本輸入輸出系統的資料區(Extended BI〇s Data Area ’ EBDA)内。在另一實施例中,處理器11〇例 如是執行延伸韌體介面BIOS (EFI BI〇s)以進行開機, 並使用此延伸韌體介面保留記憶體區段。保留的記憶體區 籲 段的作法於Legacy BIOS時是使用ACPI INT 15]1之 E820h功能呼叫,而於EFI BI〇s時是使用EFI m〇s介面 的GetMemoryMap()功能令叫。以上兩者僅為舉例說明, 在此並不限定。 接著’處理器110係在記憶體12〇中保留初始備份記 憶體以提供給甲斷處理模組13()當作備份頁面使用(步驟 S406)。需說明的是,中斷處理模組13〇可將此初始備份 記憶體當作備份頁面使用,當初始備份記憶體之頁面快用 15 201220186 100571.TW 35570twf.doc/n 組130即透過應用模組i7〇動態由作業 t取仔適夏之備份記憶體(例如1MB),而者由作 記憶體之頁面也快用完時,則;再從 而這些備份_區:= 的容旦為單5 ,的魏體區塊。意即,備份記憶體 :::二頁面如’若頁面容量為八千 數⑷如細)。 憶體的容量即為人千元組的倍 此中理11110會啟動中斷處理模組(步驟S408)。 處式,而可用以 錯誤出現時的系統中斷功能不= 憶,控制Is 140細到;^可修正 系統管理中斷訊息至處理器;二= ΐ,體二處理模組130。其中’處理器110例如藉由將 二=〇的錯誤中斷暫存器141致能,而啟動不 可Ο正錯秩出現時的系統中斷功能。 而說明的疋’在處理器11〇執行完開機程序的過程 蚀用具,以供使用者修改記憶體控制器所 面尺寸(例如:8KB),或是初始備份記憶體的 >列如.128個8KB頁面尺寸之記憶體,其為1MB) 1母-人向作業系統請求的備份記憶體大小(例如··⑶ 201220186 100571.TW 35570twf.doc/n 個8KB頁面尺寸之記憶體,其為1mb)。 田處里器110執行完開機程序後,接著即執行作業系 統,並將位於記憶料作業线之核心m (kernei reg】 on )内的資料载入記憶體的映像區(mi贿邮⑽)(步 驟=412)。此時作業系統由扭⑽之介面可知道上述由處 理為110在s己憶體12〇中所保留的記憶體區段與備份記憶 體的基底位址與大小,故健純料會也不能使用此些 記憶體區塊。 — 在作業系統讀取記憶體12〇時,處理器n〇即透過記 憶體控制器14 G勤j各個頁面中記憶胞所出現的不可修正 錯誤(步驟S414)。詳言之,當記憶體控制器14〇偵測到 不可修正錯誤時,即會在錯誤頁面暫存器142中記錄出現 此不可修正錯誤的頁面位址,並發出系統中斷以執行中 斷處理模組130 (步驟S416)。而中斷處理模組13〇也是 藉由讀取此錯誤頁面暫存器142中所記錄之出現不可修正 錯誤的頁面,而得知哪個頁面發生不可修正錯誤。 虽中斷處理模組13〇得知有頁面發生不可修正錯誤 時’即將此頁面判定為受損頁面(步驟S418)。詳言之, 中斷處理模組130使用初始備份記憶體當作備份頁面,但 當其備份頁面快用完時,則須動態從作業系統獲得備份記 憶體,詳言之,中斷處理模組130例如是透過上述處理器 在記憶體120的系統資料區中所保留的記憶體區段, 與作業系統中的應用模組交換資料,以取得備份記憶體。 若中斷處理模組130查詢頁面使用表時發現備份記憶 17 201220186 100571.TW 35570twf.doc/n 體的空置頁面快用完’則再會透過記憶體l2〇之系統資料 區中,記憶體區段’與作業系統中的應用模組交換資料, 以動態從作業系統取得一記憶空間以作為備份記憶體。 n舉例來說,圖5是依據本發明一實施例所繪示之動態 =作業系統取得備份頁面的範例。圖6是依據本發明一實 施例^斤纟會示之動態從作業系統取得備份頁面的方法流程 圖^ π同時參照圖5及圖6,本實施例係藉由在中斷處理 杈組130、系統資料區16〇、應用模組17〇及作業系統 資料作業系統⑽取得備份記憶體。 进哭詳S之,本實施例係由中斷處理模組130在上述由處 在記憶體12G之系統資料區16G中保留的記憶體 &奴中寫入頁面請求(步驟S6〇2)。 2 ’由應用模組17〇檢視此系統資料區16〇之記憶 資料,以檢視中斷處理模組⑽所發出的頁面請 (Ρ〇ί 4) °其中’應用模組170例如是藉由詢問 料,視;160之記憶體區段的資 ^ 、、且 疋否正在請求備份記憶體。 ⑽,t 制胃自财時,料叫作業系統 份記憶體:己憶體(步驟嶋)’並將所取得之備 “中==尺資料區_記憶 存取此系統資料區⑽的記憶體^模組13G即藉由 (步驟S610)。 體區奴,而取得備份記憶體 圖7是依據本發明一實施例崎示之系統資料區⑽ 201220186 1005 71.TW 35570twf.doc/n 中保留之記憶體區段的範例。其中,系統資料區16〇包括 圖7所繪不之請求尺寸161、請求狀癌162、回應尺寸163 及回應基底位址164等四個搁位。其中’中斷處理模組1 例如是在請求尺寸161中寫入所欲請求之備份記憶體的尺 寸’並在請求狀態162寫入1以觸發此備份記憶體的請求。 應用模組170在從作業系統180取得備份記憶體後,即將 所取得之備份記憶體的基底位址及尺寸記錄分別記錄在回 應尺寸163及回應基底位址164中,並在記錄完畢後在請 求狀態162寫入0以代表請求完成。藉此,中斷處理模組 130即藉由讀取此回應尺寸163及回應基底位址164,獲得 所_求之備份記憶體的基底位址及尺寸。 回到圖4的步驟S418’當中斷處理模組130取得備份 s己憶體後,還進一步查詢一個頁面使用表,以從備份記憶 體中取得一個空置頁面來作為備份頁面,並將此備份頁面 的使用狀態更新為使用中,以及將受損頁面的使用狀態更 新為受損(步驟S420)。其中,所述的頁面使用表例如是 儲存在系統管理模式(System Management Mode,SMM ) 的隨機存取記憶體(RAM)中,在此並不設限。 舉例來說,圖8(a)及圖8(b)是依據本發明一實施例所 繪示之更新頁面使用表的範例。請參照圖8(a)及圖8(b), 本實施例之頁面使用表810及820中包括頁面位址及頁面 使用狀態兩個欄位,頁面使用表810係記錄受損頁面及備 份頁面的原始狀態,而頁面使用表820則記錄受損頁面及 備份頁面的更新後的狀態。在本實施例中,00代表頁面為 201220186 10057 l.TW 35570twf.doc/n 正常狀態,01代表頁面為使用中狀態;l〇代表頁面為受損 狀態;11則為保留狀態。由圖8(a)及圖8(b)可知,頁面X 在頁面使用狀態攔位中的數位由〇1轉變為1〇即代表頁面 X的狀由使用中狀態轉變為受損狀態,而頁面y在頁面 使用狀態欄位中的數位由00轉變為01則代表頁面y的狀 態由正常狀態轉變為使用中狀態。 需說明的是,若中斷處理模組130查詢頁面使用表時 發現備份記憶體已無空置頁面,且無法再從作業系統取得 記憶空間,即代表已無法利用備份記憶體備份受損頁面的 資料,此時中斷處理模組130例如會將可修正錯誤出現時 的系統中斷功能禁能,或是傳送控制指令(IPMI OEM command )至基板管理控制器(Baseb〇ard Management
Controller’BMC),以由基板管理控制器發出警示訊息, 而告知系統管理員進行記憶體單元150的更換或其他合適 動作。 在更新頁面使用表之後,中斷處理模組130即將受損 頁面中的資料備份至備份頁面(步驟S422)。其中,中斷 處理模組130例如是將頁面的尺寸寫入記憶體控制器14〇 ^的頁面尺寸暫存器⑷’將受損頁面及備份頁面的位址 分別寫入記憶體控制器140中的來源頁面暫存器144、目 的頁面暫存器145 ’並致能(設為1)備份暫存器146,而 控制記憶體控制器14〇將受損頁面中的資料備份至備份頁 面。而藉由檢視備份暫存器146的狀態是否回覆(設為〇), 即可得知資料備份是否完成。 20 201220186 100571 .TW 35570twf.doc/n 在貧料備份完畢後,十斷處理模組130即將上述受r 頁面及備份頁面的對映位址記錄於記憶體控制器i4〇 = 頁面映射表147 (步驟S424)。其中,中斷處理模組13〇 例如疋採用δ己憶體位土止重映射(代尋卩㈣)方法,將 頁面的位址映射至備份頁面的位址,並分別在頁面表 147的空白欄位中填人所述受損頁面以及備份頁面的位 址0 • w藉此,當下次作業系統欲存取受損頁面時,記憶體控 制器140即可根據頁面映射表中的對映位址,改為^取^ 的資料(步驟S426),而達到保護受損記 料的功效。 只 紅上所述,本發明之受損記憶胞的資料保護方法係 由將記憶體劃分成多個頁面,並在各個頁面中記憶胞發^ 不錯正錯誤時,只將此頁面從記憶體中移除。採用丄漸 近式移除頁面的方式除了可以預防不可修正錯誤發生外’, 並因為使用動態方式,於備份記憶體之頁面快用完時才向 作業系統要一塊備份記憶體區塊,故是以漸進式方式向作 業系統要記憶體區塊,故還可提供較多的記憶體給作業系 統運用’因此可增加系統整體的效能。 一’、 雖然本發明已以實施例揭露如上,然其並非用以限定 本發明’任何所屬技術領域中具有通常知識者,在不脫離 t發明之精神和範圍内,當可作些許之更動制飾,故本 發明之保護範圍當視後附之申請專利範圍所界定者為準。 21 201220186 100571.TW 35570twf.doc/n 【圖式簡單說明】 圖1是依據本發明一實施例所繪示之電子裝置的系統 架構示意圖。 圖2是依據本發明一實施例所繪示之受損記憶胞的資 料保護方法的流程圖。 ' 圖3是依據本發明一實施例所繪示之受損記憶胞的資 料保護方法的流程圖。
圖4是依據本發明一實施例所繪示之受損記憶胞的資 料保護方法的流程圖。 圖5是依據本發明一實施例所繪示之動態從作業系統 取得備份頁面的範例。 # 圖6是依據本發明一實施例所繪示之動態從作業 取得備份頁面的方法流程圖。 >、、統 16〇
圖7是依據本發明一實施例所繪示之系统資 中保留之記憶體區段的範例。 ’區 繪示之更新 圖8(a)及圖8(b)是依據本發明一實施例所 頁面使用表的範例。 【主要元件符號說明】 100 :電子裝置 110 :處理器 120 :記憶體 130 :中斷處理模組 140 :記憶體控制器
22 201220186 100571 .TW 3 5570twf.doc/n 141 :錯誤中斷暫存器 142 :錯誤頁面暫存器 143 :頁面尺寸暫存器 144 :來源頁面暫存器 145 :目的頁面暫存器 146 :備份暫存器 147 :頁面映射表 150 :記憶單元 160 :系統資料區 161 :請求尺寸 162 :請求狀態 163 :回應尺寸 164 :回應基底位址 170 :應用模組 180 :作業系統 810、820 :頁面使用表 S202〜S212 :本發明一實施例之受損記憶胞的資料保 護方法的步驟 S302〜S312 :本發明一實施例之受損記憶胞的資料保 護方法的步驟 S402〜S426 :本發明一實施例之受損記憶胞的資料保 護方法的步驟 S602〜S610 :本發明一實施例之動態從作業系統取得 備份頁面的方法步驟 23