亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于時(shí)間戳的FTL實(shí)現(xiàn)的連續(xù)數(shù)據(jù)恢復(fù)方法

        2015-12-20 06:58:02宋賀倫張耀輝
        關(guān)鍵詞:數(shù)據(jù)保護(hù)扇區(qū)硬盤

        袁 芳,劉 偉,宋賀倫,張耀輝

        (1.中國(guó)科學(xué)院大學(xué) 納米技術(shù)與納米仿生研究所,北京100049;2.中國(guó)科學(xué)院 蘇州納米技術(shù)與納米仿生研究所 系統(tǒng)集成部,江蘇 蘇州215123)

        0 引 言

        為了保證存儲(chǔ)信息的安全,很多研究者提出連續(xù)數(shù)據(jù)保護(hù) (continuous data protection,CDP)方法。固態(tài)硬盤(solid state drive,SSD)是采用半導(dǎo)體存儲(chǔ)介質(zhì)進(jìn)行數(shù)據(jù)存儲(chǔ)和讀取的一種存儲(chǔ)設(shè)備。它因?yàn)閿?shù)據(jù)存取速度快、體積小、功耗小、噪音低、發(fā)熱量小、抗震能力好、不易損壞等優(yōu)點(diǎn)而備受關(guān)注。要實(shí)現(xiàn)CDP,需要記錄數(shù)據(jù)的每次更新信息,這些信息將占用大量額外的存儲(chǔ)空間,雖然很多研究者著力于研究怎么分散這些存儲(chǔ)空間,但又會(huì)對(duì)設(shè)備的性能造成影響。在SSD 中,由于閃存的固有特性,不存在嚴(yán)格意義的覆蓋寫,SSD 不允許直接向一塊已經(jīng)寫入數(shù)據(jù)的區(qū)域再寫入數(shù)據(jù)。如果要達(dá)到覆蓋寫的效果,必須首先執(zhí)行一次擦除操作,將數(shù)據(jù)塊的原有數(shù)據(jù)進(jìn)行擦除,然后再寫入新的數(shù)據(jù)。這些未被擦除的數(shù)據(jù)恰巧可以用來實(shí)現(xiàn)CDP,基于此點(diǎn)出發(fā),本文提出應(yīng)用在SSD 上的CDP方法,它很好地解決了由于數(shù)據(jù)的變化信息而占用存儲(chǔ)空間的問題,并且由于不需要記錄數(shù)據(jù)的更新信息,其對(duì)硬盤的性能影響非常小。

        1 研究背景和思路

        CDP技術(shù)在很多領(lǐng)域都有廣泛應(yīng)用,如電力企業(yè)數(shù)據(jù)中心建設(shè)、醫(yī)院信息系統(tǒng)數(shù)據(jù)保護(hù)[1]等等。典型的連續(xù)時(shí)間保護(hù)方法的實(shí)現(xiàn)可以基于數(shù)據(jù)塊層、文件層和應(yīng)用層?;跀?shù)據(jù)塊的連續(xù)時(shí)間數(shù)據(jù)保護(hù)方法直接在物理存儲(chǔ)設(shè)備上運(yùn)行,需要將所有更改過的數(shù)據(jù)塊按時(shí)間順序保存下來;它與應(yīng)用的相關(guān)性比較小 (與文件系統(tǒng),設(shè)備無關(guān))?;谖募?jí)的連續(xù)數(shù)據(jù)保護(hù)方法工作在文件系統(tǒng)上,可以跟蹤文件系統(tǒng)中文件數(shù)據(jù)或元數(shù)據(jù)的改變,及時(shí)備份這些變動(dòng)信息,并記錄發(fā)生改變的時(shí)間。基于應(yīng)用層的連續(xù)時(shí)間數(shù)據(jù)保護(hù)是在受保護(hù)的應(yīng)用程序中直接插入并運(yùn)行連續(xù)時(shí)間數(shù)據(jù)保護(hù)功能程序代碼,它能實(shí)現(xiàn)與應(yīng)用程序的無縫整合,確保應(yīng)用程序的數(shù)據(jù)在連續(xù)數(shù)據(jù)保護(hù)過程中的一致性,管理靈活,用戶容易部署和實(shí)施。但是上訴實(shí)現(xiàn)方法均需要大量額外的存儲(chǔ)空間來保存數(shù)據(jù)的改變。數(shù)據(jù)塊級(jí)別的連續(xù)時(shí)間數(shù)據(jù)保護(hù)因?yàn)榕c應(yīng)用的相關(guān)性小,成為很多研究者研究的目標(biāo)。傳統(tǒng)磁盤因?yàn)槭?“原地更新”,舊數(shù)據(jù)會(huì)被新數(shù)據(jù)覆蓋,為了可以恢復(fù)任意時(shí)間點(diǎn)的數(shù)據(jù),需要在數(shù)據(jù)更新時(shí)備份數(shù)據(jù)的變化。備份這些數(shù)據(jù)需要占用大量的存儲(chǔ)空間。很多研究者著力于研究怎樣最大限度的降低這種空間浪費(fèi),并且能夠在故障發(fā)生時(shí)盡快的恢復(fù)數(shù)據(jù)。NPCDP[2]將鄰近時(shí)間點(diǎn)恢復(fù)劃分為4 種類型,給出一種用“位表”標(biāo)記差異數(shù)據(jù)塊、把多余數(shù)據(jù)剔除、缺少數(shù)據(jù)寫入的 “差異算法”,減少了數(shù)據(jù)讀寫、開銷,提高了恢復(fù)效率。MM-CDP[3]設(shè)計(jì)了3 種元數(shù)據(jù)管理方法,包括簡(jiǎn)單的基于MySQL 數(shù)據(jù)庫的實(shí)現(xiàn)的DIR-MySQL、OPTMySQL和根據(jù)應(yīng)用特點(diǎn)設(shè)計(jì)的META-CDP,前兩種隨著恢復(fù)數(shù)據(jù)的增加,所需的恢復(fù)時(shí)間增加,而后一種恢復(fù)時(shí)間增加很小,效率要高很多。TH-CDP[4]采用日志結(jié)構(gòu),并把數(shù)據(jù)塊的每次更新信息存儲(chǔ)在原始磁盤上。HSTIM[5]旨在提高連續(xù)數(shù)據(jù)保護(hù)的響應(yīng)時(shí)間。VDISK[6]是另外一個(gè)可靠的數(shù)據(jù)塊級(jí)別保護(hù)的系統(tǒng),它通過一個(gè)用戶級(jí)別的工具來驅(qū)動(dòng)和解釋變化數(shù)據(jù),并將它記錄進(jìn)一個(gè)只讀盤中,同時(shí)它對(duì)標(biāo)準(zhǔn)的文件系統(tǒng)也提供文件粒度的保護(hù)。

        雖然上述這些應(yīng)用在硬盤上的方法都旨在解決因?yàn)镃DP而帶來的各種問題,但卻沒有考慮硬盤的存儲(chǔ)介質(zhì)的特性。對(duì)于SSD 來說,在閃存中由于特殊的數(shù)據(jù)復(fù)寫機(jī)制,舊的數(shù)據(jù)被擦除之前仍舊逗留在閃存中,在舊數(shù)據(jù)未被垃圾回收 (garbage collection,GC)[7]之前,它代表的恰恰就是CDP需要保存的歷史數(shù)據(jù)。另外閃存的讀寫單位為頁,這與我們的操作系統(tǒng)讀寫數(shù)據(jù)單位不同。而為了不加重操作系統(tǒng)的負(fù)擔(dān),SSD 采用軟件的方式建立上層系統(tǒng)和閃存的聯(lián)系,這就是閃存地址映射層 (flash translation layer,F(xiàn)TL)[8]。當(dāng)文件系統(tǒng)發(fā)送指令要寫入或者更新一個(gè)特定的邏輯頁時(shí),F(xiàn)TL實(shí)際上是把數(shù)據(jù)寫入到一個(gè)不同的空閑物理頁,并更新映射信息,最后把這個(gè)頁上包含的 “舊數(shù)據(jù)”標(biāo)記為 “無效”。想要恢復(fù)某個(gè)時(shí)刻的數(shù)據(jù),需要滿足兩個(gè)條件,一是該時(shí)刻的數(shù)據(jù)依然存在閃存中,二是FTL 中映射信息表中此數(shù)據(jù)的物理地址為該時(shí)刻該數(shù)據(jù)存儲(chǔ)的位置。因此為了實(shí)現(xiàn)連續(xù)數(shù)據(jù)保護(hù),在確保數(shù)據(jù)存在的前提下,還要恢復(fù)FTL中的映射信息。本文就是基于SSD 的這種天然特性出發(fā)提出的利用其使用過程中的殘留數(shù)據(jù)進(jìn)行的連續(xù)數(shù)據(jù)保護(hù)方法。為了提高硬盤的性能,F(xiàn)TL 的相關(guān)信息存儲(chǔ)在以DRAM 為介質(zhì)的內(nèi)存中。BVSSD[9]提出的基于SSD 的連續(xù)時(shí)間數(shù)據(jù)保護(hù)方法,在內(nèi)存中記錄FTL中映射信息的每次變化。雖然它是利用了SSD 的介質(zhì)特性,但需要在內(nèi)存中記錄數(shù)據(jù)更新所引起的映射信息的改變,相對(duì)來說也占用了額外的DRAM 空間。本文提出的方法中,在映射信息表中加入時(shí)間戳,映射信息直接與時(shí)間相關(guān),不需要在DRAM 中開辟額外空間記錄每次映射關(guān)系的改變。BVSSD 中受DRAM 空間的限制,可以保存的FTL的變化信息有限,這樣就導(dǎo)致數(shù)據(jù)可恢復(fù)時(shí)間短,本文通過使可以恢復(fù)的時(shí)間始終保持在一個(gè)穩(wěn)定的區(qū)間。

        2 設(shè)計(jì)方案介紹

        SSD 中數(shù)據(jù)在邏輯和物理層的管理結(jié)構(gòu)如圖1 所示。主要包括兩個(gè)部分,閃存地址映射層和數(shù)據(jù)存儲(chǔ)層。用戶端向硬盤中寫數(shù)據(jù)時(shí),地址映射層為該邏輯地址分配物理地址。首先在DRAM 中記錄此邏輯地址對(duì)應(yīng)的物理地址和寫入時(shí)間,然后將數(shù)據(jù)寫入閃存的該物理地址處,并同時(shí)將該數(shù)據(jù)寫入時(shí)間記錄在FLASH 的該物理地址對(duì)應(yīng)的OOB區(qū)域中。用戶提出恢復(fù)申請(qǐng)前需要知道硬盤可以恢復(fù)的時(shí)間范圍,即為恢復(fù)窗口,此時(shí)間存儲(chǔ)在圖1中的NOR FLASH 中。在垃圾回收時(shí),本方案的垃圾回收策略確保那些在恢復(fù)窗口內(nèi)的數(shù)據(jù)不被回收。當(dāng)用戶告知硬盤想要恢復(fù)的時(shí)間點(diǎn),硬盤即還原此時(shí)間點(diǎn)時(shí)的地址映射層中的映射信息,如此即可完成數(shù)據(jù)的恢復(fù)。

        2.1 閃存地址映射層

        地址映射采用頁映射[10],包括邏輯頁和物理頁一一對(duì)應(yīng)的映射表、標(biāo)識(shí)每個(gè)物理頁有效性的位圖和其它一些控制信息表格。映射表中每條映射信息包括邏輯地址、物理地址和寫入時(shí)間,因?yàn)槊看螖?shù)據(jù)的讀寫都需要訪問映射表,為了可以快速操作映射表,把它存儲(chǔ)于DRAM 中。位圖所占空間大小為若干個(gè)字節(jié),其中每一個(gè)Bit代表物理空間中的一個(gè)物理頁,當(dāng)某一Bit位為1時(shí)表示它對(duì)應(yīng)的物理頁是有效頁,否則為0時(shí)表示該物理頁是無效頁。其它控制信息是指為地址分配提供輔助作用的一些標(biāo)識(shí)信息,如:記錄每個(gè)Block中有效頁的個(gè)數(shù)的表格等。主機(jī)端進(jìn)行讀操作時(shí),硬盤根據(jù)地址映射表中該邏輯地址對(duì)應(yīng)的物理地址進(jìn)行讀取。主機(jī)端進(jìn)行寫操作時(shí),F(xiàn)TL 會(huì)新分配一個(gè)物理頁來寫入數(shù)據(jù),這個(gè)物理頁的物理地址和當(dāng)前寫入時(shí)間會(huì)更新到映射表中。由于加入了時(shí)間戳標(biāo)記,映射信息表中映射信息與時(shí)間直接相關(guān),反映的是時(shí)間點(diǎn)上的映射信息。

        圖1 數(shù)據(jù)管理的結(jié)構(gòu)

        2.2 物理存儲(chǔ)區(qū)

        包括基于NAND FLASH 的存儲(chǔ)區(qū)和基于NOR FLASH 的存儲(chǔ)區(qū)。在NAND FLASH 區(qū)管理中,將若干個(gè)數(shù)據(jù)頁組合成一個(gè)可以擦除的數(shù)據(jù)塊,數(shù)據(jù)塊的大小取決于閃存的物理結(jié)構(gòu)。每個(gè)數(shù)據(jù)頁包含數(shù)據(jù)區(qū) (Data Zone)和帶外區(qū) (OOB Zone),數(shù)據(jù)區(qū)存儲(chǔ)用戶的數(shù)據(jù),此數(shù)據(jù)頁中數(shù)據(jù)的寫入時(shí)間值和數(shù)據(jù)校驗(yàn)信息存儲(chǔ)在OOB 區(qū)中。OOB是FLASH 中為了存放每個(gè)數(shù)據(jù)頁的校驗(yàn)數(shù)據(jù) (ECC)和其它一些控制信息的,對(duì)用戶不可見,在Flash顆粒出廠時(shí)就預(yù)留的,可以在其中添加一些控制信息來提升性能或者添加功能,本文中在其中記錄每個(gè)數(shù)據(jù)頁的寫入時(shí)間。Nor Flash區(qū)中包含若干個(gè)扇區(qū)單元,扇區(qū)是擦除操作得最小單位,它包含若干個(gè)Byte,Byte是讀寫操作的最小單位。當(dāng)要寫數(shù)據(jù)到Nor Flash中時(shí),可以指定任意的物理地址。當(dāng)要讀取其中的數(shù)據(jù)時(shí),可以讀取指定地指處的某個(gè)Byte。當(dāng)執(zhí)行擦除操作時(shí),必須擦除一個(gè)扇區(qū),擦除成功的扇區(qū)可以再次用來存儲(chǔ)數(shù)據(jù)。

        2.3 垃圾回收機(jī)制 (GC)

        數(shù)據(jù)存儲(chǔ)在NAND FLASH 中,寫入單位為數(shù)據(jù)頁,也即是地址映射層中的物理頁地址。因?yàn)楣虘B(tài)硬盤不支持“原地更新”操作,若一個(gè)物理地址空間中已經(jīng)寫入數(shù)據(jù),當(dāng)希望再次寫入此地址空間時(shí),首先要擦除其中的數(shù)據(jù),也即是 (寫前擦除)。由于閃存的擦除單位是 “塊”,因此需要當(dāng)整個(gè)塊達(dá)到一定條件后,才會(huì)進(jìn)行擦除。當(dāng)硬盤空間不足時(shí),為了保證硬盤的正常讀寫性能,需要擦除一些數(shù)據(jù)塊。選擇哪些數(shù)據(jù)塊,何時(shí)進(jìn)行擦除以及塊中數(shù)據(jù)如何處理也即是GC[10]機(jī)制需要考慮的問題。

        假定一個(gè)數(shù)據(jù)塊被選作擦除,首先需要將此數(shù)據(jù)塊中有效的頁搬移到別的數(shù)據(jù)塊中,然后擦除此數(shù)據(jù)塊,以用作后續(xù)數(shù)據(jù)的寫入。為了減少搬移操作的負(fù)擔(dān),盡量選取那些其中有效數(shù)據(jù)比較少的數(shù)據(jù)塊,另外,考慮到數(shù)據(jù)保護(hù),F(xiàn)TL用位圖來代表硬盤中哪些數(shù)據(jù)頁是有效的,位圖中每一位來標(biāo)識(shí)每個(gè)數(shù)據(jù)頁的有效性,這樣可以靈活的控制數(shù)據(jù)頁,對(duì)于那些CDP需要保護(hù)的數(shù)據(jù),在擦除前也需要搬移到新的數(shù)據(jù)塊中,以備數(shù)據(jù)恢復(fù)時(shí)使用。這一點(diǎn)與一般SSD 的GC機(jī)制是不同的,一般SSD 的GC 機(jī)制會(huì)將這些歷史數(shù)據(jù)都刪除,不會(huì)進(jìn)行搬移。因?yàn)閿?shù)據(jù)搬移引起的寫操作和用戶端的數(shù)據(jù)寫不同,它在硬盤中記錄數(shù)據(jù)頁的寫入時(shí)間時(shí),記錄的是從該頁中讀出的時(shí)間值,此時(shí)間值是最初用戶數(shù)據(jù)寫入硬盤時(shí)記錄的寫入時(shí)間。

        2.4 恢復(fù)窗口

        恢復(fù)窗口 (recovery window)指的是硬盤的CDP可以恢復(fù)的最遠(yuǎn)時(shí)刻,從當(dāng)前時(shí)刻到恢復(fù)窗口的這段時(shí)間的數(shù)據(jù)可以恢復(fù)。因?yàn)楸疚睦脷埩粼谟脖P中未被回收的數(shù)據(jù)來實(shí)現(xiàn)數(shù)據(jù)保護(hù),但是一些數(shù)據(jù)可能因?yàn)橛脖P空間不足而被回收。因此可以恢復(fù)的時(shí)間窗口是會(huì)變化的。硬盤需要告知用戶哪些時(shí)間的數(shù)據(jù)仍然可以恢復(fù),這就需要恢復(fù)窗口的概念。

        因?yàn)槔厥諘r(shí)會(huì)擦除一些數(shù)據(jù)頁,這些數(shù)據(jù)頁中的數(shù)據(jù)不能再恢復(fù),這會(huì)造成恢復(fù)窗口的改變。為了能實(shí)時(shí)告知用戶最新的恢復(fù)窗口,需要記錄它的每次變化。如果恢復(fù)窗口用數(shù)據(jù)頁中數(shù)據(jù)的寫入時(shí)間來表示,它會(huì)頻繁更新,會(huì)占用存儲(chǔ)空間,也會(huì)對(duì)硬盤的性能造成一定的影響。本文中恢復(fù)窗口用數(shù)據(jù)塊的標(biāo)識(shí)來表示,因?yàn)槔厥盏膯挝粸閿?shù)據(jù)塊,當(dāng)由于數(shù)據(jù)塊被回收而引起恢復(fù)窗口改變時(shí)才進(jìn)行更新,這大大降低了更新的頻率。另外,更新窗口值時(shí)只需要計(jì)算數(shù)據(jù)塊的標(biāo)識(shí)號(hào),不需要再讀取Flash中的數(shù)據(jù)頁,減小了對(duì)硬盤性能的影響。在NOR FLASH中,僅使用其中的小部分空間來記錄數(shù)據(jù)塊標(biāo)識(shí),這里用其中的兩個(gè)扇區(qū)來記錄。每個(gè)數(shù)據(jù)塊標(biāo)識(shí)占4個(gè)Byte,每個(gè)扇區(qū)可以記錄若干個(gè)塊標(biāo)識(shí),當(dāng)一個(gè)扇區(qū)剩余的空間不夠存下一個(gè)標(biāo)識(shí)時(shí),則在新的扇區(qū)中繼續(xù)寫,為了安全性,不讓一個(gè)塊標(biāo)識(shí)跨越兩個(gè)扇區(qū)??紤]到數(shù)據(jù)塊的標(biāo)識(shí)對(duì)用戶不可見,當(dāng)用戶需要恢復(fù)窗口值時(shí),通過記錄的最新的數(shù)據(jù)塊標(biāo)識(shí),讀取OOB 中記錄的此數(shù)據(jù)塊的第一個(gè)數(shù)據(jù)頁中的數(shù)據(jù)寫入時(shí)間,此時(shí)間值也既是硬盤可恢復(fù)的最遠(yuǎn)時(shí)刻。

        由于本文的GC 策略,SSD 始終能保存的數(shù)據(jù)量幾乎可以達(dá)到其容量的大小,比如一天寫入20GB 的數(shù)據(jù),那一個(gè)60G 大的盤可以恢復(fù)的時(shí)間可達(dá)3天。

        2.5 數(shù)據(jù)恢復(fù)過程

        例如:要回退到T 時(shí)刻,具體恢復(fù)過程如下:

        (1)用戶通過應(yīng)用程序向硬盤發(fā)送獲取時(shí)間窗口的命令,硬盤在接收到命令后,從NOR FLASH 中讀取記錄的最新的數(shù)據(jù)塊標(biāo)識(shí),讀取此標(biāo)識(shí)數(shù)據(jù)塊中數(shù)據(jù)頁的OOB區(qū)中記錄的時(shí)間值,此時(shí)間值即為硬盤可以恢復(fù)的最遠(yuǎn)時(shí)間窗口點(diǎn),通過應(yīng)用程序?qū)⒋藭r(shí)間值告知用戶。

        (2)用戶根據(jù)獲取的時(shí)間窗口,告知硬盤需要回退的時(shí)間點(diǎn)T;將它寫入到NOR FLASH 中,硬盤根據(jù)NOR FLASH 中的記錄信息來確定是否需要進(jìn)行恢復(fù)過程。

        (3)因?yàn)榛赝撕髸?huì)照成硬盤中數(shù)據(jù)狀態(tài)的變化,為了保證數(shù)據(jù)的正確性,在進(jìn)行回退前對(duì)硬盤進(jìn)行安全關(guān)機(jī)。

        (4)硬盤上電,開始恢復(fù)。首先查看NOR FLASH 中是否有回退時(shí)間T,如果有,則用戶提出了恢復(fù)請(qǐng)求。由于地址映射層反映的是某一時(shí)刻硬盤中的數(shù)據(jù)的地址映射情況,要恢復(fù)某一時(shí)刻的數(shù)據(jù),需要將此時(shí)刻的硬盤中數(shù)據(jù)所在的地址更新到地址映射層中。

        (5)掃描OBB中每個(gè)數(shù)據(jù)頁的寫入時(shí)間。在掃描過程中,其中的數(shù)據(jù)頁中的數(shù)據(jù)有兩種情況,或者是由于GC造成的數(shù)據(jù)搬移時(shí)寫入的,或者是HOST 端寫入的。對(duì)于其中掃描到的因搬移而寫入的頁,查看其中記錄的寫入數(shù)據(jù)的時(shí)間戳,如果時(shí)間戳大于映射表中該條映射信息中記錄的時(shí)間戳,則修改映射表。對(duì)于其中掃描到的每一個(gè)HOST 端寫入的頁,查看其中記錄的寫入數(shù)據(jù)的時(shí)間戳,如果時(shí)間戳大于映射表中該條映射信息中記錄的時(shí)間戳,并且小于要恢復(fù)的時(shí)間點(diǎn)T,則修改映射信息。

        (6)掃描完成后,映射信息都已經(jīng)恢復(fù)完成,備份映射信息,以防止掉電。

        (7)擦除NOR FLASH 中的回退時(shí)間T,恢復(fù)完成。

        數(shù)據(jù)恢復(fù)流程如圖2所示。

        圖2 數(shù)據(jù)恢復(fù)流程

        3 測(cè)試結(jié)果分析

        選擇Intel L84A 顆 粒,共64 G 大 小 的Flash 顆 粒,DRAM 為64 MB,通過SATA 對(duì)硬盤進(jìn)行數(shù)據(jù)讀寫操作。在上述條件下進(jìn)行硬盤數(shù)據(jù)恢復(fù)的功能性測(cè)試和性能測(cè)試,并與未添加連續(xù)數(shù)據(jù)保護(hù)的硬盤做了測(cè)試對(duì)比,同時(shí)對(duì)其它實(shí)現(xiàn)連續(xù)數(shù)據(jù)保護(hù)的策略進(jìn)行了對(duì)比分析。

        為了更加直觀的觀察每個(gè)恢復(fù)點(diǎn)的硬盤數(shù)據(jù)狀態(tài),編寫了應(yīng)用程序,將需要寫入硬盤的數(shù)據(jù)設(shè)定為寫入硬盤時(shí)的精確到秒級(jí)的系統(tǒng)時(shí)間。測(cè)試發(fā)現(xiàn)當(dāng)硬盤完成恢復(fù)點(diǎn)的恢復(fù)時(shí),其中數(shù)據(jù)狀態(tài)可以準(zhǔn)確達(dá)到恢復(fù)點(diǎn)時(shí)的數(shù)據(jù)狀態(tài),誤差僅在2~3s之內(nèi)。另外,在任意時(shí)間往硬盤中寫入文件或者文件夾,當(dāng)需要恢復(fù)到任意時(shí)間點(diǎn)時(shí),可以直觀地看出這些文件和文件夾在硬盤中的狀態(tài)。如圖3所示:在T1時(shí)刻,硬盤中只有之前寫入的文件夾,在T2時(shí)刻,硬盤中有文件夾和新寫入的Word文檔,在T3時(shí)刻硬盤中有文件夾、Word文檔和新寫入的TXT 文檔。在Now 時(shí)刻,用戶發(fā)現(xiàn)錯(cuò)誤,想要硬盤的狀態(tài)恢復(fù)到T 時(shí)刻,硬盤完成恢復(fù)操作后,硬盤中的只有之前寫入的文件夾和Word文檔。

        圖3 實(shí)現(xiàn)結(jié)果

        因?yàn)椴⒉恍枰涗浢看螖?shù)據(jù)的變化引起的映射信息的變化,所以并不需要占用大量額外的內(nèi)存空間,表1中為內(nèi)存主要占用情況。其中除了地址映射表外,還包括記錄數(shù)據(jù)頁有效性的位圖表以及記錄每個(gè)數(shù)據(jù)塊中有效頁個(gè)數(shù)的表格。

        在設(shè)定需要恢復(fù)的時(shí)間點(diǎn)后,硬盤中的數(shù)據(jù)會(huì)恢復(fù)到恢復(fù)點(diǎn)的狀態(tài)。在恢復(fù)的過程中所占用的時(shí)間主要是FLASH 中的塊掃描、塊排序?;謴?fù)時(shí)間見表2。在最好的情況下,F(xiàn)TL的最新備份可用,在最壞的情況下,最新備份不能用,需要掃描更多的數(shù)據(jù)頁,從表中數(shù)據(jù)可以看出,即使最差情況恢復(fù)時(shí)間也是相當(dāng)短的。

        表2 恢復(fù)時(shí)間

        對(duì)硬盤的性能進(jìn)行了測(cè)試,對(duì)添加此功能和不添加此功能的SSD 分別做了測(cè)試,其中圖4中pattern1為Sequential Read;pattern2 為Sequential Write;pattern3 為Random Read;pattern4為Random Write;pattern5為Random Read,4KB,Queue depth 1;pattern6為Random Write,4 KB,Queue depth 1;pattern7 為Random Read,4 KB,Queue depth 32;pattern8為Random Write,4KB,Queue depth 32;從圖中可以看出,在添加了CDP 的情況下,并未對(duì)SSD 的性能造成明顯影響。

        圖4 帶CDP的SSD 與原始SSD 讀寫性能比較

        圖5中是和BVSSD 的結(jié)果進(jìn)行的對(duì)比,可以看出對(duì)不添加數(shù)據(jù)保護(hù)的SSD 的影響,本文的影響明顯小。像本文之前提到的,BVSSD 在RAM 中用一個(gè)表格來存儲(chǔ)FTL 中映射信息的每次改變,因?yàn)镽AM 空間的限制,當(dāng)此表格裝滿時(shí),就把此表格中的信息存儲(chǔ)到FLASH 中,然后可以再次使用此表格記錄變化的映射信息。因?yàn)樵谟脖P寫的過程中,映射信息的變化很頻繁,需要不停的在RAM 和FLASH 之間切換,這會(huì)對(duì)硬盤的寫性能造成影響。而本方法則不存在這個(gè)問題。

        4 結(jié)束語

        圖5 本文和BVSSD 對(duì)原始SSD 性能影響

        本文提出了一種應(yīng)用在固態(tài)硬盤上的連續(xù)數(shù)據(jù)保護(hù)方法,包括歷史數(shù)據(jù)保護(hù)和地址映射層的建立和恢復(fù),詳細(xì)說明了設(shè)計(jì)的思路和詳細(xì)實(shí)現(xiàn)方法,并對(duì)該方法進(jìn)行了全面的分析。根據(jù)固態(tài)硬盤的天然特性,利用其中殘留數(shù)據(jù)實(shí)現(xiàn)了數(shù)據(jù)保護(hù),解決了CDP中由于歷史數(shù)據(jù)備份帶來的空間浪費(fèi)問題。在固態(tài)硬盤的閃存地址映射層中引入時(shí)間戳的概念,有效降低了CDP對(duì)硬盤帶來的性能影響。另外需要說明的是本文是在特定平臺(tái)上進(jìn)行的測(cè)試分析,不同的平臺(tái)差異可能會(huì)導(dǎo)致結(jié)果略微存在差異。

        [1]KONG Guanqing.Continuous data protection applied on hospital data[J].Computer CD’s Software and Application,2011,15 (3):50-59 (in Chinese).[孔冠慶.淺談連續(xù)數(shù)據(jù)保護(hù)解決方案在醫(yī)院中應(yīng)用 [J].計(jì)算機(jī)光盤軟件與應(yīng)用,2011,15(3):50-59.]

        [2]HOU Liman.Neighboring point data recovery for CDP based on data gap [J].Computer Science,2011,38 (5):159-164(in Chinese).[候利曼.基于數(shù)據(jù)差異的CDP鄰近時(shí)間點(diǎn)恢復(fù)[J].計(jì)算機(jī)科學(xué),2011,38 (5):159-164.]

        [3]LI Hongyan.Methods of metadata management in block-level continuous data protection system [J].Journal of Computer Applications,2012,32 (8):2141-2145 (in Chinese).[李紅艷.塊級(jí)連續(xù)數(shù)據(jù)保護(hù)系統(tǒng)元數(shù)據(jù)管理方法 [J].計(jì)算機(jī)應(yīng)用,2012,32 (8):2141-2145.]

        [4]Sheng Yonghong,Wang Dongsheng,He Jinyang,et al.THCDP:An efficient block level continuous data protection system[C]//Proceedings of the 3th International Conference on Networking,Architecture,and Storage,2009.

        [5]Sheng Yonghong,Xu Dan,Wang Dongsheng.A High effective indexing and retrieval method providing block-level timely recovery to any poing-in-time [C]//Proceeding in the 5th IEEE International Conference on Networking,Architecture,and Storage,2010.

        [6]Jake Wires,Michael J Feeley.Secure file system versioning at the block level[C]//Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems,2007:203-215.

        [7]JI S,Shin D.Locality and duplication-aware collection for flash memory based virtual memory systems[C]//10th IEEE International Conference on Computer and Information Technology,2010:1764-1771.

        [8]QI Xiaoying,TANG Xian,LIANG Zhichao.OAFTL:A high-performance corporation-oriented FLASH translation layer[J].Computer Research and Development,2011,48 (10):1918-1926 (in Chinese). [綦曉穎,湯顯,梁智超.OAFTL:一種面向企業(yè)級(jí)應(yīng)用的高效閃存轉(zhuǎn)換層處理策略 [J].計(jì)算機(jī)研究與發(fā)展,2011,48 (10):1918-1926.]

        [9]Huang Ping,Zhou Ke,Wang Hua,et al.BVSSD:Build built-in versioning flash-based solid state drives[C]//Proceeding SYSTOR Proceedings of the 5th Annual International Systems and Storage Conference,2012.

        [10]BAI Shi,ZHAO Peng.GFTL:A page group mapping based energy aware flash translation layer[J].Sciencepaper Online,2011,6 (10):716-720 (in Chinese) .[白 石, 趙 鵬.GFTL:一種基于頁組映射的低能耗閃存轉(zhuǎn)換層 [J].中國(guó)科技論文在線,2011,6 (10):716-720].

        猜你喜歡
        數(shù)據(jù)保護(hù)扇區(qū)硬盤
        分階段調(diào)整增加扇區(qū)通行能力策略
        南北橋(2022年2期)2022-05-31 04:28:07
        HiFi級(jí)4K硬盤播放機(jī) 億格瑞A15
        Egreat(億格瑞)A10二代 4K硬盤播放機(jī)
        U盤故障排除經(jīng)驗(yàn)談
        TPP生物藥品數(shù)據(jù)保護(hù)條款研究
        基于貝葉斯估計(jì)的短時(shí)空域扇區(qū)交通流量預(yù)測(cè)
        歐盟數(shù)據(jù)保護(hù)立法改革之發(fā)展趨勢(shì)分析
        歐盟《一般數(shù)據(jù)保護(hù)條例》新規(guī)則評(píng)析
        重建分區(qū)表與FAT32_DBR研究與實(shí)現(xiàn)
        我區(qū)電視臺(tái)對(duì)硬盤播出系統(tǒng)的應(yīng)用
        国产精品久久无码免费看| 在熟睡夫面前侵犯我在线播放| 欧美熟妇色ⅹxxx欧美妇| 中文字幕avdvd| 青青草精品在线免费观看| 国产乱码人妻一区二区三区| 18女下面流水不遮图| 亚洲av无码成人网站www| av网站在线观看二区| 天堂网av一区二区三区在线观看| 久久人人爽人人爽人人片av东京热| 97色在线视频| 中文字幕人妻少妇精品| 亚洲av天堂免费在线观看| 国产成人精品一区二区不卡| 亚洲乱码一区二区三区成人小说| 亚洲国产av午夜福利精品一区 | 久久久久久自慰出白浆| 人妻少妇被猛烈进入中文字幕 | 欧洲女人性开放免费网站| 国产一区二区三区啪| 搞黄色很刺激的网站二区| 国产精品视频永久免费播放| 手机在线看永久av片免费| 日韩在线不卡一区在线观看| 日本女优中文字幕在线播放| 成人免费a级毛片| 中文字幕第七页| 综合图区亚洲偷自拍熟女| 成人区人妻精品一区二区三区| 亚洲av综合色区无码一二三区 | 精品国产日韩一区2区3区| 亚洲色精品aⅴ一区区三区| 日韩国产成人精品视频| 丝袜美腿在线播放一区二区| 亚洲va欧美va日韩va成人网| 99精品电影一区二区免费看| 精品亚亚洲成av人片在线观看| 香蕉视频在线观看亚洲| 精品无码一区二区三区亚洲桃色| 亚洲黄片久久|