一種基于nvdimm的存儲設備的掉電保護方法
【專利摘要】本發(fā)明公開了一種基于NVDIMM的存儲設備的掉電保護方法,屬于存儲設備的掉電保護方法,用以解決現(xiàn)有技術中系統(tǒng)異常掉電時的數(shù)據(jù)丟失問題及現(xiàn)有掉電保護方式保存時間短、對電池電量需求高、系統(tǒng)實現(xiàn)復雜問題。一種基于NVDIMM的存儲設備的掉電保護方法,在存儲設備中采用NVDIMM,通過邏輯控制電路檢測系統(tǒng)電源狀態(tài),當系統(tǒng)電源意外掉電時通知NVDIMM,由NVDIMM完成數(shù)據(jù)的存儲,待系統(tǒng)電源恢復時NVDIMM將上次掉電保存的數(shù)據(jù)放回內(nèi)存中,計算機系統(tǒng)從上次異常掉電的位置繼續(xù)運行,從而實現(xiàn)存儲設備的掉電保護。
【專利說明】—種基于NVDI圖的存儲設備的掉電保護方法
[0001]
【技術領域】
[0002]本發(fā)明涉及一種存儲設備的掉電保護方法,具體地說是一種基于NVDMM的存儲設備的掉電保護方法。
【背景技術】
[0003]專用的存儲設備對數(shù)據(jù)的安全性要求很高,在向硬盤寫數(shù)據(jù)時,數(shù)據(jù)是先寫到內(nèi)存,然后再從內(nèi)存寫入硬盤。由于普通內(nèi)存屬于易失性存儲介質(zhì),在通過這類內(nèi)存將數(shù)據(jù)寫入硬盤的過程中,系統(tǒng)異常掉電,內(nèi)存中還未寫入硬盤的所有數(shù)據(jù)就會丟失。因此,在異常掉電時,存儲設備必須把內(nèi)存中還未來得及寫入硬盤的所有數(shù)據(jù)保存起來,避免數(shù)據(jù)丟失,即存儲設備的掉電保護。
[0004]目前主要有三種方式來對存儲設備進行掉電保護:
一、采用電池保護內(nèi)存
如圖1所示,正常情況下,由系統(tǒng)電源給整個存儲設備供電,保證存儲設備正常工作;系統(tǒng)電源意外掉電時,由電池給內(nèi)存供電,保持內(nèi)存里的數(shù)據(jù)不丟失;當系統(tǒng)電源恢復正常后,系統(tǒng)電源再給整個存儲設備供電,把內(nèi)存中保存的數(shù)據(jù)寫入硬盤。
[0005]二、采用電池保護整系統(tǒng)方式
如圖2所示,正常情況下,由系統(tǒng)電源給整個存儲設備供電,保證設備正常工作;系統(tǒng)電源意外掉電時,切換到電池由電池給整個存儲設備供電,將內(nèi)存中需要保存的數(shù)據(jù)寫入指定硬盤后關閉系統(tǒng);當系統(tǒng)電源恢復正常后,系統(tǒng)電源再給整個存儲設備供電,將指定硬盤中保存的數(shù)據(jù)讀出,寫入內(nèi)存,進行后續(xù)工作。
[0006]三、采用電池將內(nèi)存數(shù)據(jù)保存到非易失性存儲介質(zhì)
如圖3所示,正常情況下,由系統(tǒng)電源給整個存儲設備供電,保證設備正常工作;系統(tǒng)電源意外掉電時,切換到電池由電池給最小系統(tǒng)供電,由主控制器將內(nèi)存數(shù)據(jù)保存到非易失性存儲介質(zhì),之后關閉系統(tǒng);當系統(tǒng)電源恢復正常后,系統(tǒng)電源再給整個存儲設備供電,將非易失性存儲介質(zhì)中數(shù)據(jù)讀出,寫入內(nèi)存,進行后續(xù)工作。
[0007]現(xiàn)有技術中至少存在如下問題:
1、第一種方式雖然只給內(nèi)存供電,但是電池的容量是有限的,內(nèi)存里的數(shù)據(jù)保持時間有限,無法永久保存。如果在這段保持時間內(nèi),系統(tǒng)電源沒有恢復,那么內(nèi)存里的數(shù)據(jù)仍會丟失;
2、第二種方式雖然可以將避免數(shù)據(jù)的掉電的時候丟失,但是給整個系統(tǒng)供電需要的電流比較大,對電池容量要求高,電池的體積大;
3、第三種方式可以避免數(shù)據(jù)掉電時的丟失,并且因為給最小系統(tǒng)供電,電池體積相對較小,但是系統(tǒng)實現(xiàn)復雜,通常需要主控制器支持,通用性差。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的技術任務是提供一種實現(xiàn)方式簡單,可以應用與多種不同的存儲平臺的,對系統(tǒng)空間需求小的一種基于NVDIMM的存儲設備的掉電保護方法。用以解決現(xiàn)有技術中系統(tǒng)異常掉電時的數(shù)據(jù)丟失問題及現(xiàn)有掉電保護方式保存時間短、對電池電量需求高、系統(tǒng)實現(xiàn)復雜等問題。
[0009]本發(fā)明的技術任務是按以下方式實現(xiàn)的,一種基于NVDMM的存儲設備的掉電保護方法,在存儲設備中采用NVDIMM,NVDIMM為具有內(nèi)存、超級電容、控制電路、flash存儲器的非易失性內(nèi)存芯片,存儲設備具有邏輯控制電路來進行系統(tǒng)電源狀態(tài)的實時監(jiān)測,當系統(tǒng)電源掉電時,邏輯控制電路收到掉電的信號后通知給NVDIMM,NVDIMM開始用自身的超級電容給自己供電,NVDIMM將內(nèi)存中數(shù)據(jù)通過控制電路存儲在flash存儲器,待系統(tǒng)電源恢復時,NVDIMM將上次掉電保存在flash存儲器的數(shù)據(jù)通過控制電路放回內(nèi)存中,計算機系統(tǒng)從上次異常掉電的位置繼續(xù)運行,從而實現(xiàn)存儲設備的掉電保護。
[0010]系統(tǒng)電源,用于在計算機系統(tǒng)正常情況下給計算機系統(tǒng)供電;NVDIMM與計算機的中央處理單元連接,用于與中央處理單元直接通信,存放當前計算機系統(tǒng)正在使用的數(shù)據(jù)或程序,在系統(tǒng)電源異常掉電時切換到自身超級電容供電,將數(shù)據(jù)保存到flash存儲器中;中央處理單元與NVDIMM連接,系統(tǒng)電源正常時用于存儲設備的數(shù)據(jù)運算與處理。
[0011]具體流程如下:
步驟001:存儲設備正常工作;
步驟002:判斷系統(tǒng)電源是否掉電,是則執(zhí)行步驟004,否則執(zhí)行步驟003 ;
步驟003:由系統(tǒng)電源供電,結(jié)束;
步驟004 =NVDMM切換到自身的超級電容供電;
步驟005:利用NVDMM自身的控制電路將內(nèi)存中數(shù)據(jù)保存到flash存儲器中,保存完畢后關閉計算機系統(tǒng);
步驟006:系統(tǒng)電源恢復后啟動計算機系統(tǒng);
步驟007:判斷上次關機是否正常關機,是則執(zhí)行步驟008,否則執(zhí)行步驟009 ;
步驟008:計算機系統(tǒng)正常啟動;
步驟009 =NVDIMM將保存在flash存儲器中的數(shù)據(jù)讀出并寫入內(nèi)存,再啟動計算機系
統(tǒng);
步驟010:計算機系統(tǒng)啟動完成。
[0012]NVDIMM:英文全稱為 Nonvolatile Dual-1nline-Memory-Modules,翻譯為非易失性內(nèi)存芯片。
[0013]本發(fā)明的一種基于NVDMM的存儲設備的掉電保護方法具有以下優(yōu)點:
1、由于存儲設備要求高可靠性,各個模塊通常都是I+ I冗余,因此系統(tǒng)的空間很緊張。NVDMM具有體積小、重量輕的特點,節(jié)省系統(tǒng)空間;
2、對于保存到flash存儲器中的數(shù)據(jù),在系統(tǒng)電源沒有恢復時,數(shù)據(jù)可以永久保存;
3、根據(jù)系統(tǒng)需要保護的內(nèi)存容量大小來確定NVDMM的容量及器件數(shù)量,在掉電保護時僅對內(nèi)存進行供電,可以最大限度的降低系統(tǒng)功耗,減少電池或者超級電容的體積和容量。【專利附圖】
【附圖說明】
[0014]下面結(jié)合附圖對本發(fā)明進一步說明。
[0015]附圖1為現(xiàn)有技術中采用電池保護內(nèi)存結(jié)構(gòu)框圖;
附圖2為現(xiàn)有技術中采用電池保護整個存儲設備系統(tǒng)結(jié)構(gòu)框圖;
附圖3為現(xiàn)有技術中采用電池保護內(nèi)存系統(tǒng)結(jié)構(gòu)框圖;
附圖4為本發(fā)明的一種基于NVDIMM的存儲設備的掉電保護方法的流程圖。
【具體實施方式】
[0016]參照說明書附圖和具體實施例對本發(fā)明的一種基于NVDMM的存儲設備的掉電保護方法作以下詳細地說明。
[0017]實施例1:
本發(fā)明的一種基于NVDMM的存儲設備的掉電保護方法,在存儲設備中采用NVDMM,NVDMM為具有內(nèi)存、超級電容、控制電路、flash存儲器的非易失性內(nèi)存芯片,存儲設備具有邏輯控制電路來進行系統(tǒng)電源狀態(tài)的實時監(jiān)測,當系統(tǒng)電源掉電時,邏輯控制電路收到掉電的信號后通知給NVDMM,NVDMM開始用自身的超級電容給自己供電,NVDMM將內(nèi)存中數(shù)據(jù)通過控制電路存儲在flash存儲器,待系統(tǒng)電源恢復時,NVDIMM將上次掉電保存在flash存儲器的數(shù)據(jù)通過控制電路放回內(nèi)存中,計算機系統(tǒng)從上次異常掉電的位置繼續(xù)運行,從而實現(xiàn)存儲設備的掉電保護。
[0018]實施例2:
本發(fā)明的一種基于NVDMM的存儲設備的掉電保護方法,在存儲設備中采用NVDMM,NVDMM為具有內(nèi)存、超級電容、控制電路、flash存儲器的非易失性內(nèi)存芯片,存儲設備具有邏輯控制電路來進行系統(tǒng)電源狀態(tài)的實時監(jiān)測,當系統(tǒng)電源掉電時,邏輯控制電路收到掉電的信號后通知給NVDMM,NVDMM開始用自身的超級電容給自己供電,NVDMM將內(nèi)存中數(shù)據(jù)通過控制電路存儲在flash存儲器,待系統(tǒng)電源恢復時,NVDIMM將上次掉電保存在flash存儲器的數(shù)據(jù)通過控制電路放回內(nèi)存中,計算機系統(tǒng)從上次異常掉電的位置繼續(xù)運行,從而實現(xiàn)存儲設備的掉電保護。
[0019]系統(tǒng)電源,用于在計算機系統(tǒng)正常情況下給計算機系統(tǒng)供電;NVDIMM與計算機的中央處理單元連接,用于與中央處理單元直接通信,存放當前計算機系統(tǒng)正在使用的數(shù)據(jù)或程序,在系統(tǒng)電源異常掉電時切換到自身超級電容供電,將數(shù)據(jù)保存到flash存儲器中;中央處理單元與NVDIMM連接,系統(tǒng)電源正常時用于存儲設備的數(shù)據(jù)運算與處理。
[0020]如圖4所示,具體流程如下:
步驟001:存儲設備正常工作;
步驟002:判斷系統(tǒng)電源是否掉電,是則執(zhí)行步驟004,否則執(zhí)行步驟003 ;
步驟003:由系統(tǒng)電源供電,結(jié)束;
步驟004 =NVDMM切換到自身的超級電容供電;
步驟005:利用NVDMM自身的控制電路將內(nèi)存中數(shù)據(jù)保存到flash存儲器中,保存完畢后關閉計算機系統(tǒng);
步驟006:系統(tǒng)電源恢復后啟動計算機系統(tǒng);
步驟007:判斷上次關機是否正常關機,是則執(zhí)行步驟008,否則執(zhí)行步驟009 ; 步驟008:計算機系統(tǒng)正常啟動;
步驟009 =NVDIMM將保存在flash存儲器中的數(shù)據(jù)讀出并寫入內(nèi)存,再啟動計算機系
統(tǒng);
步驟010:計算機系統(tǒng)啟動完成。
[0021] 上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的一種基于NVDIMM的存儲設備的掉電保護方法的權利要求書的且任何所屬【技術領域】的普通技術人員對其所做的適當變化或替換,皆應落入本發(fā)明的專利保護范圍。
【權利要求】
1.一種基于NVDMM的存儲設備的掉電保護方法,其特征在于在存儲設備中采用NVDMM,NVDMM為具有內(nèi)存、超級電容、控制電路、flash存儲器的非易失性內(nèi)存芯片,存儲設備具有邏輯控制電路來進行系統(tǒng)電源狀態(tài)的實時監(jiān)測,當系統(tǒng)電源掉電時,邏輯控制電路收到掉電的信號后通知給NVDI麗,NVDI麗開始用自身的超級電容給自己供電,NVDI麗將內(nèi)存中數(shù)據(jù)通過控制電路存儲在flash存儲器,待系統(tǒng)電源恢復時,NVDIMM將上次掉電保存在flash存儲器的數(shù)據(jù)通過控制電路放回內(nèi)存中,計算機系統(tǒng)從上次異常掉電的位置繼續(xù)運行,從而實現(xiàn)存儲設備的掉電保護。
2.根據(jù)權利要求1所述的一種基于NVDIMM的存儲設備的掉電保護方法,其特征在于系統(tǒng)電源,用于在計算機系統(tǒng)正常情況下給計算機系統(tǒng)供電;NVDIMM與計算機的中央處理單元連接,用于與中央處理單元直接通信,存放當前計算機系統(tǒng)正在使用的數(shù)據(jù)或程序,在系統(tǒng)電源異常掉電時切換到自身超級電容供電,將數(shù)據(jù)保存到flash存儲器中;中央處理單元與NVDIMM連接,系統(tǒng)電源正常時用于存儲設備的數(shù)據(jù)運算與處理。
3.根據(jù)權利要求1所述的一種基于NVDIMM的存儲設備的掉電保護方法,其特征在于具體流程如下: 步驟001:存儲設備正常工作; 步驟002:判斷系統(tǒng)電源是否掉電,是則執(zhí)行步驟004,否則執(zhí)行步驟003 ; 步驟003:由系統(tǒng)電源供電,結(jié)束; 步驟004 =NVDMM切換到自身的超級電容供電; 步驟005:利用NVDMM自身的控制電路將內(nèi)存中數(shù)據(jù)保存到flash存儲器中,保存完畢后關閉計算機系統(tǒng); 步驟006:系統(tǒng)電源恢復后啟動計算機系統(tǒng); 步驟007:判斷上次關機是否正常關機,是則執(zhí)行步驟008,否則執(zhí)行步驟009 ; 步驟008:計算機系統(tǒng)正常啟動; 步驟009 =NVDIMM將保存在flash存儲器中的數(shù)據(jù)讀出并寫入內(nèi)存,再啟動計算機系統(tǒng); 步驟010:計算機系統(tǒng)啟動完成。
【文檔編號】G06F12/16GK104021093SQ201410284727
【公開日】2014年9月3日 申請日期:2014年6月24日 優(yōu)先權日:2014年6月24日
【發(fā)明者】高明, 李公臣, 金長新 申請人:浪潮集團有限公司