欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)備份和獲取的方法和裝置的制作方法

文檔序號:6464806閱讀:240來源:國知局
專利名稱:數(shù)據(jù)備份和獲取的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)備份和獲取的方法和裝置。
背景技術(shù)
隨著數(shù)據(jù)存儲技術(shù)的發(fā)展,數(shù)據(jù)存儲安全的重要性也越來越得到重視,對 IP網(wǎng)絡(luò)中的關(guān)鍵數(shù)據(jù),通常需要在非易失存儲介質(zhì)上進(jìn)行保存。下面對非易失 存儲介質(zhì)采用數(shù)據(jù)備份的方法存儲關(guān)鍵數(shù)據(jù)進(jìn)行介紹。
在非易失存儲介質(zhì)中,塊是最小可擦除單元;在每一個塊中,還包含有頁, 頁是塊中最小可寫單元, 一頁一般有幾十或幾百字節(jié)。如圖1所示,通常將關(guān) 鍵數(shù)據(jù)分別存儲在非易失存儲介質(zhì)中不同的兩個塊,例如,原始塊和備份塊中。
在原始塊和備份塊中,都是從第0頁開始依次順序存儲數(shù)據(jù),由于關(guān)鍵數(shù) 據(jù)的數(shù)據(jù)量一般較小,1頁對應(yīng)的存儲空間就可以保存所有關(guān)鍵數(shù)據(jù)。
現(xiàn)有技術(shù)中提供的數(shù)據(jù)備份方法,具體包括如下步驟
步驟S1、首先將關(guān)鍵數(shù)據(jù)在原始塊中進(jìn)行存儲。以當(dāng)前待存儲的頁為第O 頁為例進(jìn)行說明,將數(shù)據(jù)存儲在原始塊中的第0頁中。
步驟S2、隨后將相同的數(shù)據(jù)在備份塊中進(jìn)行存儲。在備份塊中,存儲和原
始塊中相同內(nèi)容數(shù)據(jù)的頁的序號,與原始塊中存儲該數(shù)據(jù)的頁的序號也相同, 即將數(shù)據(jù)存儲在備份塊中的第o頁中。
當(dāng)對關(guān)鍵數(shù)據(jù)進(jìn)行了更新后,對該更新后的數(shù)據(jù)進(jìn)行備^f分的方法與上述方 法相似,包括
步驟S3、首先將更新后的關(guān)鍵數(shù)據(jù)在原始塊中進(jìn)行存儲。
將更新后的關(guān)鍵數(shù)據(jù)存儲在當(dāng)前頁的下一頁中,即將更新后的數(shù)據(jù)存儲在 原始塊的第1頁中。
步驟S4、將更新后的關(guān)鍵數(shù)據(jù)在備份塊中進(jìn)行存儲,將更新后的數(shù)據(jù)存儲 在備份塊的第1頁中。
對原始塊和備份塊中的所有頁都設(shè)置有存儲狀態(tài)標(biāo)識,如圖1所示,該存 儲狀態(tài)標(biāo)識有兩種不同的狀態(tài),以指示該頁是否保存了數(shù)據(jù)。例如,在一頁中 選取l個字節(jié)作為該頁的存儲狀態(tài)標(biāo)識,當(dāng)該頁保存了數(shù)據(jù)時,將該存儲狀態(tài) 標(biāo)識設(shè)置為0x00;當(dāng)該頁未保存數(shù)據(jù)時,保持該存儲狀態(tài)標(biāo)識為塊^"除后的狀 態(tài)為OxFF。
重復(fù)上述步驟,直至上述原始塊和備份塊中的所有頁都保存有數(shù)據(jù),若需 要該原始塊和備份塊保存新的數(shù)據(jù),則將該原始塊和備份塊擦除后,再重復(fù)上 述步驟。
現(xiàn)有技術(shù)在讀取非易失存儲介質(zhì)中關(guān)鍵數(shù)據(jù)時,考慮原始塊和備份塊中不 會同時出現(xiàn)數(shù)據(jù)損壞,當(dāng)原始塊出現(xiàn)數(shù)據(jù)損壞時,從備份塊獲取數(shù)據(jù),備份塊 作為原始塊的輔助。從原始塊或備份塊中讀取數(shù)據(jù)時,都是從原始塊或備份塊 的第n頁(n表示一塊中頁的最大序號)開始依次順序讀取,具體包括如下步驟
步驟T1、讀取原始塊中的數(shù)據(jù)。
首先從原始塊的第n頁開始往下依次查找每頁的存儲狀態(tài)標(biāo)識,當(dāng)存儲狀 態(tài)標(biāo)識表明該頁存儲有數(shù)據(jù)時,例如,存儲狀態(tài)標(biāo)識等于0x00的頁,對該頁數(shù) 據(jù)進(jìn)行校驗。校驗通過,則說明該頁保存了最新的有效數(shù)據(jù),讀取該頁的數(shù)據(jù); 若對該頁的校驗未通過,這時,還包括
步驟T2、讀取備份塊中的數(shù)據(jù)。
從備份塊的第n頁開始往下依次查找每頁的存儲狀態(tài)標(biāo)識,當(dāng)頁中的存儲 狀態(tài)標(biāo)識表明備份塊中該頁存儲有數(shù)據(jù)時,例如,存儲狀態(tài)標(biāo)識等于0x00的頁,
對該頁的數(shù)據(jù)進(jìn)行校驗,若校驗通過,讀取該頁的數(shù)據(jù);若校驗失敗,依次向 下繼續(xù)查找,直到獲得存儲狀態(tài)標(biāo)識等于OxOO并且4交-瞼通過的頁,讀取該頁的 數(shù)據(jù)。
由于在進(jìn)行數(shù)據(jù)備份時可能會出現(xiàn)掉電,而且某些非數(shù)據(jù)損壞的情況會頻 繁出現(xiàn),導(dǎo)致數(shù)據(jù)校驗失敗的情況較多?,F(xiàn)有技術(shù)中提供的數(shù)據(jù)備份和讀取方 法,至少存在如下不足
1、 由于數(shù)據(jù)校驗失敗,造成所讀取的數(shù)據(jù)不是最新數(shù)據(jù)。 如圖1所示,當(dāng)原始塊中從第n頁開始依次查找,存儲狀態(tài)標(biāo)識為OxOO的
頁為第2頁,而該頁未通過數(shù)據(jù)校驗時,則將采用備份塊中的數(shù)據(jù)。備份塊中 存儲狀態(tài)標(biāo)識為0x00的第2頁、第1頁未通過數(shù)據(jù)校驗或者由于掉電,備份塊 中的第2頁、第1頁未寫入數(shù)據(jù),存儲狀態(tài)標(biāo)識為OxFF,而存儲狀態(tài)標(biāo)識為0x00 第0頁通過了數(shù)據(jù)校驗,讀取備份塊中第0頁的數(shù)據(jù)作為最新的數(shù)據(jù)。然而, 若原始塊中第 一頁的數(shù)據(jù)是可以通過數(shù)據(jù)校驗,則最新的數(shù)據(jù)應(yīng)該是原始塊中 第一頁的數(shù)據(jù),而不是讀取的備份塊中第0頁的數(shù)據(jù)。
2、 由于掉電造成無法讀取保存的數(shù)據(jù)。
當(dāng)原始塊和備份塊寫滿后,在擦除原始塊后,還未寫入數(shù)據(jù)時,出現(xiàn)掉電, 則原始塊中沒有數(shù)據(jù),但備份塊中是有數(shù)據(jù)的,而且備份塊中的第n頁保存了 最新的數(shù)據(jù)。但按照現(xiàn)有技術(shù)提供的數(shù)據(jù)讀取方法,由于原始塊中的存儲狀態(tài) 標(biāo)識顯示出原始塊中未存入數(shù)據(jù),則不再考慮備份塊,無法獲取備份塊中保存 的數(shù)據(jù)。

