TW201220186A - Data protection method for damaged memory cells - Google Patents

Data protection method for damaged memory cells Download PDF

Info

Publication number
TW201220186A
TW201220186A TW099137999A TW99137999A TW201220186A TW 201220186 A TW201220186 A TW 201220186A TW 099137999 A TW099137999 A TW 099137999A TW 99137999 A TW99137999 A TW 99137999A TW 201220186 A TW201220186 A TW 201220186A
Authority
TW
Taiwan
Prior art keywords
memory
page
backup
damaged
data
Prior art date
Application number
TW099137999A
Other languages
English (en)
Inventor
Ying-Chih Lu
Yu-Hui Wang
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to TW099137999A priority Critical patent/TW201220186A/zh
Priority to US13/157,673 priority patent/US8516298B2/en
Publication of TW201220186A publication Critical patent/TW201220186A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Description

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

Claims (1)

  1. 201220186 100571 .TW 35570twf.doc/n 七、申請專利範圍: ι· 一種受損記憶胞的資料保護方法,適用於包括一記 隐體的-電子裝置,$記憶體包括—記憶體控制器及一記 =元,該記憶料由多個記憶胞組成,而該些^憶胞係 sj分為多個頁面,該方法包括下列步驟: 執行一開機程序,並在該記憶體中保留一初始備份記 憶體以提供給帽處理触使用,該油備份記憶體包括 至少一備份頁面; 一執行該作業系統,並將位於該記憶體中該作業系統之 式區(k_l region)⑽資料載人該記憶體的一 吹保區(mirror region); 偵測ίΐΠ系,取該記憶體時,透過該記憶體控制器 、'、/<二頁面中§己憶胞所出現的一不可修正錯誤; ^貞泰m些頁面其—之出現該不可修正錯誤時,判 至ΐ-= ΐ面’而由該初始備份記憶體令取得該 該備份^ ,以備份該受損頁面中的資料至 憶體及該備份頁面的一對映位址於該記 丨〜賵徑制器中的一頁面映射表;以及 該受損頁面時,由該記憶體控制器 =頁面映射表中的該對映位址,改為存取該備份頁面的 佯利範圍第1項所述之受損記憶胞的資料 遵方法,其中將位於該記《中該作麵統之該核心=
    24 201220186 100571.TW 35570twf.doc/n 式區内料載人㉗記憶體的該映像區的步驟包括: 取知°亥作業系統之該核心程式區的-基底位址及大 小; 决映像區的—映像基底位址;以及 根據該核心程式碼的一基底位址及大小將該核心程式 區内的貧料載入該映像基底位址。 上3’如申请專利範圍第1項所述之受損記憶胞的資料 # m法’其中執行該開機程序的步驟更包括: ,该記憶體的-系統資料區中保留—記憶體區段,以 作為该電子裝置之一中斷處理模組與該作業系統之一應用 模組交換資料之用。 4_如申請專利範圍第3項所述之受損記憶胞的資料 保護方法,其中執行該開機程序的步驟更包括: 啟動該中斷處理模組;以及 致能當該不可修正錯誤出現時之一系統中斷的功能。 5·如申請專利範圍第4項所述之受損記憶胞的資料 • 賴方法,其中執行該作業系統的步驟更包括: 由基本輸入輸出系統(Basic Input/Output System, BIOS)中取得所保留之該記憶體的該記憶體區段與該初始 備份記憶體的一基底位址與大小,並使該作業系統不會再 使用該記憶體的該記憶體區段與該初始備份記憶體。 6.如申凊專利範圍第5項所述之受損記憶胞的資料 保護方法,其中透過該記憶體控制器偵測各該些頁面中記 憶胞所出現的該不可修正錯誤的步驟包括: 25 201220186 lUUi/l.lW 35570twf.doc/n 現該=== =該不可修正錯誤時,記錄出 系統中斷,以執行該;ί 於-暫存器,並_ 錯誤時’判定該頁面為該受損㊁面、而亥不可修正 至少-備份頁一而=;=憶 中的資料至該備份頁面的步驟包括:仏亥又知頁面 區;判斷該受損1面是否位於該《系統之該核心程式 若該受損頁面;ϊ;位於該心程式區,執行 ==受;員頁面所影響之-應用程式或-虛難 該應用程式擬vn子裝置之—硬碟重新載入 二八抑虛擬盗的一程式碼至所取得之該備份頁 ^ ,執行該應用程式或該虛擬器;以及 伯π Γί 4頁面位於該核讀式區’由該記憶體的該映 = 冑載人與錢損頁面相對應的資料至所取得之該 伤頁面,以備份受損之該核心程式區的資料。 ▲ 8·如申請專利範圍第丨項所述之受損記憶胞的資料 保濩方法,其中該核心程式區包括記錄該作業系統之一核 心程式及一系統管理模式程式。 上9_如申請專利範圍第1項所述之受損記憶胞的資料 保蠖方法’其令該電子裝置包括透過一傳統基本輸入輸出 系統(Legacy Basic Input/Output System,Legacy BIOS ) 26 ⑧ 201220186 100571.TW 35570twf.doc/n 或一延伸韌體介面基本輪入輪出系統(Extensibie Firmware Interface BIOS,EFl BIOS )進行開機。 10.如申請專利範圍第1項所述之受損記憶胞的資料 保護方法’其中該不可修正錯誤包括發生錯誤之一位元數 目超過該電子裝置之一可修正範圍的一多位元錯誤。
    27
