一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法
【專利摘要】本發(fā)明公開(kāi)了一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法,包括:PSU在掉電前發(fā)出掉電報(bào)警信號(hào)至主板CPLD;主板CPLD向PCH發(fā)送觸發(fā)同步的請(qǐng)求;PCH接到該請(qǐng)求后,向所有CPU發(fā)送同步信號(hào);各個(gè)CPU接收到該同步信號(hào)后,先將Cache中的數(shù)據(jù)寫(xiě)入DRAM中,寫(xiě)完后給混合內(nèi)存的控制器發(fā)送寫(xiě)入完成標(biāo)志;控制器偵測(cè)到該寫(xiě)入完成標(biāo)志,就將DRAM中的數(shù)據(jù)全部轉(zhuǎn)移到NVM中,數(shù)據(jù)轉(zhuǎn)移完成后,發(fā)出保存完成信號(hào)給PCH;PCH在內(nèi)部寄存器中寫(xiě)入異常掉電關(guān)機(jī)的標(biāo)示狀態(tài)。本發(fā)明在計(jì)算機(jī)突然掉電時(shí),可以將計(jì)算機(jī)正在運(yùn)行的數(shù)據(jù)保存到NVM中,當(dāng)系統(tǒng)重啟時(shí)從NVM中讀取這些數(shù)據(jù),從而實(shí)現(xiàn)了對(duì)事故現(xiàn)場(chǎng)的復(fù)現(xiàn),減少用戶損失。
【專利說(shuō)明】一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體涉及一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法。
【背景技術(shù)】
[0002]一般計(jì)算機(jī)存儲(chǔ)系統(tǒng)由內(nèi)存和外存組成,根據(jù)存儲(chǔ)速度快慢分別是CPU內(nèi)部的高速緩沖存儲(chǔ)器Cache、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory,簡(jiǎn)稱DRAM)內(nèi)存和固態(tài)硬盤(pán)(Solid State Disk,簡(jiǎn)稱SSD)或機(jī)械硬盤(pán)外存,其中Cache和DRAM由易失性存儲(chǔ)介質(zhì)構(gòu)成,其主要特性是斷電后數(shù)據(jù)不能保存,而SSD或機(jī)械硬盤(pán)由非易失存儲(chǔ)介質(zhì)(Non-Volatile Memory,簡(jiǎn)稱NVM)構(gòu)成,其斷電后數(shù)據(jù)不會(huì)丟失。計(jì)算機(jī)工作時(shí),CPU首先從Cache中獲取數(shù)據(jù),如果Cache中沒(méi)有再?gòu)腄RAM中尋找,如果DRAM中還沒(méi)有就從硬盤(pán)中尋找。如果計(jì)算機(jī)在正常工作時(shí)系統(tǒng)忽然掉電,由于Cache和DRAM中數(shù)據(jù)沒(méi)有及時(shí)保存,所有在Cache和DRAM中運(yùn)行的數(shù)據(jù)都會(huì)丟失,在一些關(guān)鍵應(yīng)用場(chǎng)合會(huì)帶來(lái)巨大損失。
【發(fā)明內(nèi)容】
[0003]本發(fā)明需要解決的技術(shù)問(wèn)題是提供一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法,在計(jì)算機(jī)突然掉電時(shí),可以將計(jì)算機(jī)正在運(yùn)行的數(shù)據(jù)保存到非易失存儲(chǔ)介質(zhì)NVM中,當(dāng)系統(tǒng)重新啟動(dòng)時(shí)又可以從NVM中讀取這些保存的數(shù)據(jù),從而實(shí)現(xiàn)了對(duì)事故現(xiàn)場(chǎng)的復(fù)現(xiàn),可以減少對(duì)用戶的損失。
[0004]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法,包括:
[0005]當(dāng)時(shí)序邏輯電路檢測(cè)到電源掉電告警信號(hào)后,觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中。
[0006]進(jìn)一步地,所述時(shí)序邏輯電路由復(fù)雜可編程邏輯器件CPLD實(shí)現(xiàn),所述易失性存儲(chǔ)介質(zhì)包括:高速緩沖存儲(chǔ)器Cache和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM ;
[0007]所述觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中之前,還包括:
[0008]當(dāng)所述CPLD檢測(cè)到電源掉電告警信號(hào)后,觸發(fā)芯片組PCH通知CPU將所述Cache中的數(shù)據(jù)寫(xiě)入DRAM中。
[0009]進(jìn)一步地,所述觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中,包括:
[0010]所述CPU在將所述Cache中的數(shù)據(jù)寫(xiě)入所述DRAM中完成后,給混合內(nèi)存的控制器發(fā)送寫(xiě)入完成標(biāo)志;
[0011]當(dāng)所述混合內(nèi)存的控制器偵測(cè)到所述寫(xiě)入完成標(biāo)志時(shí),將所述DRAM中的數(shù)據(jù)轉(zhuǎn)移到非易失性存儲(chǔ)介質(zhì)NVM中。
[0012]進(jìn)一步地,所述CPU包括一個(gè)或多個(gè),所述混合內(nèi)存包括:控制器、DRAM和NVM,一個(gè)CPU對(duì)應(yīng)一個(gè)或多個(gè)混合內(nèi)存。[0013]進(jìn)一步地,所述混合內(nèi)存中采用超級(jí)電容供電的方式,超級(jí)電容通過(guò)存儲(chǔ)的電荷支持所述控制器、DRAM和NVM持續(xù)工作到數(shù)據(jù)轉(zhuǎn)移的完成。
[0014]進(jìn)一步地,所述方法還包括:
[0015]在數(shù)據(jù)轉(zhuǎn)移完成后,所述混合內(nèi)存的控制器發(fā)送保存完成信號(hào)給所述PCH,通知所述PCH完成了數(shù)據(jù)轉(zhuǎn)移的操作。
[0016]進(jìn)一步地,所述方法還包括:
[0017]當(dāng)所述PCH收到所述混合內(nèi)存的控制器發(fā)送的保存完成信號(hào)后,在內(nèi)部寄存器中寫(xiě)入一個(gè)異常掉電關(guān)機(jī)的標(biāo)示狀態(tài)。
[0018]進(jìn)一步地,所述方法還包括:
[0019]當(dāng)重新開(kāi)機(jī)時(shí),基本輸入/輸出系統(tǒng)BIOS根據(jù)所述標(biāo)示狀態(tài)來(lái)判斷是否異常掉電關(guān)機(jī),如果是,則選擇從所述NVM中將數(shù)據(jù)恢復(fù)。
[0020]與現(xiàn)有技術(shù)相比,在本發(fā)明提供的一個(gè)實(shí)施例中,在計(jì)算機(jī)突然掉電時(shí),可以將計(jì)算機(jī)正在運(yùn)行的數(shù)據(jù)保存到非易失存儲(chǔ)介質(zhì)NVM中,當(dāng)系統(tǒng)重新啟動(dòng)時(shí)又可以從NVM中讀取這些保存的數(shù)據(jù),從而實(shí)現(xiàn)了對(duì)事故現(xiàn)場(chǎng)的復(fù)現(xiàn),可以減少用戶的損失;在另一個(gè)實(shí)施例中,能夠?qū)ache和DRAM中的運(yùn)行數(shù)據(jù)全部進(jìn)行保存,這樣就能保證數(shù)據(jù)的完整性,當(dāng)系統(tǒng)重新啟動(dòng)時(shí)可以對(duì)異常掉電現(xiàn)場(chǎng)時(shí)的數(shù)據(jù)進(jìn)行完整恢復(fù);在另一個(gè)實(shí)施例中,為了提高整個(gè)數(shù)據(jù)保存過(guò)程的可靠性,防止系統(tǒng)電源PSU在掉電報(bào)警發(fā)出后持續(xù)供電時(shí)間不足、內(nèi)存控制器無(wú)法完成數(shù)據(jù)轉(zhuǎn)移的問(wèn)題,本發(fā)明提出了在混合內(nèi)存中采用超級(jí)電容供電的方式,超級(jí)電容通過(guò)存儲(chǔ)的電荷可以讓內(nèi)存控制器、DRAM和NVM持續(xù)工作到數(shù)據(jù)轉(zhuǎn)移的完成。
【專利附圖】
【附圖說(shuō)明】
[0021]圖1是實(shí)施例中一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存系統(tǒng)的結(jié)構(gòu)圖;
[0022]圖2是實(shí)施例中混合內(nèi)存的結(jié)構(gòu)圖;
[0023]圖3是實(shí)施例中一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法流程圖。
【具體實(shí)施方式】
[0024]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0025]實(shí)施例:
[0026]如圖1所示,本實(shí)施例提供了一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存系統(tǒng),包括:電源模塊PSU(Power Supply Unit,電源提供單元)、時(shí)序邏輯電路(主要由主板CPLD(ComplexProgrammable Logic Device,復(fù)雜可編程邏輯器件)實(shí)現(xiàn))、Intel的芯片組PCH(PlatformController Hub)、一個(gè)或多個(gè)CPU,以及與CPU連接的混合內(nèi)存,其中:
[0027]電源模塊PSU具有掉電報(bào)警功能,即在電源模塊掉電之前可以發(fā)出報(bào)警信號(hào)至CPLD,并且直流電源還能持續(xù)提供大于Ims的支撐時(shí)間;
[0028]主板CPLD用于在偵測(cè)到電源模塊的掉電報(bào)警信號(hào)后,立即通知PCH執(zhí)行內(nèi)存掉電數(shù)據(jù)保護(hù)過(guò)程;
[0029]PCH用于接到處理請(qǐng)求后,立即通過(guò)“同步總線”通知CPU執(zhí)行掉電保護(hù)流程;[0030]CPU用于收到PCH的同步請(qǐng)求后,為了保證整個(gè)易失性存儲(chǔ)介質(zhì)中(DRAM和Cache)數(shù)據(jù)都能保存,首先將Cache中的數(shù)據(jù)立刻寫(xiě)入DRAM中,然后在Cache數(shù)據(jù)寫(xiě)完之后給混合內(nèi)存的控制器發(fā)送一個(gè)寫(xiě)入完成標(biāo)志;
[0031]混合內(nèi)存的控制器用于一旦偵測(cè)到所述寫(xiě)入完成標(biāo)志,立即執(zhí)行將DRAM中的數(shù)據(jù)全部轉(zhuǎn)移到NVM的過(guò)程,等數(shù)據(jù)轉(zhuǎn)移完成之后發(fā)出“保存完成”信號(hào)給PCH,預(yù)示內(nèi)存數(shù)據(jù)保存的完成;
[0032]PCH還用于,當(dāng)PCH收到混合內(nèi)存的控制器發(fā)出的“保存完成”信號(hào)后,在內(nèi)部寄存器中寫(xiě)入一個(gè)異常掉電關(guān)機(jī)的標(biāo)不狀態(tài),例如,將寄存器的一個(gè)標(biāo)志位配置為I時(shí)表不異常掉電關(guān)機(jī),置為O則表示正常關(guān)機(jī);可以由BIOS選擇用哪個(gè)內(nèi)部寄存器來(lái)標(biāo)識(shí)關(guān)機(jī)的狀態(tài),這個(gè)寄存器最大的特點(diǎn)就是:系統(tǒng)掉電后寄存器的值不會(huì)丟失,由主板上的紐扣電池供電即可。
[0033]當(dāng)重新開(kāi)機(jī)的時(shí)候,基本輸入/輸出系統(tǒng)(Basic Input Output System,簡(jiǎn)稱BIOS)讀取這個(gè)標(biāo)示狀態(tài)來(lái)判斷是正常關(guān)機(jī)還是異常掉電關(guān)機(jī),例如,標(biāo)示狀態(tài)為I表示異常掉電關(guān)機(jī),為O表示正常關(guān)機(jī)。如果是異常掉電關(guān)機(jī),BIOS可以選擇從NVM中將之前掉電時(shí)的數(shù)據(jù)讀取出來(lái),即將數(shù)據(jù)恢復(fù)。
[0034]其中,如圖2所示,混合內(nèi)存作為系統(tǒng)內(nèi)存,由控制器、DRAM芯片、NVM芯片、供電電路和超級(jí)電容等組成。
[0035]其中,DRAM芯片作為CPU的內(nèi)存使用,而NVM作為備用存儲(chǔ)設(shè)備只有在系統(tǒng)掉電時(shí)才啟用;控制器通過(guò)DRAM總線和NVM總線分別連接DRAM芯片和NVM芯片,可以實(shí)現(xiàn)兩者間數(shù)據(jù)的同步,當(dāng)檢測(cè)到寫(xiě)入完成標(biāo)志位,立即執(zhí)行將DRAM中的數(shù)據(jù)全部轉(zhuǎn)移到NVM的過(guò)程,等數(shù)據(jù)轉(zhuǎn)移完成之后發(fā)出“保存完成”信號(hào)給PCH,預(yù)示內(nèi)存數(shù)據(jù)保存的完成。
[0036]另外,超級(jí)電容的作用是在系統(tǒng)掉電時(shí)可以作為一個(gè)備用供電裝置為混合內(nèi)存條供電。
[0037]本實(shí)施例提供了一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法,包括:
[0038]當(dāng)時(shí)序邏輯電路檢測(cè)到電源掉電告警信號(hào)后,觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中。
[0039]所述時(shí)序邏輯電路由CPLD實(shí)現(xiàn),所述易失性存儲(chǔ)介質(zhì)為高速緩沖存儲(chǔ)器Cache和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM ;
[0040]為了保證數(shù)據(jù)的完整性,當(dāng)系統(tǒng)重新啟動(dòng)時(shí)可以對(duì)異常掉電現(xiàn)場(chǎng)時(shí)的數(shù)據(jù)進(jìn)行完整恢復(fù),優(yōu)選地,在觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中之前,還包括:
[0041 ] 當(dāng)所述CPLD檢測(cè)到電源掉電告警信號(hào)后,觸發(fā)PCH通知CPU將Cache中的數(shù)據(jù)寫(xiě)入DRAM中;
[0042]其中,所述觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中,包括:
[0043]所述CPU在將Cache中的數(shù)據(jù)寫(xiě)入DRAM中完成后,給混合內(nèi)存的控制器發(fā)送寫(xiě)入完成標(biāo)志;
[0044]當(dāng)所述混合內(nèi)存的控制器偵測(cè)到所述寫(xiě)入完成標(biāo)志時(shí),將DRAM中的數(shù)據(jù)轉(zhuǎn)移到非易失性存儲(chǔ)介質(zhì)NVM中。[0045]所述CPU包括一個(gè)或多個(gè),所述混合內(nèi)存包括:控制器、DRAM和NVM,混合內(nèi)存是插在CPU的內(nèi)存通道上的。舉例來(lái)說(shuō),如果I個(gè)CPU有4個(gè)內(nèi)存通道,每個(gè)通道最多支持3根混合內(nèi)存,那么這個(gè)CPU最多可以插12個(gè)混合內(nèi)存,一個(gè)CPU對(duì)應(yīng)一個(gè)或多個(gè)混合內(nèi)存。其中,DRAM芯片作為CPU的內(nèi)存使用,而NVM作為備用存儲(chǔ)設(shè)備只有在系統(tǒng)掉電時(shí)才啟用;控制器通過(guò)DRAM總線和NVM總線分別連接DRAM芯片和NVM芯片,可以實(shí)現(xiàn)兩者間數(shù)據(jù)的同步,當(dāng)檢測(cè)到寫(xiě)入完成標(biāo)志時(shí),立即執(zhí)行將DRAM中的數(shù)據(jù)全部轉(zhuǎn)移到NVM的過(guò)程。
[0046]為了提高整個(gè)數(shù)據(jù)保存過(guò)程的可靠性,防止系統(tǒng)電源PSU在掉電報(bào)警發(fā)出后持續(xù)供電時(shí)間不足、內(nèi)存控制器無(wú)法完成數(shù)據(jù)轉(zhuǎn)移的問(wèn)題,本發(fā)明提出了在混合內(nèi)存中采用超級(jí)電容供電的方式,超級(jí)電容通過(guò)存儲(chǔ)的電荷可以讓內(nèi)存控制器、DRAM和NVM持續(xù)工作到數(shù)據(jù)轉(zhuǎn)移的完成。
[0047]此外,所述方法還包括:
[0048]在數(shù)據(jù)轉(zhuǎn)移完成后,所述混合內(nèi)存的控制器發(fā)送保存完成信號(hào)給所述PCH,通知所述PCH完成了數(shù)據(jù)轉(zhuǎn)移的操作;
[0049]當(dāng)所述PCH收到所述混合內(nèi)存的控制器發(fā)送的保存完成信號(hào)后,在內(nèi)部寄存器中寫(xiě)入異常掉電關(guān)機(jī)的一個(gè)標(biāo)不狀態(tài),例如,將寄存器的一個(gè)標(biāo)志位置為I時(shí)表不異常掉電關(guān)機(jī),置為O則表示正常關(guān)機(jī),可以由BIOS選擇用哪個(gè)內(nèi)部寄存器來(lái)標(biāo)識(shí)關(guān)機(jī)的狀態(tài),這個(gè)寄存器最大的特點(diǎn)就是:系統(tǒng)掉電后寄存器的值不會(huì)丟失,由主板上的紐扣電池供電即可。
[0050]其中,所述方法還包括:
[0051]當(dāng)重新開(kāi)機(jī)時(shí),BIOS根據(jù)所述標(biāo)示狀態(tài)來(lái)判斷是否異常掉電關(guān)機(jī),例如,標(biāo)示狀態(tài)為I表示異常掉電關(guān)機(jī),為O表示正常關(guān)機(jī),如果是異常掉電關(guān)機(jī),則選擇從所述NVM中將數(shù)據(jù)恢復(fù)。
[0052]在一個(gè)應(yīng)用示例中,如圖3所示,在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法,包括以下步驟:
[0053]SlOl:系統(tǒng)電源模塊PSU在掉電之前發(fā)出掉電報(bào)警信號(hào)至主板CPLD ;
[0054]S102:主板CPLD偵測(cè)到電源模塊的掉電報(bào)警信號(hào)后,立即通知PCH執(zhí)行內(nèi)存掉電數(shù)據(jù)保護(hù)過(guò)程,向PCH發(fā)送觸發(fā)同步的請(qǐng)求;
[0055]S103:PCH接到該請(qǐng)求后,立即通過(guò)“同步總線”通知CPU執(zhí)行掉電保護(hù)流程,向所有的CPU發(fā)送同步信號(hào);
[0056]S104:各個(gè)CPU接收到該同步信號(hào)后,首先將Cache中的數(shù)據(jù)寫(xiě)入DRAM中,然后在Cache數(shù)據(jù)寫(xiě)完之后給混合內(nèi)存的控制器發(fā)送一個(gè)寫(xiě)入完成標(biāo)志;
[0057]S105:混合內(nèi)存的控制器一旦偵測(cè)到該寫(xiě)入完成標(biāo)志,就將DRAM中的數(shù)據(jù)全部轉(zhuǎn)移到NVM中;
[0058]S106:在數(shù)據(jù)轉(zhuǎn)移完成之后,混合內(nèi)存的控制器發(fā)出“保存完成”信號(hào)給PCH,預(yù)示內(nèi)存數(shù)據(jù)保存的完成;
[0059]S107:PCH收到混合內(nèi)存的控制器發(fā)出的“保存完成”信號(hào)后,在內(nèi)部寄存器中寫(xiě)入一個(gè)異常掉電關(guān)機(jī)的標(biāo)示狀態(tài)。
[0060]至此,在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法的流程結(jié)束。
[0061]這樣,當(dāng)重新開(kāi)機(jī)的時(shí)候,BIOS讀取這個(gè)標(biāo)示狀態(tài)來(lái)判斷是正常關(guān)機(jī)還是異常掉電關(guān)機(jī)。如果是異常掉電關(guān)機(jī),BIOS可以選擇從NVM中將之前掉電時(shí)的數(shù)據(jù)讀取出來(lái)。[0062]從上述實(shí)施例可以看出,相對(duì)于現(xiàn)有技術(shù),上述實(shí)施例中提供的在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法,在計(jì)算機(jī)突然掉電時(shí),可以將計(jì)算機(jī)正在運(yùn)行的數(shù)據(jù)保存到非易失存儲(chǔ)介質(zhì)NVM中,當(dāng)系統(tǒng)重新啟動(dòng)時(shí)又可以從NVM中讀取這些保存的數(shù)據(jù),從而實(shí)現(xiàn)了對(duì)事故現(xiàn)場(chǎng)的復(fù)現(xiàn),可以減少用戶的損失。此外,在另一個(gè)實(shí)施例中,能夠?qū)ache和DRAM中的運(yùn)行數(shù)據(jù)全部進(jìn)行保存,當(dāng)系統(tǒng)重新啟動(dòng)時(shí)可以對(duì)異常掉電現(xiàn)場(chǎng)時(shí)的數(shù)據(jù)進(jìn)行完整恢復(fù);在另一個(gè)實(shí)施例中,為了提高整個(gè)數(shù)據(jù)保存過(guò)程的可靠性,防止系統(tǒng)電源PSU在掉電報(bào)警發(fā)出后持續(xù)供電時(shí)間不足、內(nèi)存控制器無(wú)法完成數(shù)據(jù)轉(zhuǎn)移的問(wèn)題,本發(fā)明提出了在混合內(nèi)存中采用超級(jí)電容供電的方式,超級(jí)電容通過(guò)存儲(chǔ)的電荷可以讓內(nèi)存控制器、DRAM和NVM持續(xù)工作到數(shù)據(jù)轉(zhuǎn)移的完成。
[0063]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤(pán)或光盤(pán)等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
[0064]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。根據(jù)本發(fā)明的
【發(fā)明內(nèi)容】
,還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種在計(jì)算機(jī)異常掉電時(shí)的數(shù)據(jù)保存方法,包括: 當(dāng)時(shí)序邏輯電路檢測(cè)到電源掉電告警信號(hào)后,觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中。
2.如權(quán)利要求1所述的方法,其特征在于: 所述時(shí)序邏輯電路由復(fù)雜可編程邏輯器件CPLD實(shí)現(xiàn),所述易失性存儲(chǔ)介質(zhì)包括:高速緩沖存儲(chǔ)器Cache和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM ; 所述觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中之前,還包括: 當(dāng)所述CPLD檢測(cè)到電源掉電告警信號(hào)后,觸發(fā)芯片組PCH通知CPU將所述Cache中的數(shù)據(jù)寫(xiě)入DRAM中。
3.如權(quán)利要求2所述的方法,其特征在于: 所述觸發(fā)混合內(nèi)存的控制器將易失性存儲(chǔ)介質(zhì)中的數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)中,包括: 所述CPU在將所述Cache中的數(shù)據(jù)寫(xiě)入所述DRAM中完成后,給混合內(nèi)存的控制器發(fā)送與入完成標(biāo)志; 當(dāng)所述混合內(nèi)存的控制器偵測(cè)到所述寫(xiě)入完成標(biāo)志時(shí),將所述DRAM中的數(shù)據(jù)轉(zhuǎn)移到非易失性存儲(chǔ)介質(zhì)NVM中。
4.如權(quán)利要求1或2或3所述的方法,其特征在于: 所述CPU包括一個(gè)或多個(gè),所述混合內(nèi)存包括:控制器、DRAM和NVM,一個(gè)CPU對(duì)應(yīng)一個(gè)或多個(gè)混合內(nèi)存。
5.如權(quán)利要求4所述的方法,其特征在于: 所述混合內(nèi)存中采用超級(jí)電容供電的方式,超級(jí)電容通過(guò)存儲(chǔ)的電荷支持所述控制器、DRAM和NVM持續(xù)工作到數(shù)據(jù)轉(zhuǎn)移的完成。
6.如權(quán)利要求1或2或3所述的方法,其特征在于:所述方法還包括: 在數(shù)據(jù)轉(zhuǎn)移完成后,所述混合內(nèi)存的控制器發(fā)送保存完成信號(hào)給所述PCH,通知所述PCH完成了數(shù)據(jù)轉(zhuǎn)移的操作。
7.如權(quán)利要求6所述的方法,其特征在于:所述方法還包括: 當(dāng)所述PCH收到所述混合內(nèi)存的控制器發(fā)送的保存完成信號(hào)后,在內(nèi)部寄存器中寫(xiě)入一個(gè)異常掉電關(guān)機(jī)的標(biāo)示狀態(tài)。
8.如權(quán)利要求7所述的方法,其特征在于:所述方法還包括: 當(dāng)重新開(kāi)機(jī)時(shí),基本輸入/輸出系統(tǒng)B1S根據(jù)所述標(biāo)示狀態(tài)來(lái)判斷是否異常掉電關(guān)機(jī),如果是,則選擇從所述NVM中將數(shù)據(jù)恢復(fù)。
【文檔編號(hào)】G06F12/16GK104035893SQ201410307289
【公開(kāi)日】2014年9月10日 申請(qǐng)日期:2014年6月30日 優(yōu)先權(quán)日:2014年6月30日
【發(fā)明者】貢維, 林楷智 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司