發(fā)明內(nèi)容
本發(fā)明提供的數(shù)據(jù)備份和獲取的方法和裝置,解決了現(xiàn)有技術(shù)中因數(shù)據(jù)損 壞帶來的問題,能夠獲取到保存的最新數(shù)據(jù),同時在掉電時對數(shù)據(jù)進(jìn)行保護(hù)。
為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案 一種數(shù)據(jù)備份的方法,包括 將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中; 為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識; 將所述數(shù)據(jù)存儲在備份塊中與所述原始塊的當(dāng)前頁對應(yīng)的頁中; 為所述備份塊的頁設(shè)置相同的更新順序標(biāo)識。 一種數(shù)據(jù)獲取的方法,包括
獲取原始塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的更新順序標(biāo)識; 獲取備份塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的更新順序標(biāo)識; 根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,獲取存儲最新數(shù)據(jù)的
頁;
讀取所述存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)。 一種數(shù)據(jù)備份的裝置,包括
原始塊存儲單元,用于將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中; 原始塊設(shè)置單元,用于為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識; 備份塊存儲單元,用于將所迷數(shù)據(jù)存儲在備^f分塊中與所述原始塊的當(dāng)前頁 對應(yīng)的頁中;
備份塊設(shè)置單元,用于為所述備份塊的頁設(shè)置相同的更新順序標(biāo)識。 一種數(shù)據(jù)獲取的裝置,包括
第一獲取單元,用于獲取原始塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的 更新順序標(biāo)識;
第二獲取單元,用于獲取備份塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的 更新順序標(biāo)識;
頁獲取單元,用于根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,獲
取存儲最新數(shù)據(jù)的頁;
讀取單元,用于讀取所述存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)。
本發(fā)明提供的技術(shù)方案,在原始塊和備份塊的頁中進(jìn)行數(shù)據(jù)存儲時,為每 頁"^殳置更新順序標(biāo)識,原始塊和備4分塊中位置對應(yīng)的頁具有相同的更新順序標(biāo) 識;在數(shù)據(jù)獲取時,首先獲取到存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的原始塊和備份塊 中的最新頁,根據(jù)該更新順序標(biāo)識可獲知該兩種頁中存儲有最新數(shù)據(jù)的頁,并 讀取該頁的數(shù)據(jù),解決了現(xiàn)有技術(shù)中因數(shù)據(jù)損壞、掉電等造成的問題,從而能 夠獲取到保存的最新數(shù)據(jù),同時在掉電時對數(shù)據(jù)進(jìn)行保護(hù)。