TW099137999A 2010-11-04 2010-11-04 Data protection method for damaged memory cells TW201220186A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW099137999A TW201220186A (en) 2010-11-04 2010-11-04 Data protection method for damaged memory cells
US13/157,673 US8516298B2 (en) 2010-11-04 2011-06-10 Data protection method for damaged memory cells

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099137999A TW201220186A (en) 2010-11-04 2010-11-04 Data protection method for damaged memory cells

Publications (1)

Publication Number Publication Date
TW201220186A true TW201220186A (en) 2012-05-16

Family

ID=46020807

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099137999A TW201220186A (en) 2010-11-04 2010-11-04 Data protection method for damaged memory cells

Country Status (2)

Country Link
US (1) US8516298B2 (zh)
TW (1) TW201220186A (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103632088A (zh) 2012-08-28 2014-03-12 阿里巴巴集团控股有限公司 一种木马检测方法及装置
US20150067444A1 (en) * 2013-09-04 2015-03-05 Kabushiki Kaisha Toshiba Semiconductor storage device and memory system
US20150220394A1 (en) * 2014-02-03 2015-08-06 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
KR102233068B1 (ko) * 2014-09-01 2021-03-30 삼성전자주식회사 반도체 메모리 장치의 결함 메모리 셀 리페어 방법
US9812222B2 (en) 2015-04-20 2017-11-07 Qualcomm Incorporated Method and apparatus for in-system management and repair of semi-conductor memory failure
US10303536B2 (en) * 2015-10-28 2019-05-28 Via Technologies, Inc. Non-volatile memory device and control method thereof
US10964405B2 (en) * 2018-11-30 2021-03-30 Ati Technologies Ulc Memory initialization reporting and control
JP6679122B1 (ja) * 2019-03-19 2020-04-15 Necプラットフォームズ株式会社 メモリ障害対処システム、情報処理装置及びメモリ障害対処方法
CN113874943A (zh) * 2019-05-31 2021-12-31 美光科技公司 实现互连冗余的嵌入式快闪存储器体系结构
CN110764995B (zh) * 2019-09-05 2023-06-06 北京字节跳动网络技术有限公司 一种检测文件访问异常的方法、装置、介质和电子设备
US11798646B2 (en) * 2020-10-29 2023-10-24 Everspin Technologies, Inc. Systems and methods for monitoring and managing memory devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766429B1 (en) * 2000-08-31 2004-07-20 International Business Machines Corporation Low cost and high RAS mirrored memory
US7328380B2 (en) * 2003-09-11 2008-02-05 Hewlett-Packard Development Company, L.P. Memory scrubbing logic
US8301938B2 (en) * 2005-03-21 2012-10-30 Hewlett-Packard Development Company, L.P. Managing memory health
JP4487978B2 (ja) * 2006-06-28 2010-06-23 セイコーエプソン株式会社 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
US8090977B2 (en) * 2009-12-21 2012-01-03 Intel Corporation Performing redundant memory hopping
US8407516B2 (en) * 2009-12-23 2013-03-26 Intel Corporation Controlling memory redundancy in a system

Also Published As

Publication number Publication date
US20120117445A1 (en) 2012-05-10
US8516298B2 (en) 2013-08-20

Similar Documents

Publication Publication Date Title
TW201220186A (en) Data protection method for damaged memory cells
US11360696B2 (en) System startup method and apparatus, electronic device, and storage medium
US10909012B2 (en) System having persistent memory
JP5265654B2 (ja) システムにおけるメモリ冗長性の制御
KR100873943B1 (ko) 비휘발성 컴퓨터 메모리를 독출하기 위한 시스템 및 방법
US8689041B2 (en) Method for protecting data in damaged memory cells by dynamically switching memory mode
US9104329B2 (en) Mount-time reconciliation of data availability
US11630578B2 (en) Electronic system with storage management mechanism and method of operation thereof
TWI475384B (zh) 用以建置記憶體缺陷對映圖之系統與方法
JP2017506391A (ja) Dram欠陥のカーネルマスキング
BR112014005623B1 (pt) Método de gravar escritas pendentes em um conjunto de armazenamento e meio de armazenamento legível por computador
TW200912647A (en) System and method for managing memory errors in an information handling system
US8275949B2 (en) System support storage and computer system
TW200929224A (en) Data writing method for flash memory and controller thereof
JP2010049701A (ja) ブロック・アドレスの可能な大容量ストレージ・システムのためのインターフェイス
TWI719494B (zh) 用於控制不同類型儲存單元的方法及裝置
US10908991B2 (en) Bit error protection in cache memories
US10372606B2 (en) System and method for integrating overprovisioned memory devices
US11226755B1 (en) Core dump in a storage device
US20220011939A1 (en) Technologies for memory mirroring across an interconnect
US9798479B2 (en) Relocatable and resizable tables in a computing device
TW201216062A (en) Data protection method for damaged memory cells
TWI503666B (zh) 快閃記憶體模組以及快閃記憶體的存取方法
CN102467422A (zh) 受损存储单元的资料保护方法