專(zhuān)利名稱(chēng):管理熱備份內(nèi)存的方法和電子設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù),尤其涉及管理熱備份內(nèi)存的方法和電子設(shè)備。
背景技術(shù):
根據(jù)統(tǒng)計(jì)發(fā)現(xiàn),在計(jì)算機(jī)發(fā)生的硬件故障中,內(nèi)存故障位居首位。內(nèi)存故障可能導(dǎo) 致計(jì)算機(jī)數(shù)據(jù)丟失或者計(jì)算機(jī)當(dāng)機(jī),進(jìn)而給用戶(hù)造成損失。為保證計(jì)算機(jī)運(yùn)行的穩(wěn)定性, 人們采取了很多種技術(shù),比如奇偶校驗(yàn)技術(shù)、錯(cuò)誤檢查和糾錯(cuò)(ECC,Error Checking and Correcting)技術(shù)、內(nèi)存熱備份(Sparing)技術(shù)和內(nèi)存鏡像(Mirroring)技術(shù)等。其中,內(nèi) 存熱備份技術(shù)是指,在計(jì)算機(jī)中,將一部分內(nèi)存空間作為備份內(nèi)存空間,備份內(nèi)存空間在非 備份內(nèi)存空間正常運(yùn)行時(shí)空閑,當(dāng)非備份內(nèi)存空間發(fā)生故障時(shí),備份內(nèi)存空間才被啟用,以 代替非備份內(nèi)存空間進(jìn)行工作。一般來(lái)說(shuō),非備份內(nèi)存空間與備份內(nèi)存空間是相互獨(dú)立的 兩個(gè)內(nèi)存條,為便于下文描述,這里將非備份內(nèi)存空間稱(chēng)為主內(nèi)存,備份內(nèi)存空間稱(chēng)為熱備 份內(nèi)存。內(nèi)存熱備份技術(shù)可以有效地提高計(jì)算機(jī)運(yùn)行的穩(wěn)定性。但從另一方面來(lái)看,在主 內(nèi)存正常運(yùn)行期間,熱備份內(nèi)存會(huì)閑置,這樣會(huì)造成資源的浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明提供管理熱備份內(nèi)存的方法和電子設(shè)備,用以減少資源的浪費(fèi)。一種管理熱備份內(nèi)存的方法,所述方法應(yīng)用于一包括主內(nèi)存及熱備份內(nèi)存的電子 設(shè)備中,包括檢測(cè)所述主內(nèi)存是否在正常工作;在所述主內(nèi)存正常工作時(shí),檢測(cè)是否有應(yīng) 用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng);在檢測(cè)到有應(yīng)用程序申請(qǐng)將所述熱備 份內(nèi)存作為緩存使用的申請(qǐng)時(shí),處理所述申請(qǐng),以決定是否同意所述熱備份內(nèi)存作為所述 應(yīng)用程序的緩存;在同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存時(shí),將所述熱備份內(nèi)存 作為所述應(yīng)用程序的緩存使用。一種電子設(shè)備,包括主內(nèi)存及熱備份內(nèi)存,所述電子設(shè)備還包括第一檢測(cè)單元, 用于檢測(cè)所述主內(nèi)存是否在正常工作;第二檢測(cè)單元,在所述第一檢測(cè)單元檢測(cè)出所述主 內(nèi)存正常工作時(shí),檢測(cè)是否有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng);第一 處理單元,用于在所述第二檢測(cè)單元檢測(cè)到有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使 用的申請(qǐng)時(shí),處理所述申請(qǐng),以決定是否同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存;第 二處理單元,用于在所述第一處理單元同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存時(shí), 將所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存使用。在本發(fā)明中,熱備份內(nèi)存在主內(nèi)存正常運(yùn)行期間可以被使用,減少了資源的浪費(fèi)。
圖IA為本發(fā)明的一種管理熱備份內(nèi)存的方法的流程圖;圖IB為本發(fā)明的一種電子設(shè)備的邏輯結(jié)構(gòu)示意3
圖1為本發(fā)明的一種熱備份內(nèi)存的處理方法的流程圖;圖2為本發(fā)明的一種熱備份內(nèi)存的處理裝置的結(jié)構(gòu)示意圖;圖3為本發(fā)明的一種熱備份內(nèi)存的管理方法的流程圖;圖4為本發(fā)明的一種內(nèi)存控制器的結(jié)構(gòu)示意圖;圖5為本發(fā)明的另一種熱備份內(nèi)存的處理方法的流程圖;圖6為本發(fā)明的另一種熱備份內(nèi)存的處理裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明的另一種熱備份內(nèi)存的管理方法的流程圖;圖8為本發(fā)明的另一種內(nèi)存控制器的結(jié)構(gòu)示意圖;圖9為本發(fā)明的第一個(gè)優(yōu)選實(shí)施例的流程圖;圖10為本發(fā)明的第二個(gè)優(yōu)選實(shí)施例的流程圖。
具體實(shí)施例方式首先結(jié)合圖1A,對(duì)本發(fā)明的一種管理熱備份內(nèi)存的方法進(jìn)行說(shuō)明。首先需要說(shuō)明 的是,這種方法可以應(yīng)用于一包括主內(nèi)存及熱備份內(nèi)存的電子設(shè)備中。如圖IA所示,這種 方法包括SlOlA 檢測(cè)主內(nèi)存是否在正常工作;S102A:在所述主內(nèi)存正常工作時(shí),檢測(cè)是否有應(yīng)用程序申請(qǐng)將熱備份內(nèi)存作為緩 存使用的申請(qǐng);S103A:在檢測(cè)到有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng)時(shí),處理 所述申請(qǐng),以決定是否同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存;S104A:在同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存時(shí),將所述熱備份內(nèi)存作 為所述應(yīng)用程序的緩存使用。在實(shí)際應(yīng)用中,可以有多種方式檢測(cè)是否有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為 緩存使用的申請(qǐng)。例如,檢測(cè)是否有應(yīng)用程序提供的標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)。在實(shí)際應(yīng)用中,可以有多種方式實(shí)現(xiàn)將所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存 使用。例如,將允許使用的內(nèi)存的起始地址提供給所述應(yīng)用程序,并在用于維護(hù)熱備份內(nèi)存 使用情況的狀態(tài)表中記錄分配給所述應(yīng)用程序使用的內(nèi)存空間。進(jìn)一步的,圖IA所示的方法還包括禁止所述應(yīng)用程序繼續(xù)使用所述熱備份內(nèi) 存。例如,在檢測(cè)到主內(nèi)存不能正常工作時(shí),禁止所述應(yīng)用程序使用所述熱備份內(nèi)存。再例 如,獲得所述應(yīng)用程序發(fā)出的不再繼續(xù)使用所述熱備份內(nèi)存的信息;禁止所述應(yīng)用程序繼 續(xù)使用所述熱備份內(nèi)存。本發(fā)明還提供一種電子設(shè)備,包括主內(nèi)存及熱備份內(nèi)存。如圖IB所示,這種電 子設(shè)備還包括第一檢測(cè)單元101B,用于檢測(cè)所述主內(nèi)存是否在正常工作;第二檢測(cè)單元 102B,在第一檢測(cè)單元IOlB檢測(cè)出所述主內(nèi)存正常工作時(shí),檢測(cè)是否有應(yīng)用程序申請(qǐng)將所 述熱備份內(nèi)存作為緩存使用的申請(qǐng);第一處理單元103B,用于在第二檢測(cè)單元102B檢測(cè) 到有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng)時(shí),處理所述申請(qǐng),以決定是否 同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存;第二處理單元104B,用于在第一處理單元 103B同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存時(shí),將所述熱備份內(nèi)存作為所述應(yīng)用程 序的緩存使用。
可選的,第二檢測(cè)單元102B具體可以用于檢測(cè)是否有應(yīng)用程序提供的標(biāo)識(shí)所需 要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)??蛇x的,第二處理單元104B具體可以用于將允許使用的內(nèi)存的起始地址提供給 所述應(yīng)用程序,并在用于維護(hù)熱備份內(nèi)存使用情況的狀態(tài)表中記錄分配給所述應(yīng)用程序使 用的內(nèi)存空間。圖IB所示的電子設(shè)備進(jìn)一步包括第三處理單元105B,用于禁止所述應(yīng)用程序繼 續(xù)使用所述熱備份內(nèi)存。具體的,在第一檢測(cè)單元IOlB檢測(cè)到主內(nèi)存不能正常工作時(shí),第 三處理單元105B可以禁止所述應(yīng)用程序使用所述熱備份內(nèi)存。另外,第三處理單元105B 獲得所述應(yīng)用程序發(fā)出的不再繼續(xù)使用所述熱備份內(nèi)存的信息后,也可以禁止所述應(yīng)用程 序繼續(xù)使用所述熱備份內(nèi)存。實(shí)際上,本發(fā)明可以從內(nèi)存控制器、應(yīng)用程序等多個(gè)角度來(lái)描述。由于應(yīng)用程序需 要運(yùn)行在電子設(shè)備的功能單元上,所以,在下面的實(shí)施例中,應(yīng)用程序的功能都由功能單元 來(lái)執(zhí)行。首先從應(yīng)用程序(功能單元)的角度來(lái)描述本發(fā)明。如圖1所示,一種熱備份內(nèi) 存的處理方法包括SlOl 向控制內(nèi)存的內(nèi)存控制器申請(qǐng)使用熱備份內(nèi)存;S102 如果申請(qǐng)成功,則使用熱備份內(nèi)存。SlOl的執(zhí)行時(shí)機(jī)既可以是在主內(nèi)存正常運(yùn)行期間,也可以是在主內(nèi)存發(fā)生故障期 間,即熱備份內(nèi)存代替主內(nèi)存工作期間。S102的執(zhí)行時(shí)機(jī)可以是在主內(nèi)存正常運(yùn)行期間。 SlOl和S102的執(zhí)行主體可以是電子設(shè)備中的某一個(gè)功能單元,例如CPU等,再進(jìn)一步來(lái)說(shuō), SlOl和S102的執(zhí)行主體可以是電子設(shè)備中的某一個(gè)功能單元及運(yùn)行在功能單元上的計(jì)算 機(jī)程序。這里的電子設(shè)備一般是指服務(wù)器。內(nèi)存控制器上可以設(shè)置一個(gè)寄存器,為便于下文描述,這里將這個(gè)寄存器稱(chēng)為第 一寄存器。當(dāng)需要申請(qǐng)使用熱備份內(nèi)存時(shí),可以將標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)寫(xiě)入 所述第一寄存器中。例如,假設(shè)需要申請(qǐng)1兆字節(jié)(1MB)的內(nèi)存空間,那么就可以將數(shù)據(jù) “1”寫(xiě)入第一寄存器中。當(dāng)然,申請(qǐng)使用熱備份內(nèi)存可以有多種方式來(lái)實(shí)現(xiàn),這里不再一一 舉例說(shuō)明。內(nèi)存控制器收到標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)后,可以判斷熱備份內(nèi)存中是 否具有所需容量的內(nèi)存空間可供使用,如果有,則可以將所需容量的內(nèi)存空間的起始地址 寫(xiě)入第一寄存器中,如果沒(méi)有,則可以將用于標(biāo)識(shí)沒(méi)有合適的內(nèi)存空間的數(shù)據(jù)寫(xiě)入第一寄 存器中。需要說(shuō)明的是,起始地址可以使用偏移量來(lái)表示,例如m-i等,用于標(biāo)識(shí)沒(méi)有合適 的內(nèi)存空間的數(shù)據(jù)可以是預(yù)先定義的數(shù)據(jù)。當(dāng)然,起始地址還可以有其他表示方式,這里不 再一一舉例說(shuō)明。在向控制內(nèi)存的內(nèi)存控制器申請(qǐng)使用熱備份內(nèi)存后,可以讀取所述第一寄存器中 的由所述內(nèi)存控制器寫(xiě)入的數(shù)據(jù),如果所述數(shù)據(jù)是一個(gè)地址,即上述的起始地址,則表示申 請(qǐng)成功,如果所述數(shù)據(jù)不是一個(gè)地址,例如是標(biāo)識(shí)沒(méi)有合適的內(nèi)存空間的數(shù)據(jù),則表示申請(qǐng) 失敗。申請(qǐng)成功后,就可以使用熱備份內(nèi)存了,具體來(lái)說(shuō),可以使用分配的熱備份內(nèi)存中 的內(nèi)存空間。如何使用內(nèi)存空間可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需要而設(shè)計(jì),例如,將所
5申請(qǐng)到的內(nèi)存空間作為高速緩沖存儲(chǔ)器,從所述高速緩沖存儲(chǔ)器中讀取需要的硬盤(pán)中的數(shù) 據(jù),如果沒(méi)有命中,則從硬盤(pán)中讀取所述需要的數(shù)據(jù)到所述高速緩沖存儲(chǔ)器,再?gòu)乃龈咚?緩沖存儲(chǔ)器中讀取所述需要的數(shù)據(jù)。將所申請(qǐng)到的內(nèi)存空間作為高速緩沖存儲(chǔ)器可以加快 運(yùn)行速度。在所述使用熱備份內(nèi)存后,如果不再需要使用所述熱備份內(nèi)存,則可以將不再需 要使用所述熱備份內(nèi)存的信息通知給所述內(nèi)存控制器,以便內(nèi)存控制器維護(hù)熱備份內(nèi)存的 使用狀態(tài)。熱備份內(nèi)存上還可以設(shè)置一個(gè)寄存器,為便于下文描述,這里將這個(gè)寄存器稱(chēng)為 第二寄存器。當(dāng)將不再需要使用所述熱備份內(nèi)存的信息通知給所述內(nèi)存控制器時(shí),可以將 在申請(qǐng)使用熱備份內(nèi)存時(shí)從所述第一寄存器中讀取到的數(shù)據(jù)寫(xiě)入到所述第二寄存器中。當(dāng) 然,將不再需要使用所述熱備份內(nèi)存的信息通知給所述內(nèi)存控制器可以有多種方式來(lái)實(shí) 現(xiàn),這里不再一一舉例說(shuō)明。對(duì)應(yīng)于圖1所示的方法,本發(fā)明還提供一種熱備份內(nèi)存的處理裝置。如圖2所示, 所述裝置包括申請(qǐng)單元201,用于向控制內(nèi)存的內(nèi)存控制器申請(qǐng)使用熱備份內(nèi)存;使用單 元202,用于如果申請(qǐng)成功,則使用熱備份內(nèi)存。申請(qǐng)單元201向內(nèi)存控制器申請(qǐng)使用熱備份內(nèi)存的時(shí)機(jī)既可以是在主內(nèi)存正常 運(yùn)行期間,也可以是在主內(nèi)存發(fā)生故障期間,即熱備份內(nèi)存代替主內(nèi)存工作期間。使用單元 202使用熱備份內(nèi)存的時(shí)機(jī)可以是在主內(nèi)存正常運(yùn)行期間。內(nèi)存控制器上可以設(shè)置一個(gè)寄存器,為便于下文描述,這里將這個(gè)寄存器稱(chēng)為第 一寄存器。當(dāng)申請(qǐng)單元201需要申請(qǐng)使用熱備份內(nèi)存時(shí),申請(qǐng)單元201可以將標(biāo)識(shí)所需要 申請(qǐng)的內(nèi)存容量的數(shù)據(jù)寫(xiě)入所述第一寄存器中。例如,假設(shè)申請(qǐng)單元201需要申請(qǐng)1兆字 節(jié)(1MB)的內(nèi)存空間,那么申請(qǐng)單元201就可以將數(shù)據(jù)“1”寫(xiě)入第一寄存器中。當(dāng)然,申請(qǐng) 單元201申請(qǐng)使用熱備份內(nèi)存可以有多種方式來(lái)實(shí)現(xiàn),這里不再一一舉例說(shuō)明。內(nèi)存控制器收到標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)后,可以判斷熱備份內(nèi)存中是 否具有所需容量的內(nèi)存空間可供使用,如果有,則可以將所需容量的內(nèi)存空間的起始地址 寫(xiě)入第一寄存器中,如果沒(méi)有,則可以將用于標(biāo)識(shí)沒(méi)有合適的內(nèi)存空間的數(shù)據(jù)寫(xiě)入第一寄 存器中。需要說(shuō)明的是,起始地址可以使用偏移量來(lái)表示,例如m-i等,用于標(biāo)識(shí)沒(méi)有合適 的內(nèi)存空間的數(shù)據(jù)可以是預(yù)先定義的數(shù)據(jù)。當(dāng)然,起始地址還可以有其他表示方式,這里不 再一一舉例說(shuō)明。申請(qǐng)單元201在向控制內(nèi)存的內(nèi)存控制器申請(qǐng)使用熱備份內(nèi)存后,可以讀取所述 第一寄存器中的由所述內(nèi)存控制器寫(xiě)入的數(shù)據(jù),如果所述數(shù)據(jù)是一個(gè)地址,即上述的起始 地址,則表示申請(qǐng)成功,如果所述數(shù)據(jù)不是一個(gè)地址,例如是標(biāo)識(shí)沒(méi)有合適的內(nèi)存空間的數(shù) 據(jù),則表示申請(qǐng)失敗??蛇x的,圖2所示的裝置還可以包括讀取單元(圖2中未繪示)和判 斷單元(圖2中未繪示),當(dāng)申請(qǐng)單元201在向控制內(nèi)存的內(nèi)存控制器申請(qǐng)使用熱備份內(nèi)存 后,讀取單元可以讀取所述第一寄存器中的由所述內(nèi)存控制器寫(xiě)入的數(shù)據(jù),并將讀取的數(shù) 據(jù)提供給判斷單元,判斷單元可以判斷讀取單元提供的數(shù)據(jù)是否是一個(gè)起始地址,如果是, 則可以向使用單元202提供這個(gè)起始地址,使用單元202按照這個(gè)起始地址使用熱備份內(nèi) 存,否則,判斷單元既可以向使用單元202通知熱備份內(nèi)存不可用或申請(qǐng)使用熱備份內(nèi)存 不成功等信息,也可以不向使用單元202發(fā)送任何信息。當(dāng)然,讀取單元和判斷單元的工作可以由申請(qǐng)單元201完成。申請(qǐng)單元201申請(qǐng)成功后,使用單元202就可以使用熱備份內(nèi)存了,具體來(lái)說(shuō),使 用單元202可以使用分配的熱備份內(nèi)存中的內(nèi)存空間。使用單元202如何使用內(nèi)存空間可 以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需要而設(shè)計(jì),例如,使用單元202將所申請(qǐng)到的內(nèi)存空間作 為高速緩沖存儲(chǔ)器,從所述高速緩沖存儲(chǔ)器中讀取需要的硬盤(pán)中的數(shù)據(jù),如果沒(méi)有命中,則 從硬盤(pán)中讀取所述需要的數(shù)據(jù)到所述高速緩沖存儲(chǔ)器,再?gòu)乃龈咚倬彌_存儲(chǔ)器中讀取所 述需要的數(shù)據(jù)。將所申請(qǐng)到的內(nèi)存空間作為高速緩沖存儲(chǔ)器可以加快運(yùn)行速度。圖2所示的裝置還可以包括釋放單元203,在使用單元202使用熱備份內(nèi)存后,如 果使用單元202不再需要使用所述熱備份內(nèi)存,則釋放單元203可以將不再需要使用所述 熱備份內(nèi)存的信息通知給所述內(nèi)存控制器,以便內(nèi)存控制器維護(hù)熱備份內(nèi)存的使用狀態(tài)。熱備份內(nèi)存上還可以設(shè)置一個(gè)寄存器,為便于下文描述,這里將這個(gè)寄存器稱(chēng)為 第二寄存器。當(dāng)釋放單元203將不再需要使用所述熱備份內(nèi)存的信息通知給所述內(nèi)存控制 器時(shí),釋放單元203可以將在申請(qǐng)使用熱備份內(nèi)存時(shí)從所述第一寄存器中讀取到的數(shù)據(jù)寫(xiě) 入到所述第二寄存器中,當(dāng)然,在此之前,申請(qǐng)單元201或者使用單元202需要將從所述第 一寄存器中讀取到的數(shù)據(jù)提供給釋放單元203。當(dāng)然,釋放單元203將不再需要使用所述熱 備份內(nèi)存的信息通知給所述內(nèi)存控制器可以有多種方式來(lái)實(shí)現(xiàn),這里不再一一舉例說(shuō)明。在圖2所示的裝置中的每個(gè)單元上都運(yùn)行有計(jì)算機(jī)程序,這些單元都可以設(shè)置或 應(yīng)用于電子設(shè)備中的某一個(gè)功能單元上,例如CPU等。這里的電子設(shè)備一般是指服務(wù)器。圖1所示的方法及圖2所示的裝置是從應(yīng)用程序(電子設(shè)備中除內(nèi)存控制器之外 的其他功能單元)的角度來(lái)描述本發(fā)明的,實(shí)際上,本發(fā)明還可以從內(nèi)存控制器的角度來(lái) 描述。對(duì)此,本發(fā)明還提供了圖3所示的熱備份內(nèi)存的管理方法和圖4所示的內(nèi)存控制器。如圖3所示,一種熱備份內(nèi)存的管理方法,包括S301 獲得電子設(shè)備中的一個(gè)功能單元發(fā)出的使用熱備份內(nèi)存的申請(qǐng);S302:如果符合預(yù)先設(shè)置的第一條件,則允許所述功能單元使用熱備份內(nèi)存。S301和S302的執(zhí)行時(shí)機(jī)既可以是在主內(nèi)存正常運(yùn)行期間,也可以是主內(nèi)存發(fā)生 故障期間,即熱備份內(nèi)存代替主內(nèi)存工作期間。S301和S302的執(zhí)行主體可以是內(nèi)存控制 器。內(nèi)存控制器可以是指電子設(shè)備中的內(nèi)存控制器,這里的電子設(shè)備一般是指服務(wù)器。獲得電子設(shè)備中的一個(gè)功能單元發(fā)出的使用熱備份內(nèi)存的申請(qǐng)可以有多種實(shí)現(xiàn) 方式,例如,獲得所述功能單元提供的標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)。內(nèi)存控制器上可 以設(shè)置一個(gè)寄存器,為便于下文描述,這里將這個(gè)寄存器稱(chēng)為第一寄存器。電子設(shè)備中的某 個(gè)功能單元可以將標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)寫(xiě)入所述第一寄存器中,這樣,內(nèi)存 控制器就獲得了標(biāo)識(shí)這個(gè)功能單元需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù),實(shí)際相當(dāng)于獲得了使用熱 備份內(nèi)存的申請(qǐng)。內(nèi)存控制器獲得使用熱備份內(nèi)存的申請(qǐng)后,可以判斷當(dāng)前的狀態(tài)是否符合預(yù)先設(shè) 置的第一條件,如果是,則允許所述功能單元使用熱備份內(nèi)存,否則,不允許所述功能單元 使用熱備份內(nèi)存。判斷當(dāng)前的狀態(tài)是否符合預(yù)先設(shè)置的第一條件例如為,熱備份內(nèi)存是否 正在代替主內(nèi)存工作、熱備份內(nèi)存當(dāng)前可以使用的內(nèi)存空間是否能夠滿(mǎn)足申請(qǐng)使用的內(nèi)存 容量等。當(dāng)然,預(yù)先設(shè)置的第一條件或者判斷當(dāng)前的狀態(tài)是否符合預(yù)先設(shè)置的第一條件還 可以有其他表現(xiàn)或?qū)崿F(xiàn)方式,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要而設(shè)計(jì)預(yù)先設(shè)置的第一條件或如何判斷當(dāng)前的狀態(tài)是否符合預(yù)先設(shè)置的第一條件,這里不再一一舉例說(shuō)明。如果確定符合預(yù)先設(shè)置的第一條件,就可以允許申請(qǐng)使用熱備份內(nèi)存的功能單元 使用熱備份內(nèi)存。允許功能單元使用熱備份內(nèi)存可以有多種實(shí)現(xiàn)方式,例如,將允許使用的 內(nèi)存的起始地址提供給所述功能單元。具體來(lái)說(shuō),可以將允許使用的內(nèi)存的起始地址寫(xiě)入 到第一寄存器中。當(dāng)然,允許功能單元使用熱備份內(nèi)存還可以有其他實(shí)現(xiàn)方式,本領(lǐng)域技術(shù) 人員可以根據(jù)實(shí)際需要而設(shè)計(jì)允許使用的內(nèi)存的起始地址寫(xiě)入到第一寄存器的實(shí)現(xiàn)方式, 這里不再一一舉例說(shuō)明。在實(shí)際實(shí)現(xiàn)時(shí),內(nèi)存控制器可以維護(hù)一個(gè)熱備份內(nèi)存使用情況的狀態(tài)表,這個(gè)狀 態(tài)表可以記錄例如熱備份內(nèi)存的哪些內(nèi)存空間可以使用、哪些內(nèi)存空間正在被使用、什么 時(shí)間開(kāi)始被使用等信息。這個(gè)狀態(tài)表既可以共享給電子設(shè)備中的其他功能單元,也可以不 共享給電子設(shè)備中的其他功能單元。表1即為一個(gè)狀態(tài)表或者是狀態(tài)表的一部分。
權(quán)利要求
一種管理熱備份內(nèi)存的方法,所述方法應(yīng)用于一包括主內(nèi)存及熱備份內(nèi)存的電子設(shè)備中,其特征在于,包括檢測(cè)所述主內(nèi)存是否在正常工作;在所述主內(nèi)存正常工作時(shí),檢測(cè)是否有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng);在檢測(cè)到有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng)時(shí),處理所述申請(qǐng),以決定是否同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存;在同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存時(shí),將所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存使用。
2.如權(quán)利要求1所述的方法,其特征在于,所述檢測(cè)是否有應(yīng)用程序申請(qǐng)將所述熱備 份內(nèi)存作為緩存使用的申請(qǐng)具體為檢測(cè)是否有應(yīng)用程序提供的標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容 量的數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,其特征在于,所述將所述熱備份內(nèi)存作為所述應(yīng)用程序 的緩存使用具體為將允許使用的內(nèi)存的起始地址提供給所述應(yīng)用程序,并在用于維護(hù)熱 備份內(nèi)存使用情況的狀態(tài)表中記錄分配給所述應(yīng)用程序使用的內(nèi)存空間。
4.如權(quán)利要求1-3任意一項(xiàng)所述的方法,其特征在于,進(jìn)一步包括禁止所述應(yīng)用程序 繼續(xù)使用所述熱備份內(nèi)存。
5.如權(quán)利要求4所述的方法,其特征在于,所述禁止所述應(yīng)用程序繼續(xù)使用所述熱備 份內(nèi)存具體為在檢測(cè)到主內(nèi)存不能正常工作時(shí),禁止所述應(yīng)用程序使用所述熱備份內(nèi)存。
6.如權(quán)利要求4所述的方法,其特征在于,所述禁止所述應(yīng)用程序繼續(xù)使用所述熱備 份內(nèi)存具體為獲得所述應(yīng)用程序發(fā)出的不再繼續(xù)使用所述熱備份內(nèi)存的信息;禁止所述應(yīng)用程序繼續(xù)使用所述熱備份內(nèi)存。
7.一種電子設(shè)備,包括主內(nèi)存及熱備份內(nèi)存,其特征在于,還包括第一檢測(cè)單元,用于檢測(cè)所述主內(nèi)存是否在正常工作;第二檢測(cè)單元,在所述第一檢測(cè)單元檢測(cè)出所述主內(nèi)存正常工作時(shí),檢測(cè)是否有應(yīng)用 程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng);第一處理單元,用于在所述第二檢測(cè)單元檢測(cè)到有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作 為緩存使用的申請(qǐng)時(shí),處理所述申請(qǐng),以決定是否同意所述熱備份內(nèi)存作為所述應(yīng)用程序 的緩存;第二處理單元,用于在所述第一處理單元同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩 存時(shí),將所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存使用。
8.如權(quán)利要求7所述的電子設(shè)備,其特征在于,所述第二檢測(cè)單元具體用于檢測(cè)是否 有應(yīng)用程序提供的標(biāo)識(shí)所需要申請(qǐng)的內(nèi)存容量的數(shù)據(jù)。
9.如權(quán)利要求7所述的電子設(shè)備,其特征在于,所述第二處理單元具體用于將允許使 用的內(nèi)存的起始地址提供給所述應(yīng)用程序,并在用于維護(hù)熱備份內(nèi)存使用情況的狀態(tài)表中 記錄分配給所述應(yīng)用程序使用的內(nèi)存空間。
10.如權(quán)利要求7-9任意一項(xiàng)所述的電子設(shè)備,其特征在于,進(jìn)一步包括第三處理單 元,用于禁止所述應(yīng)用程序繼續(xù)使用所述熱備份內(nèi)存。
全文摘要
本發(fā)明提供一種管理熱備份內(nèi)存的方法,所述方法應(yīng)用于一包括主內(nèi)存及熱備份內(nèi)存的電子設(shè)備中,包括檢測(cè)所述主內(nèi)存是否在正常工作;在所述主內(nèi)存正常工作時(shí),檢測(cè)是否有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng);在檢測(cè)到有應(yīng)用程序申請(qǐng)將所述熱備份內(nèi)存作為緩存使用的申請(qǐng)時(shí),處理所述申請(qǐng),以決定是否同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存;在同意所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存時(shí),將所述熱備份內(nèi)存作為所述應(yīng)用程序的緩存使用。本發(fā)明還提供一種電子設(shè)備。在本發(fā)明中,熱備份內(nèi)存在主內(nèi)存正常運(yùn)行期間可以被使用,減少了資源的浪費(fèi)。
文檔編號(hào)G06F12/08GK101937400SQ20091008676
公開(kāi)日2011年1月5日 申請(qǐng)日期2009年6月29日 優(yōu)先權(quán)日2009年6月29日
發(fā)明者張建輝, 柯海濱 申請(qǐng)人:聯(lián)想(北京)有限公司