一種數(shù)據(jù)保護(hù)方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明的實(shí)施例公開了一種數(shù)據(jù)保護(hù)方法、裝置及系統(tǒng),涉及數(shù)據(jù)保護(hù)領(lǐng)域,能夠提高系統(tǒng)保護(hù)數(shù)據(jù)的可靠性。該方法具體包括:PCH集成南橋芯片接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋信息;PCH在接收到反饋信息后,向NVDIMM非易失性內(nèi)存條發(fā)送ADR完成信息;其中,ADR完成消息用于指示NVDIMM進(jìn)行備電切換和數(shù)據(jù)保護(hù)。本發(fā)明應(yīng)用于NVDIMM的數(shù)據(jù)保護(hù)。
【專利說明】一種數(shù)據(jù)保護(hù)方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)保護(hù)領(lǐng)域,尤其涉及一種數(shù)據(jù)保護(hù)方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)今,為了保證存儲系統(tǒng)中數(shù)據(jù)的可靠性,通常會(huì)在存儲系統(tǒng)中增加備電單元,從而保證在電源異常和/或存儲系統(tǒng)異常的情況下,使得內(nèi)存數(shù)據(jù)不丟失,同時(shí)現(xiàn)今主流的備點(diǎn)單元是NVDIMM(Non-Volatile DIMM,非易失性內(nèi)存條)。該NVDIMM在保護(hù)數(shù)據(jù)時(shí)通常是通過通用的DIMM(Dual Inline Memory Modules,雙列直插式存儲模塊)接口與存儲系統(tǒng)連接。因此,當(dāng)存儲系統(tǒng)電源發(fā)生異常時(shí),CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)產(chǎn)生中斷到PCH(Platform Controller Hub,集成南橋)芯片,在PCH中觸發(fā) ADR (Asynchronous Dram Refresh,異步內(nèi)存刷新)流程,使得 CPU (Central ProcessingUnit,中央處理器)將cache緩存中的數(shù)據(jù)寫入NVDIMM中的DRAM(Dynamic Random AccessMemory,動(dòng)態(tài)隨機(jī)存取存儲器)然后再將NVDIMM置為self-refresh自刷新模式,從而使得NVDIMM完成備電切換,將DRAM數(shù)據(jù)拷貝到flash閃存中保存。
[0003]但是,發(fā)明人發(fā)現(xiàn),在上述場景中,當(dāng)CPU發(fā)生異常無法完成ADR流程時(shí),PCH還是會(huì)在預(yù)定的時(shí)間到達(dá)后直接標(biāo)識ADR完成,由于CPU并未成功存儲數(shù)據(jù),從而使得NVDIMM所保護(hù)的數(shù)據(jù)與CPU存儲的數(shù)據(jù)不一致,無法達(dá)到數(shù)據(jù)保護(hù)的作用。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供一種數(shù)據(jù)保護(hù)方法、裝置及系統(tǒng),能夠提高系統(tǒng)保護(hù)數(shù)據(jù)的
可靠性。
[0005]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0006]第一方面,提供一種數(shù)據(jù)保護(hù)方法,應(yīng)用于數(shù)據(jù)保護(hù)系統(tǒng),包括:
[0007]PCH集成南橋芯片接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋信息;
[0008]所述PCH在接收到所述反饋信息后,向NVDMM非易失性內(nèi)存條發(fā)送ADR完成信息;其中,所述ADR完成消息用于指示所述NVDIMM進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0009]在第一種可能的實(shí)現(xiàn)方式中,根據(jù)第一方面,所述PCH接收CPU在完成ADR流程后發(fā)送的反饋信息之前,還包括:
[0010]當(dāng)CPLD復(fù)雜可編程邏輯器件觸發(fā)所述ADR流程后,所述PCH向所述CPU發(fā)送ADR啟動(dòng)信息,并啟動(dòng)所述PCH中的計(jì)時(shí)器;其中,所述ADR啟動(dòng)信息用于指示所述CPU啟動(dòng)所述ADR流程。
[0011 ] 在第二種可能的實(shí)現(xiàn)方式中,根據(jù)第一種可能的實(shí)現(xiàn)方式,所述方法還包括:
[0012]若所述PCH在預(yù)設(shè)時(shí)間內(nèi)未接收到所述反饋信息,則所述PCH判斷判定所述CPU異常,停止所述計(jì)時(shí)器的計(jì)時(shí),并復(fù)位所述數(shù)據(jù)保護(hù)系統(tǒng)。
[0013]在第三種可能的實(shí)現(xiàn)方式中,根據(jù)第一種可能的實(shí)現(xiàn)方式,所述PCH在接收到所述反饋信息后,向NVDI麗非易失性內(nèi)存條發(fā)送ADR完成信息包括:
[0014]所述PCH在所述預(yù)設(shè)時(shí)間內(nèi)接收到所述反饋信息后,停止所述計(jì)時(shí)器的計(jì)時(shí),并向所述NVDI麗發(fā)送ADR完成信息,以便所述NVDI麗根據(jù)所述ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0015]第二方面,提供一種PCH南橋芯片,包括:
[0016]接收模塊,用于接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋
信息;
[0017]發(fā)送模塊,用于在所述接收模塊接收到所述反饋信息后,向NVDIMM非易失性內(nèi)存條發(fā)送ADR完成信息;其中,所述ADR完成消息用于指示所述NVDI麗進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0018]在第一種可能的實(shí)現(xiàn)方式,根據(jù)第二方面:
[0019]所述發(fā)送模塊,還用于當(dāng)CPLD復(fù)雜可編程邏輯器件觸發(fā)所述ADR流程后,向所述CPU發(fā)送ADR啟動(dòng)信息,并啟動(dòng)計(jì)時(shí)器;其中,所述ADR啟動(dòng)信息用于指示所述CPU啟動(dòng)所述ADR流程。
[0020]在第二種可能的實(shí)現(xiàn)方式中,根據(jù)第一種可能的實(shí)現(xiàn)方式:
[0021]處理模塊,用于若所述接收模塊在預(yù)設(shè)時(shí)間內(nèi)未接收到所述反饋信息,則判定所述CPU異常,停止所述計(jì)時(shí)器的計(jì)時(shí),并復(fù)位數(shù)據(jù)保護(hù)系統(tǒng)。
[0022]在第三種可能的實(shí)現(xiàn)方式中,根據(jù)第一種可能的實(shí)現(xiàn)方式:
[0023]所述發(fā)送模塊具體用于:當(dāng)所述接收模塊在所述預(yù)設(shè)時(shí)間內(nèi)接收到所述反饋信息后,停止所述計(jì)時(shí)器的計(jì)時(shí),并向所述NVDMM發(fā)送ADR完成信息,以便所述NVDMM根據(jù)所述ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0024]第三方面,提供一種數(shù)據(jù)保護(hù)系統(tǒng),所述數(shù)據(jù)保護(hù)系統(tǒng)包括:CPLD復(fù)雜可編程邏輯器件、PCH南橋芯片、CPU中央處理器及NVDIMM非易失性內(nèi)存條,其中,所述PCH為上述的任一 PCH。
[0025]本發(fā)明的實(shí)施例提供的數(shù)據(jù)保護(hù)方法、裝置及系統(tǒng),通過在CPU與PCH之前建立互通過程,讓該P(yáng)CH獲知CPU何時(shí)完成ADR異步內(nèi)存刷新流程,從而在CPU完成ADR流程時(shí),才向NVDI麗發(fā)送ADR完成消息,指示NVDI麗進(jìn)行備電切換和數(shù)據(jù)保護(hù),從而避免了在CPU沒有完成ADR流程的情況下,仍然向NVDI麗發(fā)送ADR完成消息,使得該NVDI麗所保護(hù)的數(shù)據(jù)為不完整數(shù)據(jù),進(jìn)而提高了系統(tǒng)保護(hù)數(shù)據(jù)的可靠性。
【專利附圖】
【附圖說明】
[0026]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0027]圖1為本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)保護(hù)方法的流程示意圖;
[0028]圖2為本發(fā)明的實(shí)施例提供的另一種數(shù)據(jù)保護(hù)方法的流程示意圖;
[0029]圖3為本發(fā)明的實(shí)施例提供的一種PCH的結(jié)構(gòu)示意圖;
[0030]圖4為本發(fā)明的實(shí)施例提供的另一種PCH的結(jié)構(gòu)示意圖;[0031]圖5為本發(fā)明的另一實(shí)施例提供的一種PCH的結(jié)構(gòu)示意圖;
[0032]圖6為本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0034]現(xiàn)有技術(shù)中,ADR (Asynchronous Dram Refresh,異步內(nèi)存刷新)流程的具體過程為:CPU (Central Processing Unit,處理器)將 cache 緩存中的數(shù)據(jù)寫入 DRAM (DynamicRandom Access Memory,動(dòng)態(tài)隨機(jī)存取存儲器)然后再將 NVDIMM (Non-Volatile DIMM,非易失性內(nèi)存條)配置為self-refresh自刷新模式,從而使得NVDIMM完成備電切換,將DRAM數(shù)據(jù)拷貝到flash閃存中保存。在上述的ADR流程中,PCH(Platform Controller Hub,集成南橋)在ADR觸發(fā)時(shí)會(huì)啟動(dòng)計(jì)時(shí)器,當(dāng)?shù)竭_(dá)預(yù)定時(shí)間時(shí)直接標(biāo)識ADR流程完成,在此過程中,PCH并未查詢CPU是否執(zhí)行完畢ADR流程。若CPU出現(xiàn)異常,ADR流程有可能無法完成(如,cache數(shù)據(jù)未刷新,NVDIMM未進(jìn)入自刷模式等),使得此時(shí)所保存的數(shù)據(jù)與CPU所存儲的數(shù)據(jù)并不一致。并且由于NVDIMM是通過檢測CKE時(shí)鐘使能信號來決定是否進(jìn)行數(shù)據(jù)保護(hù)的,因此,當(dāng)NVDIMM檢測到CKE信號由高變低時(shí),會(huì)將DRAM數(shù)據(jù)復(fù)制到flash中。而由于DRAM中所存儲的數(shù)據(jù)并不可靠,使得復(fù)制到flash中的數(shù)據(jù)并不能使用,從而并未達(dá)到保護(hù)數(shù)據(jù)的作用。因此,基于上述應(yīng)用場景,本發(fā)明提供了一種新的數(shù)據(jù)保護(hù)方法,該方法應(yīng)用于數(shù)據(jù)保護(hù)系統(tǒng)。
[0035]如圖1所示,該數(shù)據(jù)保護(hù)方法具體包括如下步驟:
[0036]101、PCH接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋信息。
[0037]其中,上述的反饋信息用于指示PCH CPU以完成ADR流程。
[0038]102、PCH在接收到反饋信息后,向NVDIMM非易失性內(nèi)存條發(fā)送ADR完成信息。
[0039]其中,上述的ADR完成消息用于指示NVDMM進(jìn)行備電切換和數(shù)據(jù)保護(hù)。具體的,PCH在接收到反饋信息后,向NVDMM發(fā)送ADR完成信息,以指示CPU將緩存中的數(shù)據(jù)寫入NVDIMM中的DRAM中,而當(dāng)CPU將緩存中的數(shù)據(jù)全部寫入后,完成ADR流程,然后配置NVDIMM進(jìn)入自刷新模式,拉低CKE。
[0040]本發(fā)明的實(shí)施例提供的數(shù)據(jù)保護(hù)方法,通過在CPU與PCH之前建立互通過程,讓該P(yáng)CH獲知CPU何時(shí)完成ADR異步內(nèi)存刷新流程,從而在CPU完成ADR流程時(shí),才向NVDI麗發(fā)送ADR完成消息,指示NVDMM進(jìn)行備電切換和數(shù)據(jù)保護(hù),從而避免了在CPU沒有完成ADR流程的情況下,仍然向NVDI麗發(fā)送ADR完成消息,使得該NVDI麗所保護(hù)的數(shù)據(jù)為不完整數(shù)據(jù),進(jìn)而提高了系統(tǒng)保護(hù)數(shù)據(jù)的可靠性。
[0041]本發(fā)明的實(shí)施例提供一種數(shù)據(jù)保護(hù)方法,如圖2所示,該數(shù)據(jù)保護(hù)方法具體包括如下步驟:
[0042]201、當(dāng)CPLD復(fù)雜可編程邏輯器件觸發(fā)該ADR流程后,PCH向CPU發(fā)送ADR啟動(dòng)信息,并啟動(dòng)PCH中的計(jì)時(shí)器。
[0043]其中,上述的ADR啟動(dòng)信息用于指示CPU啟動(dòng)該ADR流程。[0044]具體的,當(dāng)CPLD檢測到AC掉電后,CPLD中產(chǎn)生中斷發(fā)送至PCH,從而使得PCH觸發(fā)ADR流程,而PCH在觸發(fā)了 PCH流程后,首先向CPU發(fā)送ADR啟動(dòng)消息,來告知CPUADR流程已啟動(dòng),同時(shí)啟動(dòng)該P(yáng)CH中的計(jì)時(shí)器開始計(jì)時(shí)。
[0045]202、PCH接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋信息。
[0046]其中,上述的反饋信息用于指示PCH CPU以完成ADR流程。
[0047]203、PCH在接收到反饋信息后,向NVDMM非易失性內(nèi)存條發(fā)送ADR完成信息。
[0048]其中,上述的ADR完成消息用于指示NVDMM進(jìn)行備電切換和數(shù)據(jù)保護(hù)。具體的,該ADR完成消息包含ADR Complete信號,該ADRComplete信號可以通過I (高電平),0 (低電平)來表示ADR流程是否完成,NVDIMM是通過判斷該ADR Complete信號來決定是否進(jìn)行數(shù)據(jù)保護(hù)的,這樣只有在真正需要數(shù)據(jù)保護(hù)的場景下才會(huì)保存數(shù)據(jù),確保數(shù)據(jù)的正確性,同時(shí)節(jié)省資源,延遲NVDIMM的生命周期。
[0049]可選的,步驟203具體包括:PCH在預(yù)設(shè)時(shí)間內(nèi)接收到反饋信息后,停止計(jì)時(shí)器的計(jì)時(shí),并向NVDI麗發(fā)送ADR完成信息,以便NVDI麗根據(jù)該ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0050]具體的,上述的預(yù)設(shè)時(shí)間是系統(tǒng)提前預(yù)配置的,PCH在計(jì)時(shí)器的計(jì)時(shí)時(shí)間在預(yù)設(shè)時(shí)間內(nèi)便接收到反饋信息后,便向NVDI麗發(fā)送ADR完成信息,以指示CPU將緩存中的數(shù)據(jù)寫入NVDIMM中的DRAM中,而當(dāng)CPU將緩存中的數(shù)據(jù)全部寫入后,完成ADR流程,然后配置NVDI麗進(jìn)入自刷新模式,拉低CKE,同時(shí)向PCH發(fā)送反饋信息來告知PCH已完成ADR流程,以便PCH在接收到該反饋信息后,向NVDI麗發(fā)送ADR完成信息,使得NVDI麗根據(jù)該ADR完成消息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。其中,當(dāng)計(jì)時(shí)器的計(jì)時(shí)時(shí)間到達(dá)預(yù)設(shè)時(shí)間時(shí)
[0051]可選的,該數(shù)據(jù)保護(hù)方法還包括:
[0052]204、若PCH在預(yù)設(shè)時(shí)間內(nèi)未接收到所述反饋信息,則PCH判定CPU異常,停止計(jì)時(shí)器的計(jì)時(shí),并復(fù)位數(shù)據(jù)保護(hù)系統(tǒng)。
[0053]具體的,若PCH在計(jì)時(shí)器的計(jì)時(shí)時(shí)間到達(dá)預(yù)設(shè)時(shí)間時(shí)還未接收到CPU所反饋的反饋信息,則可以判定CPU發(fā)生異常,那么PCH就不會(huì)向NVDI麗發(fā)送ADR完成消息,此時(shí)PCH會(huì)停止計(jì)時(shí)器的計(jì)時(shí),并復(fù)位整個(gè)數(shù)據(jù)保護(hù)系統(tǒng)。
[0054]需要說明的是,通過本發(fā)明的數(shù)據(jù)保護(hù)方法,在CPU發(fā)生異常從而無法完成ADR進(jìn)程時(shí),PCH不會(huì)發(fā)ADR完成信息,同時(shí)在NVDI麗中保存數(shù)據(jù)時(shí),是通過DI麗接口的pinl37來觸發(fā)保存流程的,這樣在正常關(guān)機(jī)等場景就不會(huì)執(zhí)行數(shù)據(jù)保存流程,確保了整個(gè)數(shù)據(jù)保護(hù)系統(tǒng)可以在需要保存數(shù)據(jù)的場景中保存數(shù)據(jù),從而確保了數(shù)據(jù)的一致性,同時(shí)避免了NVDIMM不必要的應(yīng)用開銷(如,超級電容的充放電次數(shù),nandflash的可擦寫次數(shù)等),延長了 NVDIMM的使用壽命。
[0055]本發(fā)明的實(shí)施例提供的數(shù)據(jù)保護(hù)方法,通過在CPU與PCH之前建立互通過程,讓該P(yáng)CH獲知CPU何時(shí)完成ADR異步內(nèi)存刷新流程,從而在CPU完成ADR流程時(shí),才向NVDI麗發(fā)送ADR完成消息,指示NVDMM進(jìn)行備電切換和數(shù)據(jù)保護(hù),從而避免了在CPU沒有完成ADR流程的情況下,仍然向NVDI麗發(fā)送ADR完成消息,使得該NVDI麗所保護(hù)的數(shù)據(jù)為不完整數(shù)據(jù),進(jìn)而提高了系統(tǒng)保護(hù)數(shù)據(jù)的可靠性。
[0056]本發(fā)明的實(shí)施例提供了一種PCH集成南橋芯片,該P(yáng)CH應(yīng)用于上述的數(shù)據(jù)保護(hù)方法,如圖3所示,該P(yáng)CH3包括:接收模塊31和發(fā)送模塊32,其中:[0057]接收模塊31,用于接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反
饋信息。
[0058]發(fā)送模塊32,用于在接收模塊31接收到反饋信息后,向NVDIMM非易失性內(nèi)存條發(fā)送ADR完成信息。
[0059]其中,上述的ADR完成消息用于指示NVDI麗進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0060]可選的,發(fā)送模塊32,還用于當(dāng)CPLD復(fù)雜可編程邏輯器件觸發(fā)ADR流程后,向CPU發(fā)送ADR啟動(dòng)信息,并啟動(dòng)計(jì)時(shí)器33。
[0061 ] 其中,上述ADR啟動(dòng)信息用于指示CPU啟動(dòng)ADR流程。
[0062]可選的,如圖4所示,該P(yáng)CH還包括:處理模塊34,用于若接收模塊31在預(yù)設(shè)時(shí)間內(nèi)未接收到反饋信息,則判定CPU異常,停止計(jì)時(shí)器33的計(jì)時(shí),并復(fù)位數(shù)據(jù)保護(hù)系統(tǒng)。
[0063]可選的,發(fā)送模塊32具體用于:在接收模塊31接收到反饋信息后,停止計(jì)時(shí)器33的計(jì)時(shí),并向NVDI麗發(fā)送ADR完成信息,以便NVDI麗根據(jù)ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0064]本發(fā)明的實(shí)施例提供的PCH,通過在CPU與PCH之前建立互通過程,讓該P(yáng)CH獲知CPU何時(shí)完成ADR異步內(nèi)存刷新流程,從而在CPU完成ADR流程時(shí),才向NVDI麗發(fā)送ADR完成消息,指示NVDI麗進(jìn)行備電切換和數(shù)據(jù)保護(hù),從而避免了在CPU沒有完成ADR流程的情況下,仍然向NVDIMM發(fā)送ADR完成消息,使得該NVDIMM所保護(hù)的數(shù)據(jù)為不完整數(shù)據(jù),進(jìn)而提高了系統(tǒng)保護(hù)數(shù)據(jù)的可靠性。
[0065]本發(fā)明的實(shí)施例提供了一種PCH集成南橋芯片,該P(yáng)CH應(yīng)用于上述的數(shù)據(jù)保護(hù)方法,如圖5所示,該P(yáng)CH4包括:接收機(jī)41、發(fā)射機(jī)42、計(jì)時(shí)器43和處理器44,其中:
[0066]接收機(jī)41,用于接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋信息。
[0067]發(fā)射機(jī)42,用于在接收機(jī)41接收到反饋信息后,向NVDMM非易失性內(nèi)存條發(fā)送ADR完成信息。
[0068]其中,上述的ADR完成消息用于指示NVDI麗進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0069]可選的,發(fā)射機(jī)42,還用于當(dāng)CPLD復(fù)雜可編程邏輯器件觸發(fā)ADR流程后,向CPU發(fā)送ADR啟動(dòng)信息,并啟動(dòng)計(jì)時(shí)器33。
[0070]其中,上述ADR啟動(dòng)信息用于指示CPU啟動(dòng)ADR流程。
[0071]可選的,處理器44,用于若接收模塊41在預(yù)設(shè)時(shí)間內(nèi)未接收到反饋信息,則判定CPU異常,停止計(jì)時(shí)器43的計(jì)時(shí),并復(fù)位數(shù)據(jù)保護(hù)系統(tǒng)。
[0072]可選的,發(fā)送模塊42具體用于:在接收機(jī)41接收到反饋信息后,停止計(jì)時(shí)器43的計(jì)時(shí),并向NVDMM發(fā)送ADR完成信息,以便NVDMM根據(jù)ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0073]本發(fā)明的實(shí)施例提供的PCH,通過在CPU與PCH之前建立互通過程,讓該P(yáng)CH獲知CPU何時(shí)完成ADR異步內(nèi)存刷新流程,從而在CPU完成ADR流程時(shí),才向NVDI麗發(fā)送ADR完成消息,指示NVDI麗進(jìn)行備電切換和數(shù)據(jù)保護(hù),從而避免了在CPU沒有完成ADR流程的情況下,仍然向NVDMM發(fā)送ADR完成消息,使得該NVDMM所保護(hù)的數(shù)據(jù)為不完整數(shù)據(jù),進(jìn)而提高了系統(tǒng)保護(hù)數(shù)據(jù)的可靠性。
[0074]本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)保護(hù)系統(tǒng),該數(shù)據(jù)保護(hù)系統(tǒng)包括但不限于:X86(即基于intel處理器的系統(tǒng))的存儲系統(tǒng)、X86的服務(wù)器等。如圖6所示,該數(shù)據(jù)保護(hù)系統(tǒng)5包括:CPLD復(fù)雜可編程邏輯器件51、PCH集成南橋芯片52、CPU中央處理器53及NVDIMM非易失性內(nèi)存條54,其中,上述的PCH52為上述實(shí)施例中任一 PCH52。
[0075]具體的,該上述的數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)NVDIMM中數(shù)據(jù)的具體過程如下:
[0076]首先,當(dāng)CPLD檢測到AC掉電后,CPLD會(huì)產(chǎn)生中斷到PCH,使得PCH觸發(fā)ADR流程。隨后PCH會(huì)向CPU發(fā)送一個(gè)ADR啟動(dòng)信息,而CPU在接收到ADR啟動(dòng)信息中ADR比特位有效,從而觸發(fā)ADR事件,同時(shí)PCH內(nèi)部的計(jì)時(shí)器開始計(jì)時(shí),然后CPU將數(shù)據(jù)寫入DRAM中,完成后,配置NVDMM進(jìn)入自刷新模式,拉低CKE,然后,向PCH發(fā)送一個(gè)ADR完成信息以指示NVDIMM根據(jù)ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
[0077]本發(fā)明的實(shí)施例提供的數(shù)據(jù)保護(hù)系統(tǒng),通過在CPU與PCH之前建立互通過程,讓該P(yáng)CH獲知CPU何時(shí)完成ADR異步內(nèi)存刷新流程,從而在CPU完成ADR流程時(shí),才向NVDI麗發(fā)送ADR完成消息,指示NVDMM進(jìn)行備電切換和數(shù)據(jù)保護(hù),從而避免了在CPU沒有完成ADR流程的情況下,仍然向NVDI麗發(fā)送ADR完成消息,使得該NVDI麗所保護(hù)的數(shù)據(jù)為不完整數(shù)據(jù),進(jìn)而提高了系統(tǒng)保護(hù)數(shù)據(jù)的可靠性。
[0078]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0079]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種數(shù)據(jù)保護(hù)方法,應(yīng)用于數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,包括: PCH集成南橋芯片接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋信息; 所述PCH在接收到所述反饋信息后,向NVDI麗非易失性內(nèi)存條發(fā)送ADR完成信息;其中,所述ADR完成消息用于指示所述NVDIMM進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述PCH接收CPU在完成ADR流程后發(fā)送的反饋信息之前,還包括: 當(dāng)CPLD復(fù)雜可編程邏輯器件觸發(fā)所述ADR流程后,所述PCH向所述CPU發(fā)送ADR啟動(dòng)信息,并啟動(dòng)所述PCH中的計(jì)時(shí)器;其中,所述ADR啟動(dòng)信息用于指示所述CPU啟動(dòng)所述ADR流程。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 若所述PCH在預(yù)設(shè)時(shí)間內(nèi)未接收到所述反饋信息,則所述PCH判定所述CPU異常,停止所述計(jì)時(shí)器的計(jì)時(shí),并復(fù)位所述數(shù)據(jù)保護(hù)系統(tǒng)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述PCH在接收到所述反饋信息后,向NVDI麗非易失性內(nèi)存條發(fā)送ADR完成信息包括: 所述PCH在所述預(yù)設(shè)時(shí)間內(nèi)接收到所述反饋信息后,停止所述計(jì)時(shí)器的計(jì)時(shí),并向所述NVDI麗發(fā)送ADR完成信息,以便所述NVDI麗根據(jù)所述ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
5.—種PCH集成南橋芯片,其特征在于,包括: 接收模塊,用于接收CPU中央處理器在完成ADR異步內(nèi)存刷新流程后發(fā)送的反饋信息; 發(fā)送模塊,用于在所述接收模塊接收到所述反饋信息后,向NVDIMM非易失性內(nèi)存條發(fā)送ADR完成信息;其中,所述ADR完成消息用于指示所述NVDI麗進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
6.根據(jù)權(quán)利要求5所述的PCH,其特征在于: 所述發(fā)送模塊,還用于當(dāng)CPLD復(fù)雜可編程邏輯器件觸發(fā)所述ADR流程后,向所述CPU發(fā)送ADR啟動(dòng)信息,并啟動(dòng)計(jì)時(shí)器;其中,所述ADR啟動(dòng)信息用于指示所述CPU啟動(dòng)所述ADR流程。
7.根據(jù)權(quán)利要求6所述的PCH,其特征在于: 處理模塊,用于若所述接收模塊在預(yù)設(shè)時(shí)間內(nèi)未接收到所述反饋信息,則判定所述CPU異常,停止所述計(jì)時(shí)器的計(jì)時(shí),并復(fù)位所述數(shù)據(jù)保護(hù)系統(tǒng)。
8.根據(jù)權(quán)利要求6所述的PCH,其特征在于: 所述發(fā)送模塊具體用于:當(dāng)所述接收模塊在所述預(yù)設(shè)時(shí)間內(nèi)接收到所述反饋信息后,停止所述計(jì)時(shí)器的計(jì)時(shí),并向所述NVDMM發(fā)送ADR完成信息,以便所述NVDMM根據(jù)所述ADR完成信息進(jìn)行備電切換和數(shù)據(jù)保護(hù)。
9.一種數(shù)據(jù)保護(hù)系統(tǒng),其特征在于,所述數(shù)據(jù)保護(hù)系統(tǒng)包括:CPLD復(fù)雜可編程邏輯器件、PCH集成南橋芯片、CPU中央處理器及NVDIMM非易失性內(nèi)存條,其中,所述PCH為上述權(quán)利要求5至8所述的任一 PCH。
【文檔編號】G06F13/10GK103544080SQ201310378563
【公開日】2014年1月29日 申請日期:2013年8月27日 優(yōu)先權(quán)日:2013年8月27日
【發(fā)明者】胡愛玲, 楊景松 申請人:華為技術(shù)有限公司