數(shù)據(jù)備份方法和電子設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子設(shè)備的領(lǐng)域,更具體地,本發(fā)明涉及一種非易失性存儲(chǔ)器的數(shù)據(jù)備份方法和電子設(shè)備。
【背景技術(shù)】
[0002]目前,幾乎所有的電子設(shè)備在出廠之前已經(jīng)預(yù)裝好操作系統(tǒng)。為此,在電子設(shè)備的存儲(chǔ)裝置中提供有預(yù)裝(preload)分區(qū)用于預(yù)裝系統(tǒng)的恢復(fù)。該分區(qū)的目的是備份當(dāng)前的預(yù)裝系統(tǒng),以便出現(xiàn)問題時(shí)用戶可以恢復(fù)到出廠狀態(tài)。雖然該分區(qū)的內(nèi)容與出廠時(shí)用戶系統(tǒng)中正在使用的系統(tǒng)完全相同,但因?yàn)橛脩舻南到y(tǒng)在使用過程中會(huì)發(fā)生變化,雖然這個(gè)變化不大,比如Windows系統(tǒng)在安裝包含重大更新的服務(wù)包(service pack)時(shí),也僅僅變化不超過10%,但為了能夠可靠恢復(fù),這個(gè)分區(qū)是必須的。
[0003]在硬盤容量逐步增大的情況下,這個(gè)分區(qū)只占硬盤總體容量中的一小部分,在權(quán)衡方便性和磁盤占用二者之間,用戶往往會(huì)選擇能夠方便實(shí)現(xiàn)可靠恢復(fù)的功能。另一方面,由于固態(tài)存儲(chǔ)的速度、功耗和性能優(yōu)勢(shì),固態(tài)存儲(chǔ)逐步開始普及。然而,因?yàn)楣虘B(tài)存儲(chǔ)的工作原理決定了其成本難以降低,所以固態(tài)存儲(chǔ)的容量往往只有同等價(jià)格硬盤的1/10。因此,電子設(shè)備中使用的固態(tài)磁盤的容量通常非常有限,此時(shí)preload分區(qū)占的比例非常大。許多用戶不得不在方便性和磁盤容量間做出選擇,要么刪除preload分區(qū),喪失恢復(fù)功能,要么忍受1/10的容量消失。
[0004]為此,期望提供一種數(shù)據(jù)備份方法和電子設(shè)備,其能夠通過少量的存儲(chǔ)空間實(shí)現(xiàn)大容量的數(shù)據(jù)備份。
【發(fā)明內(nèi)容】
[0005]根據(jù)本發(fā)明實(shí)施例,提供了一種數(shù)據(jù)備份方法,應(yīng)用于電子設(shè)備中,該電子設(shè)備包括非易失性存儲(chǔ)器,該方法包括:
[0006]在所述非易失性存儲(chǔ)器中寫入數(shù)據(jù);
[0007]創(chuàng)建所述數(shù)據(jù)的快照,使得所述快照對(duì)應(yīng)的數(shù)據(jù)設(shè)為保護(hù)區(qū)域而不可重寫;
[0008]復(fù)制當(dāng)前映射表,在所述映射表中建立所述快照對(duì)應(yīng)的數(shù)據(jù)在所述非易失性存儲(chǔ)器中的物理地址和存取所述數(shù)據(jù)的邏輯地址之間的對(duì)應(yīng)關(guān)系;以及
[0009]將所述映射表保存到所述非易失性存儲(chǔ)器的特定區(qū)域中作為初始映射表。
[0010]優(yōu)選地,所述數(shù)據(jù)至少包括以下數(shù)據(jù)的一種:操作系統(tǒng)、操作系統(tǒng)和應(yīng)用程序集、應(yīng)用程序、以及應(yīng)用數(shù)據(jù)。
[0011]優(yōu)選地,創(chuàng)建所述數(shù)據(jù)的快照,使得所述快照對(duì)應(yīng)的數(shù)據(jù)設(shè)為保護(hù)區(qū)域而不可重與包括:
[0012]確定所述快照對(duì)應(yīng)的數(shù)據(jù)的各物理存儲(chǔ)塊中是否存在空閑頁,其中所述非易失性存儲(chǔ)器以塊為單位進(jìn)行擦除操作,以頁為單位進(jìn)行讀寫操作;
[0013]當(dāng)確定物理塊中存在空閑頁時(shí),將該物理塊后面的物理塊中的數(shù)據(jù)頁移動(dòng)到該物理塊中,直到該物理塊中沒有空閑頁;
[0014]對(duì)剩余物理塊執(zhí)行相同操作,直到所有物理塊中沒有空閑頁;
[0015]更新移動(dòng)操作后的所述數(shù)據(jù)的快照,使得所述快照對(duì)應(yīng)的數(shù)據(jù)設(shè)為保護(hù)區(qū)域而不可重寫。
[0016]優(yōu)選地,所述數(shù)據(jù)備份方法還包括:
[0017]當(dāng)更新所述快照中的數(shù)據(jù)時(shí),將需要更新的頁的數(shù)據(jù)移動(dòng)到空白頁中,然后對(duì)移動(dòng)到該空白頁的數(shù)據(jù)進(jìn)行更新;
[0018]更新當(dāng)前映射表反映更新操作。
[0019]優(yōu)選地,所述數(shù)據(jù)備份方法還包括:
[0020]當(dāng)刪除所述快照中的數(shù)據(jù)時(shí),保留快照中的數(shù)據(jù);
[0021]更新當(dāng)前映射表反映刪除操作。
[0022]優(yōu)選地,所述數(shù)據(jù)備份方法還包括:
[0023]當(dāng)需要還原寫入數(shù)據(jù)時(shí),從非易失性存儲(chǔ)器的特定區(qū)域讀取保存的初始映射表;
[0024]將讀取的初始映射表設(shè)為當(dāng)前的映射表。
[0025]根據(jù)本發(fā)明另一實(shí)施例,提供了一種電子設(shè)備,包括:
[0026]非易失性存儲(chǔ)器;
[0027]寫入單元,用于在所述非易失性存儲(chǔ)器中寫入數(shù)據(jù);
[0028]快照創(chuàng)建單元,用于創(chuàng)建所述數(shù)據(jù)的快照,使得所述快照對(duì)應(yīng)的數(shù)據(jù)設(shè)為保護(hù)區(qū)域而不可重寫;
[0029]復(fù)制單元,用于復(fù)制當(dāng)前映射表,在所述映射表中建立所述快照對(duì)應(yīng)的數(shù)據(jù)在所述非易失性存儲(chǔ)器中的物理地址和存取所述數(shù)據(jù)的邏輯地址之間的對(duì)應(yīng)關(guān)系;以及
[0030]保存單元,用于將所述映射表保存到所述非易失性存儲(chǔ)器的特定區(qū)域中作為初始映射表。
[0031]優(yōu)選地,所述數(shù)據(jù)至少包括以下數(shù)據(jù)的一種:操作系統(tǒng)、操作系統(tǒng)和應(yīng)用程序集、應(yīng)用程序、以及應(yīng)用數(shù)據(jù)。
[0032]優(yōu)選地,所述創(chuàng)建單元進(jìn)一步配置為:
[0033]確定所述快照對(duì)應(yīng)的數(shù)據(jù)的各物理存儲(chǔ)塊中是否存在空閑頁,其中所述非易失性存儲(chǔ)器以塊為單位進(jìn)行擦除操作,以頁為單位進(jìn)行讀寫操作;
[0034]當(dāng)確定物理塊中存在空閑頁時(shí),將該物理塊后面的物理塊中的數(shù)據(jù)頁移動(dòng)到該物理塊中,直到該物理塊中沒有空閑頁;
[0035]對(duì)剩余物理塊執(zhí)行相同操作,直到所有物理塊中沒有空閑頁;
[0036]更新移動(dòng)操作后的所述數(shù)據(jù)的快照,使得所述快照對(duì)應(yīng)的數(shù)據(jù)設(shè)為保護(hù)區(qū)域而不可重寫。
[0037]優(yōu)選地,所述電子設(shè)備還包括:
[0038]更新單元,用于當(dāng)更新所述快照中的數(shù)據(jù)時(shí),將需要更新的頁的數(shù)據(jù)移動(dòng)到空白頁中,然后對(duì)移動(dòng)到該空白頁的數(shù)據(jù)進(jìn)行更新,以及更新當(dāng)前映射表反映更新操作。
[0039]優(yōu)選地,所述電子設(shè)備還包括:
[0040]刪除單元,用于當(dāng)刪除所述快照中的數(shù)據(jù)時(shí),保留快照中的數(shù)據(jù),以及更新當(dāng)前映射表反映刪除操作。
[0041]優(yōu)選地,所述電子設(shè)備還包括:
[0042]還原單元,用于當(dāng)需要還原寫入數(shù)據(jù)時(shí),從非易失性存儲(chǔ)器的特定區(qū)域讀取保存的初始映射表,以及將讀取的初始映射表設(shè)為當(dāng)前的映射表。
[0043]因此,根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)備份方法和電子設(shè)備,能夠通過少量的存儲(chǔ)空間實(shí)現(xiàn)大容量的數(shù)據(jù)備份。
【附圖說明】
[0044]圖1A和IB是說明本發(fā)明實(shí)施例的數(shù)據(jù)備份方法的原理的圖;
[0045]圖2是圖示根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)備份方法的流程圖;
[0046]圖3是圖示根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)備份方法的創(chuàng)建、更新和新數(shù)據(jù)寫入的過程的圖;
[0047]圖4是圖示根據(jù)本發(fā)明實(shí)施例的電子設(shè)備的功能配置框圖。
【具體實(shí)施方式】
[0048]下面,將參考附圖詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)備份方法。
[0049]在描述根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)備份方法之前,首先說明本發(fā)明實(shí)施例的數(shù)據(jù)備份方法的原理。在本實(shí)施例中以操作系統(tǒng)的備份為例進(jìn)行說明,但是需要注意的是,根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)備份方法不僅可應(yīng)用于備份操作系統(tǒng),而且可以應(yīng)用于備份各種類型的數(shù)據(jù)。
[0050]另外,在本申請(qǐng)中涉及的一些名詞的含義如下:
[0051]Preload:預(yù)裝,指預(yù)制在電子設(shè)備中的軟件系統(tǒng)
[0052]SSD:固態(tài)硬盤,采用flash等電子存儲(chǔ)機(jī)制的固態(tài)存儲(chǔ)系統(tǒng)
[0053]Flash:半導(dǎo)體結(jié)構(gòu),可以在其浮柵中捕獲電子?;敬鎯?chǔ)單位為一個(gè)單元(cell),多個(gè)cell組成一個(gè)頁,多個(gè)頁組成塊。
[0054]LBA:邏輯塊地址(logical block address),硬盤的級(jí)別存取單位。
[0055]在使用硬盤作為存儲(chǔ)裝置的電子設(shè)備中,電子設(shè)備通過LBA訪問方式來讀取硬盤,也就是說,在傳統(tǒng)硬盤中提供按塊訪問的機(jī)制。另一方面,在使用諸如SSD的固態(tài)存儲(chǔ)作為存儲(chǔ)裝置的電子設(shè)備中,為了與現(xiàn)有的硬盤兼容,通常在SSD中模擬硬盤接口以提供按塊(block)訪問的機(jī)制。在實(shí)際上,在SSD硬盤中,內(nèi)部的閃存(flash)的讀寫單位為頁(page),擦除單位為塊,因此,需要一個(gè)映射表,將多個(gè)塊地址映射到一個(gè)頁地址上,同時(shí)內(nèi)部將根據(jù)讀寫差異改變這個(gè)映射表。
[0056]下面參考圖1A和IB進(jìn)行具體說明。如圖1A所示,在SSD硬盤中,當(dāng)執(zhí)行各種讀寫/擦除操作時(shí),邏輯地址通過映射表指向?qū)嶋H的物理地址。操作系統(tǒng)例如通過連續(xù)的邏輯地址進(jìn)行各種操作,但是實(shí)際上訪問的物理地址是離散的,因此,需要映射表在邏輯地址和物理地址之間建立對(duì)應(yīng)關(guān)系。所以映射表表示了存儲(chǔ)在flash中數(shù)據(jù)的一個(gè)視圖,采用不同的映射表可以重新組織flash中保存的數(shù)據(jù)。特別地,如果保存在flash中的數(shù)據(jù)表示當(dāng)前軟件系統(tǒng),但其中的絕大部分內(nèi)容沒有變化,則通過加載原始映射表,就可以還原preload系統(tǒng)。
當(dāng)前第1頁
1 
2 
3