本發(fā)明涉及掉電測(cè)試技術(shù)領(lǐng)域,特別是涉及一種存儲(chǔ)器掉電時(shí)間段定位方法。本發(fā)明還涉及一種系統(tǒng)掉電保護(hù)方法。
背景技術(shù):
現(xiàn)有技術(shù)中,對(duì)系統(tǒng)中存儲(chǔ)器進(jìn)行掉電時(shí)間段的定位測(cè)試中,對(duì)整條指令過(guò)程進(jìn)行掉電測(cè)試,如果測(cè)試時(shí)間步長(zhǎng)設(shè)置過(guò)小,會(huì)導(dǎo)致整個(gè)掉電測(cè)試所消耗的時(shí)間過(guò)長(zhǎng),而測(cè)試時(shí)間步長(zhǎng)設(shè)置較大,又會(huì)降低存儲(chǔ)器掉電時(shí)間段的命中率。
因此,如何能實(shí)現(xiàn)對(duì)存儲(chǔ)器掉電時(shí)間段的快速準(zhǔn)確定位,克服現(xiàn)有技術(shù)存在的缺點(diǎn),就成為本領(lǐng)域技術(shù)人員需要解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種存儲(chǔ)器掉電時(shí)間段定位方法,能夠?qū)崿F(xiàn)對(duì)存儲(chǔ)器掉電時(shí)間段的準(zhǔn)確定位。本發(fā)明還提供一種系統(tǒng)掉電保護(hù)方法。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種存儲(chǔ)器掉電時(shí)間段定位方法,包括:
以第一時(shí)間段為步長(zhǎng),對(duì)指令過(guò)程進(jìn)行逐步掉電測(cè)試,定位出所述指令過(guò)程中在存儲(chǔ)器中編程的編程時(shí)間段;
逐次在所述編程時(shí)間段中進(jìn)行逐步掉電測(cè)試,定位出所述存儲(chǔ)器的掉電時(shí)間段,在各次定位中,下一次逐步掉電測(cè)試采用的掉電測(cè)試步長(zhǎng)小于上一次逐步掉電測(cè)試采用的掉電測(cè)試步長(zhǎng),下一次逐步掉電測(cè)試在上一次逐步掉電測(cè)試所定位出的掉電時(shí)間段中進(jìn)行。
可選地,所述以第一時(shí)間段為步長(zhǎng),對(duì)指令過(guò)程進(jìn)行逐步掉電測(cè)試,定位出所述指令過(guò)程中在存儲(chǔ)器中編程的編程時(shí)間段包括:
逐步讀取在指令過(guò)程中所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值,將所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值為被修改值的時(shí)間段以及為其它值的時(shí)間段,確定為所述編程時(shí)間段,其它值指區(qū)別于未修改值和被修改值的值。
可選地,進(jìn)行逐步掉電測(cè)試包括:
卡片上電,并接收所述存儲(chǔ)器發(fā)送的用于讀取存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值的讀取指令,在經(jīng)過(guò)預(yù)設(shè)時(shí)間段后卡片掉電;
卡片再次上電,讀取到所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值。
可選地,在所述讀取到所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值之后還包括:
判斷所讀取出的值是否為未修改值、被修改值或者其它值,其它值指區(qū)別于未修改值和被修改值的值;
若所讀取出的值為未修改值,表明掉電時(shí)間點(diǎn)未到達(dá)所述存儲(chǔ)器的編程過(guò)程;
若所讀取出的值為被修改值,表明掉電時(shí)間點(diǎn)在所述存儲(chǔ)器的編程過(guò)程之后;
若所讀取出的值為其它值,表明掉電時(shí)間點(diǎn)處于所述存儲(chǔ)器的編程過(guò)程中。
可選地,所述逐次在所述編程時(shí)間段中進(jìn)行逐步掉電測(cè)試,定位出所述存儲(chǔ)器的掉電時(shí)間段包括:
以第二時(shí)間段為步長(zhǎng),在所述編程時(shí)間段中進(jìn)行逐步掉電測(cè)試,定位出所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值為其它值的時(shí)間段,其它值指區(qū)別于未修改值和被修改值的值;
以第三時(shí)間段為步長(zhǎng),在所定位出的所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值為其它值的時(shí)間段中進(jìn)行逐步掉電測(cè)試,定位出掉電時(shí)間段;
所述第二時(shí)間段小于所述第一時(shí)間段,所述第三時(shí)間段小于所述第二時(shí)間段。
一種系統(tǒng)掉電保護(hù)方法,包括:
在識(shí)別到所述系統(tǒng)平臺(tái)出現(xiàn)掉電時(shí),觸發(fā)掉電保護(hù)開(kāi)始并進(jìn)行記錄;
將舊數(shù)據(jù)寫(xiě)入備份區(qū);
將新數(shù)據(jù)寫(xiě)入目標(biāo)區(qū);
在掉電保護(hù)完成后標(biāo)記掉電保護(hù)完成;
采用以上所述的存儲(chǔ)器掉電時(shí)間段定位方法,依次對(duì)掉電保護(hù)開(kāi)始標(biāo)記過(guò)程、備份舊數(shù)據(jù)過(guò)程、寫(xiě)入新數(shù)據(jù)過(guò)程、掉電保護(hù)完成標(biāo)記過(guò)程進(jìn)行掉電時(shí)間段定位。
可選地,對(duì)掉電保護(hù)開(kāi)始標(biāo)記過(guò)程、備份舊數(shù)據(jù)過(guò)程、寫(xiě)入新數(shù)據(jù)過(guò)程、掉電保護(hù)完成標(biāo)記過(guò)程進(jìn)行掉電時(shí)間段定位,在數(shù)據(jù)回滾機(jī)制啟用之前進(jìn)行。
由上述技術(shù)方案可知,本發(fā)明所提供的存儲(chǔ)器掉電時(shí)間段定位方法,首先以第一時(shí)間段為步長(zhǎng),對(duì)指令過(guò)程進(jìn)行逐步掉電測(cè)試,定位出指令過(guò)程中在存儲(chǔ)器中編程的編程時(shí)間段,然后在所定位出的編程時(shí)間段中進(jìn)行逐步掉電測(cè)試,在各次定位中,下一次逐步掉電測(cè)試采用的掉電測(cè)試步長(zhǎng)小于上一次逐步掉電測(cè)試采用的掉電測(cè)試步長(zhǎng),下一次逐步掉電測(cè)試在上一次逐步掉電測(cè)試所定位出的掉電時(shí)間段中進(jìn)行。本發(fā)明存儲(chǔ)器掉電時(shí)間段定位方法,對(duì)指令過(guò)程進(jìn)行逐次定位,在各次定位中依次減小掉電測(cè)試的測(cè)試步長(zhǎng)時(shí)間段,來(lái)逐次定位出存儲(chǔ)器編程過(guò)程中掉電時(shí)間段,能夠?qū)崿F(xiàn)對(duì)存儲(chǔ)器掉電時(shí)間段的準(zhǔn)確定位。
本發(fā)明所提供的系統(tǒng)掉電保護(hù)方法,在識(shí)別到系統(tǒng)平臺(tái)出現(xiàn)掉電時(shí),觸發(fā)掉電保護(hù)開(kāi)始并進(jìn)行記錄,將舊數(shù)據(jù)寫(xiě)入備份區(qū);然后將新數(shù)據(jù)寫(xiě)入目標(biāo)區(qū),在掉電保護(hù)完成后標(biāo)記掉電保護(hù)完成。通過(guò)采用存儲(chǔ)器掉電時(shí)間段定位方法對(duì)各個(gè)過(guò)程依次進(jìn)行掉電時(shí)間段的定位測(cè)試,能夠?qū)崿F(xiàn)對(duì)系統(tǒng)各個(gè)過(guò)程中掉電時(shí)間段的準(zhǔn)確定位。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種存儲(chǔ)器掉電時(shí)間段定位方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種系統(tǒng)掉電保護(hù)方法的流程圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參考圖1,本發(fā)明實(shí)施例提供的一種存儲(chǔ)器掉電時(shí)間段定位方法,包括步驟:
s10:以第一時(shí)間段為步長(zhǎng),對(duì)指令過(guò)程進(jìn)行逐步掉電測(cè)試,定位出所述指令過(guò)程中在存儲(chǔ)器中編程的編程時(shí)間段。
具體本步驟中,以第一時(shí)間段為步長(zhǎng),逐步讀取在指令過(guò)程中所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值,將所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值為被修改值的時(shí)間段以及為其它值的時(shí)間段,確定為所述編程時(shí)間段,其它值指區(qū)別于未修改值和被修改值的值。
卡片與系統(tǒng)存儲(chǔ)器交易過(guò)程中,若存在對(duì)存儲(chǔ)器的編程過(guò)程,編程過(guò)程為先擦后寫(xiě),相應(yīng)的,存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)值的存儲(chǔ)持續(xù)時(shí)間段包括:初始值階段、編程值階段、其它值階段。
初始值階段:卡片接收指令,應(yīng)用進(jìn)行邏輯處理。此階段過(guò)程中存儲(chǔ)區(qū)域內(nèi)值未被修改。
編程值階段:應(yīng)用修改數(shù)據(jù)完成,卡片響應(yīng)數(shù)據(jù),此階段過(guò)程中存儲(chǔ)區(qū)域內(nèi)值已被修改。
其它值階段:包括擦除過(guò)程,編程過(guò)程。
因此本步驟中,讀取存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值,判斷讀取到的值是否為未修改值、被修改值或者其它值,來(lái)定位編程過(guò)程。
本步驟中,進(jìn)行逐步掉電測(cè)試的過(guò)程包括:以第一時(shí)間段為步長(zhǎng)重復(fù)進(jìn)行以下過(guò)程:
s100:卡片上電,并接收所述存儲(chǔ)器發(fā)送的、用于讀取存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值的讀取指令,在經(jīng)過(guò)第一時(shí)間段后卡片掉電;
s101:卡片再次上電,讀取到所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值。
進(jìn)一步還包括步驟s102:判斷所讀取出的值是否為未修改值、被修改值或者其它值,其它值指區(qū)別于未修改值和被修改值的值。
通過(guò)以上逐步掉電測(cè)試過(guò)程,將所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值為被修改值的時(shí)間段以及為其它值的時(shí)間段,確定為所述編程時(shí)間段。
比如,以第一時(shí)間段為20ms進(jìn)行掉電測(cè)試,則依次進(jìn)行以下過(guò)程:
卡片上電,接收讀取指令,20ms后卡片掉電。
卡片上電,讀取到存儲(chǔ)區(qū)域內(nèi)的值,得到結(jié)果為未修改值。
卡片上電,接收讀取指令,40ms后卡片掉電。
卡片上電,讀取到存儲(chǔ)區(qū)域內(nèi)的值,得到結(jié)果為未修改值。
......
卡片上電,接收讀取指令,140ms后卡片掉電。
卡片上電,讀取到存儲(chǔ)區(qū)域內(nèi)的值,得到結(jié)果為其它值。
卡片上電,接收讀取指令,160ms后卡片掉電。
卡片上電,讀取到存儲(chǔ)區(qū)域內(nèi)的值,得到結(jié)果為被修改值。
得到卡片的編程時(shí)間段在120ms-160ms之間。
s11:逐次在所述編程時(shí)間段中進(jìn)行逐步掉電測(cè)試,定位出所述存儲(chǔ)器的掉電時(shí)間段,在各次定位中,下一次逐步掉電測(cè)試采用的掉電測(cè)試步長(zhǎng)小于上一次逐步掉電測(cè)試采用的掉電測(cè)試步長(zhǎng),下一次逐步掉電測(cè)試在上一次逐步掉電測(cè)試所定位出的掉電時(shí)間段中進(jìn)行。
其中,每次在定位出的時(shí)間段中進(jìn)行逐步掉電測(cè)試的過(guò)程包括:以預(yù)設(shè)時(shí)間段為步長(zhǎng)重復(fù)進(jìn)行以下過(guò)程:
s110:卡片上電,并接收所述存儲(chǔ)器發(fā)送的、用于讀取存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值的讀取指令,在經(jīng)過(guò)預(yù)設(shè)時(shí)間段后卡片掉電。
其中,每次在定位出的時(shí)間段中進(jìn)行逐步掉電測(cè)試時(shí),采用相應(yīng)的預(yù)設(shè)時(shí)間段為步長(zhǎng)。
s111:卡片再次上電,讀取到所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值。
s112:判斷所讀取出的值是否為未修改值、被修改值或者其它值,其它值指區(qū)別于未修改值和被修改值的值。
若所讀取出的值為未修改值,表明掉電時(shí)間點(diǎn)未到達(dá)所述存儲(chǔ)器的編程過(guò)程;若所讀取出的值為被修改值,表明掉電時(shí)間點(diǎn)在所述存儲(chǔ)器的編程過(guò)程之后;若所讀取出的值為其它值,表明掉電時(shí)間點(diǎn)處于所述存儲(chǔ)器的編程過(guò)程中。
通過(guò)本方法在每次定位出的時(shí)間段中進(jìn)行逐步掉電測(cè)試。
在一種具體實(shí)施方式中,本步驟中包括:
s110:以第二時(shí)間段為步長(zhǎng),在所述編程時(shí)間段中進(jìn)行逐步掉電測(cè)試,定位出所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值為其它值的時(shí)間段,其它值指區(qū)別于未修改值和被修改值的值,所述第二時(shí)間段小于所述第一時(shí)間段。
比如,降低時(shí)間精度,以第二時(shí)間段為2ms為步長(zhǎng),對(duì)定位出的120ms-160ms時(shí)間段范圍進(jìn)行逐步掉電測(cè)試。具體測(cè)試過(guò)程可參考上述方法描述過(guò)程,定位出編程時(shí)間段在138ms-142ms之間。
s111:以第三時(shí)間段為步長(zhǎng),在所定位出的所述存儲(chǔ)器存儲(chǔ)區(qū)域內(nèi)的值為其它值的時(shí)間段中進(jìn)行逐步掉電測(cè)試,定位出掉電時(shí)間段,所述第三時(shí)間段小于所述第二時(shí)間段。
比如,再降低時(shí)間精度,以第三時(shí)間段為500us為步長(zhǎng),對(duì)定位出的138ms-142ms時(shí)間段范圍進(jìn)行逐步掉電測(cè)試,同樣方法得到編程時(shí)間段在139ms-141ms之間。
進(jìn)一步的,使用最低級(jí)別的時(shí)間精度,比如以10us為步長(zhǎng),在139ms-141ms時(shí)間段范圍內(nèi)進(jìn)行逐步掉電測(cè)試,定位出掉電時(shí)間點(diǎn)。
可以看出,本實(shí)施例存儲(chǔ)器掉電時(shí)間段定位方法,對(duì)指令過(guò)程進(jìn)行逐次定位,在各次定位中依次減小掉電測(cè)試的測(cè)試步長(zhǎng)時(shí)間段,來(lái)逐次定位出存儲(chǔ)器編程過(guò)程中掉電時(shí)間段,能夠?qū)崿F(xiàn)對(duì)存儲(chǔ)器掉電時(shí)間段的準(zhǔn)確定位。
請(qǐng)參考圖2,本發(fā)明實(shí)施例還提供一種系統(tǒng)掉電保護(hù)方法,包括步驟:
s20:在識(shí)別到所述系統(tǒng)平臺(tái)出現(xiàn)掉電時(shí),觸發(fā)掉電保護(hù)開(kāi)始并進(jìn)行記錄;
s21:將舊數(shù)據(jù)寫(xiě)入備份區(qū);
s22:將新數(shù)據(jù)寫(xiě)入目標(biāo)區(qū);
s23:在掉電保護(hù)完成后標(biāo)記掉電保護(hù)完成;
s24:采用如上所述的存儲(chǔ)器掉電時(shí)間段定位方法,依次對(duì)掉電保護(hù)開(kāi)始標(biāo)記過(guò)程、備份舊數(shù)據(jù)過(guò)程、寫(xiě)入新數(shù)據(jù)過(guò)程、掉電保護(hù)完成標(biāo)記過(guò)程進(jìn)行掉電時(shí)間段定位。
可以看出,本實(shí)施例系統(tǒng)掉電保護(hù)方法,在識(shí)別到系統(tǒng)平臺(tái)出現(xiàn)掉電時(shí),觸發(fā)掉電保護(hù)開(kāi)始并進(jìn)行記錄,將舊數(shù)據(jù)寫(xiě)入備份區(qū);然后將新數(shù)據(jù)寫(xiě)入目標(biāo)區(qū),在掉電保護(hù)完成后標(biāo)記掉電保護(hù)完成。通過(guò)采用存儲(chǔ)器掉電時(shí)間段定位方法對(duì)各個(gè)過(guò)程依次進(jìn)行掉電時(shí)間段的定位測(cè)試,能夠?qū)崿F(xiàn)對(duì)系統(tǒng)各個(gè)過(guò)程中掉電時(shí)間段的準(zhǔn)確定位。
進(jìn)一步的,本實(shí)施例方法中,對(duì)掉電保護(hù)開(kāi)始標(biāo)記過(guò)程、備份舊數(shù)據(jù)過(guò)程、寫(xiě)入新數(shù)據(jù)過(guò)程、掉電保護(hù)完成標(biāo)記過(guò)程進(jìn)行掉電時(shí)間段定位,在數(shù)據(jù)回滾機(jī)制啟用之前進(jìn)行。
系統(tǒng)進(jìn)行掉電保護(hù)過(guò)程中對(duì)應(yīng)的會(huì)存在數(shù)據(jù)回滾過(guò)程。會(huì)使存儲(chǔ)區(qū)域內(nèi)數(shù)據(jù)恢復(fù)到初始值或者編程值,本方法中對(duì)各過(guò)程的掉電時(shí)間段的定位在數(shù)據(jù)回滾機(jī)制啟用之前進(jìn)行,這樣避免在進(jìn)行掉電時(shí)間段定位時(shí)讀取存儲(chǔ)區(qū)域內(nèi)的數(shù)據(jù),數(shù)據(jù)已被恢復(fù),而導(dǎo)致不能準(zhǔn)確定位。
以上對(duì)本發(fā)明所提供的一種存儲(chǔ)器掉電時(shí)間段定位方法及系統(tǒng)掉電保護(hù)方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。