圖1為現(xiàn)有技術(shù)提供的非易失存儲介質(zhì)中數(shù)據(jù)備份方法示意圖2為本發(fā)明實施例提供的數(shù)據(jù)備份的方法流程圖3為本發(fā)明實施例提供的數(shù)據(jù)備份的方法示意圖4為本發(fā)明實施例提供的數(shù)據(jù)獲取的方法流程圖5為本發(fā)明實施例提供的數(shù)據(jù)備份的裝置示意圖6為本發(fā)明實施例提供的數(shù)據(jù)獲取的裝置示意圖7為本發(fā)明實施例提供的另一種數(shù)據(jù)獲取的裝置示意圖。
具體實施例方式
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將結(jié)合附圖對本發(fā)明的 實施例進(jìn)行詳細(xì)的介紹,下面的描述僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域 普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些實施例獲 得本發(fā)明的其他的實施方式。
本發(fā)明提供的一種數(shù)據(jù)備份的方法,如圖2所示,包括如下步驟
步驟21 、將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中;
步驟22、為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識;
步驟23、將所述數(shù)據(jù)存儲在備份塊中與所述原始塊的當(dāng)前頁對應(yīng)的頁中;
步驟24、為所述備份塊的頁設(shè)置相同的更新順序標(biāo)識。
本發(fā)明提供的技術(shù)方案,在原始塊和備份塊的頁中進(jìn)行數(shù)據(jù)存儲時,為每 頁設(shè)置更新順序標(biāo)識,原始塊和備份塊中位置對應(yīng)的頁具有相同的更新順序標(biāo) 識,保證了在數(shù)據(jù)獲取時,根據(jù)該更新順序標(biāo)識獲取到存儲的最新數(shù)據(jù),同時 在掉電時對數(shù)據(jù)進(jìn)行保護(hù)。
下面對本發(fā)明實施例進(jìn)行詳細(xì)介紹。
步驟21 、將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中。
上述當(dāng)前頁指當(dāng)前正在處理的頁,即該頁的上一頁已進(jìn)行過數(shù)據(jù)的存儲或 該頁為起始頁,按照數(shù)據(jù)在原始塊中的存儲順序,新存儲的數(shù)據(jù)應(yīng)當(dāng)存儲在該 頁中。
優(yōu)選的,本發(fā)明在原始塊和備份塊中采用的數(shù)據(jù)存儲順序為從起始頁第0 頁開始依次順序存儲數(shù)據(jù)至最后一頁第n頁,n為頁的序號。NAND Flash由于 編程速度快、擦除時間短得到的廣泛的應(yīng)用,以NAND Flash作為非易失存儲介 質(zhì)為例i兌明本發(fā)明實施例。
NAND Flash中的塊一般有256頁,即n為255,每頁528字節(jié),進(jìn)行數(shù)據(jù) 存儲時從第0頁依次順序存儲至第255頁。
步驟22、為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識。
設(shè)置的更新順序標(biāo)識是為了指示進(jìn)行數(shù)據(jù)更新時,存儲數(shù)據(jù)的先后順序, 即更新順序的先后。
設(shè)置更新順序標(biāo)識時,還可為存儲了數(shù)據(jù)的頁設(shè)置存儲狀態(tài)標(biāo)識、校驗碼等??稍谝豁撝羞x取一定的存儲空間,例如,16個字節(jié),保存該頁的存儲狀態(tài) 標(biāo)識、更新順序標(biāo)識和校驗碼等。
上述存儲狀態(tài)標(biāo)識指示該頁是否保存了數(shù)據(jù),可選取l字節(jié)作為該存儲狀 態(tài)標(biāo)識,優(yōu)選的,當(dāng)一頁存儲有數(shù)據(jù)后,將該存儲狀態(tài)標(biāo)識設(shè)置為0x00;當(dāng)該 頁未保存數(shù)據(jù)時,保持該標(biāo)識為塊擦除后的狀態(tài)為OxFF。
上述更新順序標(biāo)識指示了頁中存儲數(shù)據(jù)的更新狀態(tài),該更新順序標(biāo)識可以 為對所述頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次序編號,但不限于此,包括任何相 似或相關(guān)的指示數(shù)據(jù)更新順序的標(biāo)識。
當(dāng)更新順序標(biāo)識為時間標(biāo)記時,為先存儲的數(shù)據(jù)設(shè)置的時間標(biāo)記早于為后 存儲的數(shù)據(jù)設(shè)置的時間標(biāo)記,優(yōu)選的,可直接將存儲該頁的時間信息,例如, 月、日、時、分、秒等作為該時間標(biāo)記,該時間標(biāo)記所承載的時間信息不但可 清楚說明了頁與頁之間數(shù)據(jù)更新的先后順序,還可表明了進(jìn)行該存儲操作時的 時間細(xì)節(jié)信息。
當(dāng)更新順序標(biāo)識為次序編號時,為先存儲的數(shù)據(jù)設(shè)置的次序編號小于為后 存儲的數(shù)據(jù)設(shè)置的次序編號,優(yōu)選的,可采用該頁在所處塊中存儲的次序數(shù)作 為該次序編號,例如,對第一個進(jìn)行數(shù)據(jù)存儲的頁,次序編號為0x00,對第二 個進(jìn)行數(shù)據(jù)存儲的頁,次序編號為第0x01頁,依次類推,直至該塊中的最后一 頁,根據(jù)該次序編號也能獲知頁與頁之間數(shù)據(jù)更新的先后順序。對上述NAND Flash —塊中頁的次序編號從0x00到0xFF。
上述提供了 一種利用時間標(biāo)記或次序編號作為更新順序標(biāo)識的方法,但不 限于此,包括任何相似或相關(guān)的利用時間標(biāo)記或次序編號指示數(shù)據(jù)存儲先后順 序的方法。
上述校驗碼用于數(shù)據(jù)校驗,根據(jù)采用的數(shù)據(jù)校驗方法的類型,該校驗碼可
以為糾錯碼(Error Correction Code, ECC)或循環(huán)冗余校驗碼(Cycle Redundancy Check, CRC)等。
步驟23、將所述數(shù)據(jù)存儲在備份塊中與所述原始塊的當(dāng)前頁對應(yīng)的頁中。
可在備份塊和原始塊中存儲相同內(nèi)容數(shù)據(jù)的頁之間建立對應(yīng)關(guān)系,并在備 份塊和原始塊中保留預(yù)定的存儲空間保存該對應(yīng)關(guān)系,當(dāng)完成原始塊中當(dāng)前頁 的數(shù)據(jù)存儲后,查找該對應(yīng)關(guān)系,獲知備份塊中相對應(yīng)的頁,再將該數(shù)據(jù)存儲 至備份塊的該頁中。
為了提高數(shù)據(jù)處理速度,節(jié)省存儲資源,優(yōu)選的,在本發(fā)明中備份塊和原 始塊中存儲相同內(nèi)容數(shù)據(jù)的頁在所處塊中的位置也相同。
本發(fā)明在進(jìn)行了原始塊中當(dāng)前頁的數(shù)據(jù)存儲后,將所述數(shù)據(jù)存儲在備4分塊 中與所述原始塊的當(dāng)前頁位置相同的頁中,并且按照上述原始塊和備份塊中的 數(shù)據(jù)存儲順序,交替進(jìn)行原始塊和備份塊中頁與頁之間的數(shù)據(jù)存儲時,這種位 置相同的對應(yīng)關(guān)系顯而易見是成立的。
步驟24、為所述備份塊的頁設(shè)置相同更新順序標(biāo)識。
如圖3所示,在本發(fā)明中除了存儲狀態(tài)標(biāo)識之外,為每頁還設(shè)置了更新順 序標(biāo)識n, n為序號,原始塊和備份塊中相同位置的頁存儲相同內(nèi)容的數(shù)據(jù),并 且為該兩個頁設(shè)置的更新順序號也相同。
本發(fā)明還提供了一種數(shù)據(jù)獲取的方法,如圖4所示,包括
步驟41、獲取原始塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的更新順序標(biāo)
識;
步驟42、獲取備份塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的更新順序標(biāo)
識;
步驟43、根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,獲取存儲最新數(shù)據(jù)的頁;
步驟44、讀取所述存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)。
由于本發(fā)明在數(shù)據(jù)備份時,為每頁設(shè)置了更新順序標(biāo)識,在數(shù)據(jù)獲取時, 首先獲取到原始塊和備份塊中各自存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁,根據(jù) 原始塊和備份塊中各自最新頁的更新順序標(biāo)識可獲知該兩種頁中存儲有最新數(shù) 據(jù)的頁,并讀取該頁的數(shù)據(jù),解決了現(xiàn)有技術(shù)中因數(shù)據(jù)損壞、掉電等造成的問 題,從而能夠獲取到保存的最新數(shù)據(jù)。
本發(fā)明在讀取原始塊和備份塊中的數(shù)據(jù)時,采用了和數(shù)據(jù)備份時相反的順 序,即從數(shù)據(jù)備份時處理的最后一頁第n頁開始依次向下讀取直至第0頁。
上述原始塊或備份塊中的最新頁,指按照讀取順序,原始塊或備份塊中存 儲有數(shù)據(jù)的頁中,最先通過數(shù)據(jù)校驗的頁。
對上述的步驟41和步驟42,處理的方法都是從該塊的第n頁開始向下依次 對每一頁,首先判斷出該頁存儲有數(shù)據(jù),本發(fā)明通過查找為該頁設(shè)置的存儲狀 態(tài)標(biāo)識來獲知該頁是否存儲有l(wèi)t據(jù),例如,當(dāng)頁的存儲狀態(tài)標(biāo)識為0x00時i兌明 該頁存儲有數(shù)據(jù);當(dāng)頁的存儲狀態(tài)標(biāo)識為OxFF時說明該頁沒有存儲數(shù)據(jù)。
在本發(fā)明中,可參照圖3,按照讀取的順序,若首先查找出原始塊中第2頁 存儲有數(shù)據(jù),但是該頁未通過數(shù)據(jù)校驗,會繼續(xù)向下查找直至找到存儲有數(shù)據(jù) 又通過數(shù)據(jù)校驗的頁,若原始塊中的第1頁即為滿足此條件的最新頁,獲取該 頁對應(yīng)的更新順序標(biāo)識1。
對備份塊采用相同的處理方法,若第0頁為即存儲有數(shù)據(jù)又通過數(shù)據(jù)校驗 的最新頁,獲取該頁對應(yīng)的更新順序標(biāo)識0。
步驟43、根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,獲取存儲最 新數(shù)據(jù)的頁。
上述更新順序標(biāo)識可以為對頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次序編號。
當(dāng)更新順序標(biāo)識為時間標(biāo)記時,由該時間標(biāo)記指示的時間信息,可獲知步
驟41和步驟42中相應(yīng)頁存儲數(shù)據(jù)的時間,最新的數(shù)據(jù)應(yīng)該是最遲寫入的數(shù)據(jù), 將時間標(biāo)記最晚的原始塊或備份塊中的頁作為存儲最新數(shù)據(jù)的頁
原始塊中第1頁的時間標(biāo)記(更新順序標(biāo)識1)所指示的時間要晚于備份塊 中第0頁的時間標(biāo)記(更新順序標(biāo)識0),將原始塊中第1頁作為存儲最新數(shù)據(jù) 的頁;
當(dāng)更新順序標(biāo)識為次序編號時,由該次序編號可獲知步驟41和步驟42中 相應(yīng)頁存儲數(shù)據(jù)的次序,最新的數(shù)據(jù)應(yīng)該是最后寫入的數(shù)據(jù),將次序編號最大 的原始塊或備份塊中的頁作為存儲最新數(shù)據(jù)的頁
原始塊中第1頁的次序編號(更新順序標(biāo)識1 )大于備份塊中第0頁的次序 編號(更新順序標(biāo)識O),將原始塊中第1頁作為存儲最新數(shù)據(jù)的頁。
進(jìn)一步的,當(dāng)更新順序標(biāo)識為次序編號時,本發(fā)明還包括
步驟431、當(dāng)所述備^f分塊中最新頁的次序編號減去所述原始塊中最新頁的次 序編號的值大于預(yù)定門限值時,將所述原始塊中的最新頁作為存儲最新數(shù)據(jù)的 頁。
對于已經(jīng)存儲了數(shù)據(jù)的頁,若還需要在該頁中添加或更新數(shù)據(jù)等,需要擦 除該頁所在的塊;或當(dāng)一塊寫滿了之后,需要在該頁中寫新的數(shù)據(jù)時,也要先 對該頁進(jìn)行擦除。當(dāng)擦除了原始塊中數(shù)據(jù),寫了一頁,出現(xiàn)了掉電的情況,這 時可采用上述的方法。
這時,備份塊還存儲有多頁舊的數(shù)據(jù),獲取到的次序編號會較大,但對應(yīng) 的數(shù)據(jù)卻并不是最新的數(shù)據(jù);而原始塊中只存儲有若干頁的數(shù)據(jù),通常考慮這種 連續(xù)掉電的情況最多為16次,即將原始塊擦除后,寫了一頁,還未對備份塊進(jìn)
行擦除和寫數(shù)據(jù),出現(xiàn)了掉電;上電后,對原始塊又寫了一頁,又還未對備份 塊進(jìn)行擦除和寫數(shù)據(jù)時,再次出現(xiàn)了掉電,這樣連續(xù)掉電的較極端的現(xiàn)象通常 最多為16次,在這種情況下,原始塊中最新頁的次序編號最大為16,與備^f分塊 中最新頁的次序編號相比較小,但對應(yīng)的數(shù)據(jù)卻是最新的數(shù)據(jù)。采用次序編號 作為更新順序標(biāo)識時,為了處理這種情況,設(shè)置一個門限值,當(dāng)所述備份塊中 最新頁的次序編號減去所述原始塊中最新頁的次序編號的值大于該門限值時, 將所述原始塊中的最新頁作為存儲最新數(shù)據(jù)的頁。
以NAND Flash為例,其一塊中有256頁,則該門限值的取值范圍為[240,255〗。
本發(fā)明全面考慮數(shù)據(jù)備份與讀取時的各種因素,通過步驟431提供的方法, 進(jìn)一步完善了采用次序編號作為更新順序標(biāo)識時數(shù)據(jù)讀取方法,乂人而確〗呆了能 夠獲取到存儲的最新數(shù)據(jù)。
在出現(xiàn)上述連續(xù)掉電的情況下,若采用時間標(biāo)記作為更新順序標(biāo)識,在讀 取數(shù)據(jù)時,根據(jù)時間標(biāo)記指示的數(shù)據(jù)更新的時間,可以清楚獲知原始塊最新頁 存儲的數(shù)據(jù)為最新的數(shù)據(jù),從而能夠獲取到存儲的最新數(shù)據(jù)。
進(jìn)一步的,為了解決上述連續(xù)掉電的情況,本發(fā)明還包括
步驟45、當(dāng)所迷原始塊中最新頁為存儲最新數(shù)據(jù)的頁時,用所述原始塊中 最新頁的數(shù)據(jù)替換備份塊中相應(yīng)頁的數(shù)據(jù),進(jìn)行數(shù)據(jù)恢復(fù)。
可以在出現(xiàn)掉電時,上電后自動進(jìn)行上述步驟45的數(shù)據(jù)恢復(fù),也可在出現(xiàn) 掉電時,上電后將進(jìn)行數(shù)據(jù)讀取時,先通過步驟45,用原始塊中更新后的數(shù)據(jù) 代替?zhèn)浞輭K中舊的數(shù)據(jù),使原始塊和備份塊中的數(shù)據(jù)保持同步。通過該數(shù)據(jù)恢 復(fù)的處理,可避免因連續(xù)掉電給數(shù)據(jù)備份和數(shù)據(jù)讀取造成的問題。
進(jìn)一步,當(dāng)原始塊因?qū)憹M要擦除,在擦除完原始塊還未擦除備份塊時出現(xiàn) 了掉電,造成原始塊中未存儲數(shù)據(jù)(即所有頁的存儲狀態(tài)標(biāo)識都為OxFF)而備
份塊中寫滿了數(shù)據(jù)(即所有頁的存儲狀態(tài)標(biāo)識都為0x00),即原始塊中無可獲取 的數(shù)據(jù),按照上述步驟41獲取不到原始塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新 頁,這時本發(fā)明根據(jù)步驟42,采用備份塊中按照讀取順序最先通過數(shù)據(jù)校驗的 頁作為存儲最新數(shù)據(jù)的頁。
步驟44 、讀取所述存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)。
由上所述,本發(fā)明提供的技術(shù)方案當(dāng)出現(xiàn)數(shù)據(jù)校驗失敗的情況時,同時考 慮原始塊和備份塊中存儲有數(shù)據(jù)又通過數(shù)據(jù)校驗的頁,將兩者中存儲最新數(shù)據(jù) 的頁作為讀取的頁,備份塊對原始塊不再僅起一個輔助的作用,兩者互為備份, 共同確保了能夠讀取到保存的最新數(shù)據(jù)。
本發(fā)明還提供了一種數(shù)據(jù)備份的裝置,如圖5所示,包括 原始塊存儲單元51,用于將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中; 原始塊設(shè)置單元52,用于為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識; 備份塊存儲單元53,用于將所述數(shù)據(jù)存儲在備份塊中與所述原始塊的當(dāng)前 頁對應(yīng)的頁中;
備份塊設(shè)置單元54,用于為所述備份塊的頁設(shè)置相同的更新順序標(biāo)識。 優(yōu)選的,當(dāng)所述更新順序標(biāo)識為對所述頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次 序編號,
所述原始塊設(shè)置單元52,還用于為先存儲的數(shù)據(jù)設(shè)置的時間標(biāo)記早于為后 存儲的數(shù)據(jù)設(shè)置的時間標(biāo)記;
或者,
所述原始塊設(shè)置單元52,還用于為先存儲的數(shù)據(jù)設(shè)置的次序編號小于為后 存儲的數(shù)據(jù)設(shè)置的次序編號。
上述提供了 一種原始塊設(shè)置單元52利用時間標(biāo)記或次序編號作為更新順序
標(biāo)識的方法,但不限于此,包括任何相似或相關(guān)的利用時間標(biāo)記或次序編號指 示數(shù)據(jù)存儲先后順序的方法。
進(jìn)一步的,上述數(shù)據(jù)備份的裝置還包括存儲狀態(tài)標(biāo)識設(shè)置單元,用于為
存儲有數(shù)據(jù)的原始塊或備份塊中的頁設(shè)置存儲狀態(tài)標(biāo)識。
本發(fā)明還提供了一種數(shù)據(jù)荻取的裝置,如圖6所示,包括
第一獲取單元61,用于獲取原始塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁
的更新順序標(biāo)識;
第二獲取單元62,用于獲取備份塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁 的更新順序標(biāo)識;
頁獲取單元63,用于根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,
獲取存儲最新數(shù)據(jù)的頁;
讀取單元64,用于讀取所述存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)。
當(dāng)所述更新順序標(biāo)識為對頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次序編號時,
所述頁獲取單元63,還用于將時間標(biāo)記最晚的所述原始塊或備^f分塊中的最
新頁作為存儲最新數(shù)據(jù)的頁;
或者,
所述頁獲取單元63,還用于將次序編號最大的所述原始塊或備份塊中的最 新頁作為存儲最新數(shù)據(jù)的頁,或者,當(dāng)所述備^f分塊中最新頁的次序編號減去所 述原始塊中最新頁的次序編號的值大于預(yù)定門限值時,將所述原始塊中的最新 頁作為存儲最新數(shù)據(jù)的頁。
為了保持原始塊和備份塊中數(shù)據(jù)的同步,本發(fā)明可以對數(shù)據(jù)進(jìn)行恢復(fù),如 圖7所示,上述數(shù)據(jù)獲取的裝置還包括
數(shù)據(jù)恢復(fù)單元65,用于當(dāng)所述原始塊中最新頁為存儲最新數(shù)據(jù)的頁時,用
所述原始塊中最新頁的數(shù)據(jù)替換備份塊中相應(yīng)頁的數(shù)據(jù),進(jìn)行數(shù)據(jù)恢復(fù)。
本發(fā)明裝置實施例中各功能模塊的具體工作方式可參考本發(fā)明的方法實施例。
本發(fā)明提供的技術(shù)方案,在原始塊和備份塊的頁中進(jìn)行數(shù)據(jù)存儲時,為每 頁設(shè)置更新順序標(biāo)識,原始塊和備份塊中位置對應(yīng)的頁具有相同的更新順序標(biāo) 識,保證了在數(shù)據(jù)獲取時,根據(jù)該更新順序標(biāo)識獲取到存儲的最新數(shù)據(jù),同時 在掉電時對數(shù)據(jù)進(jìn)行保護(hù)。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例中的全部或部分步驟,可以 通過程序指令相關(guān)硬件完成。所述實施例對應(yīng)的軟件可以存儲在一個計算機(jī)可
存儲讀if又的介質(zhì)中。
以上所述,僅為本發(fā)明的具體實施方式
,但本發(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ù)備份的方法,其特征在于,包括將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中;為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識;將所述數(shù)據(jù)存儲在備份塊中與所述原始塊的當(dāng)前頁對應(yīng)的頁中;為所述備份塊的頁設(shè)置相同的更新順序標(biāo)識。
2、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)備份的方法,其特征在于,所述更新順序標(biāo)識為對所述頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次序編號。
3、 根據(jù)權(quán)利要求2所述的數(shù)據(jù)備份的方法,其特征在于,為先存儲的數(shù)據(jù)設(shè)置的時間標(biāo)記早于為后存儲的數(shù)據(jù)設(shè)置的時間標(biāo)記;或者,為先存儲的數(shù)據(jù)設(shè)置的次序編號小于為后存儲的數(shù)據(jù)設(shè)置的次序編號。
4、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)備份的方法,其特征在于,所述備份塊中與所述原始塊的當(dāng)前頁對應(yīng)的頁為所述備份塊中與所述原始塊的當(dāng)前頁位置相同的頁。
5、 根據(jù)權(quán)利要求1至4任一所述的數(shù)據(jù)備份的方法,其特征在于,為存儲有數(shù)據(jù)的原始塊或備份塊中的頁設(shè)置存儲狀態(tài)標(biāo)識。
6、 一種數(shù)據(jù)獲取的方法,其特征在于,包括獲取原始塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的更新順序標(biāo)識;獲取備份塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的更新順序標(biāo)識;根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,獲取存儲最新數(shù)據(jù)的頁;讀取所述存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)。
7、 根據(jù)權(quán)利要求6所述的數(shù)據(jù)獲取的方法,其特征在于,所述更新順序標(biāo)識為對所述頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次序編號,所述根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,獲取存儲最新數(shù)據(jù)的頁包括將時間標(biāo)記最晚的所述原始塊或備^f分塊中的最新頁作為存儲最新數(shù)據(jù)的頁;或者,將次序編號最大的所述原始塊或備份塊中的最新頁作為存儲最新數(shù)據(jù)的頁。
8、 根據(jù)權(quán)利要求6所述的數(shù)據(jù)獲取的方法,其特征在于,所述更新順序標(biāo) 識為對頁進(jìn)行數(shù)據(jù)存儲時的次序編號,所述根據(jù)所述原始塊和備4分塊中最新頁 的更新順序標(biāo)識,獲取存儲最新數(shù)據(jù)的頁包括當(dāng)所述備份塊中最新頁的次序編號減去所述原始塊中最新頁的次序編號的 值大于預(yù)定門限值時,將所述原始塊中的最新頁作為存儲最新數(shù)據(jù)的頁。
9、 根據(jù)權(quán)利要求6所述的數(shù)據(jù)獲取的方法,其特征在于,在所述讀取所述 存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)之前還包括當(dāng)所述原始塊中最新頁為存儲最新數(shù)據(jù)的頁時,用所述原始塊中最新頁的 數(shù)據(jù)替換備份塊中相應(yīng)頁的數(shù)據(jù),進(jìn)行數(shù)據(jù)恢復(fù)。
10、 根據(jù)權(quán)利要求6至9任一所述的數(shù)據(jù)獲取的方法,其特征在于,還包括所述原始塊或備份塊只能夠頁的存儲狀態(tài)標(biāo)識判斷該頁是否存儲有數(shù)據(jù).
11、 一種數(shù)據(jù)備份的裝置,其特征在于,包括 原始塊存儲單元,用于將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中; 原始塊設(shè)置單元,用于為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識; 備^f分塊存儲單元,用于將所述數(shù)據(jù)存儲在備^f分塊中與所述原始塊的當(dāng)前頁對應(yīng)的頁中;備份塊設(shè)置單元,用于為所述備份塊的頁設(shè)置相同的更新順序標(biāo)識。
12、 根據(jù)權(quán)利要求11所述的數(shù)據(jù)備份的裝置,其特征在于,所述更新順序標(biāo)識為對所述頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次序編號,所述原始塊設(shè)置單元,還用于為先存儲的數(shù)據(jù)設(shè)置的時間標(biāo)記早于為后存 儲的數(shù)據(jù)設(shè)置的時間標(biāo)記; 或者,所述原始塊設(shè)置單元,還用于為先存儲的數(shù)據(jù)設(shè)置的次序編號小于為后存 儲的數(shù)據(jù)設(shè)置的次序編號。
13、 根據(jù)權(quán)利要求11或12所述的數(shù)據(jù)備份的裝置,其特征在于,還包括 存儲狀態(tài)標(biāo)識設(shè)置單元,用于為存儲有數(shù)據(jù)的原始塊或備份塊中的頁設(shè)置存儲狀態(tài)標(biāo)識。
14、 一種數(shù)據(jù)獲取的裝置,其特征在于,包括第 一獲取單元,用于獲取原始塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的 更新順序標(biāo)識;第二獲取單元,用于獲取備份塊中存儲有數(shù)據(jù)并通過數(shù)據(jù)校驗的最新頁的 更新順序標(biāo)識;頁獲取單元,用于根據(jù)所述原始塊和備份塊中最新頁的更新順序標(biāo)識,獲 取存儲最新數(shù)據(jù)的頁;讀取單元,用于讀取所述存儲最新數(shù)據(jù)的頁中的數(shù)據(jù)。
15、 根據(jù)權(quán)利要求14所述的數(shù)據(jù)獲取的裝置,其特征在于,所迷更新順序 標(biāo)識為對頁進(jìn)行數(shù)據(jù)存儲時的時間標(biāo)記或次序編號,所述頁獲取單元,還用于將時間標(biāo)記最晚的所述原始塊或備份塊中的最新 頁作為存儲最新數(shù)據(jù)的頁; 或者,所述頁獲取單元,還用于將次序編號最大的所述原始塊或備^f分塊中的最新 頁作為存儲最新數(shù)據(jù)的頁,或者,當(dāng)所述備^f分塊中最新頁的次序編號減去所述 原始塊中最新頁的次序編號的值大于預(yù)定門限值時,將所述原始塊中的最新頁 作為存儲最新數(shù)據(jù)的頁。
16、根據(jù)權(quán)利要求14或15所述的數(shù)據(jù)獲取的裝置,其特征在于,還包括: 數(shù)據(jù)恢復(fù)單元,用于當(dāng)所述原始塊中最新頁為存儲最新數(shù)據(jù)的頁時,用所 述原始塊中最新頁的數(shù)據(jù)替換備份塊中相應(yīng)頁的數(shù)據(jù),進(jìn)行數(shù)據(jù)恢復(fù)。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)備份和獲取的方法和裝置,涉及存儲技術(shù)領(lǐng)域,能夠獲取到保存的最新數(shù)據(jù),同時在掉電時對數(shù)據(jù)進(jìn)行保護(hù)。本發(fā)明提供的數(shù)據(jù)備份的方法包括將數(shù)據(jù)存儲在原始塊的當(dāng)前頁中;為所述原始塊的當(dāng)前頁設(shè)置更新順序標(biāo)識;將所述數(shù)據(jù)存儲在備份塊中與所述原始塊的當(dāng)前頁對應(yīng)的頁中;為所述備份塊的頁設(shè)置相同的更新順序標(biāo)識。本發(fā)明適用于對數(shù)據(jù)進(jìn)行備份和讀取的場合。
文檔編號G06F12/16GK101344868SQ20081011908
公開日2009年1月14日 申請日期2008年8月28日 優(yōu)先權(quán)日2008年8月28日
發(fā)明者毅 李, 段起志, 陳益峰 申請人:北京握奇數(shù)據(jù)系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
页游| 岳西县| 荔浦县| 万盛区| 白银市| 离岛区| 内黄县| 唐山市| 信丰县| 枞阳县| 新巴尔虎左旗| 凤冈县| 姜堰市| 措美县| 鸡泽县| 柘城县| 望都县| 凌源市| 清水县| 镇雄县| 芜湖县| 峡江县| 肃宁县| 鲜城| 阆中市| 凌海市| 温泉县| 安丘市| 远安县| 遂川县| 安国市| 安塞县| 田阳县| 延川县| 奈曼旗| 博白县| 乐陵市| 太原市| 商南县| 双柏县| 桓仁|