專利名稱:一種基于非易失性存儲(chǔ)介質(zhì)的快照處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種基于非易失性存儲(chǔ)介質(zhì)的 快照處理方法及裝置。
背景技術(shù):
隨著科學(xué)技術(shù)的飛速發(fā)展與計(jì)算機(jī)技術(shù)的普遍應(yīng)用,互聯(lián)網(wǎng)上信息的迅 速增加以及電子商務(wù)的發(fā)展,企業(yè)信息系統(tǒng)日益占據(jù)著企業(yè)竟?fàn)巸?yōu)勢(shì)的主體地 位。數(shù)據(jù)的海量增長(zhǎng),使企業(yè)比以往任何時(shí)候都更加依賴于數(shù)據(jù)。因此,保護(hù) 數(shù)據(jù)安全,實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)備份在企業(yè)應(yīng)用系統(tǒng)中顯得非常重要。今天的網(wǎng)絡(luò) 數(shù)據(jù)要求盡可能減少對(duì)數(shù)據(jù)訪問(wèn)性能的影響,而快照技術(shù)很好地解決了這個(gè)問(wèn) 題。
所謂快照是指將磁盤(pán)中某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)全部原封不動(dòng)地保存下來(lái),就如 照相那樣,只不過(guò)這里"照"的是某時(shí)刻的數(shù)據(jù)而不是景色。快照實(shí)現(xiàn)的方法
很多,比如寫(xiě)前拷貝、拆鏡像對(duì)等,但不管怎樣都必須確保當(dāng)用戶的快照命 令下達(dá)后,磁盤(pán)中給定區(qū)域的數(shù)據(jù)(比如D盤(pán))不能再因用戶新數(shù)據(jù)的更新而 改變,而且用戶新數(shù)據(jù)也不能在快照過(guò)程中丟失或發(fā)生錯(cuò)誤。
基于傳統(tǒng)的硬盤(pán)驅(qū)動(dòng)器(Hard Disk Drive, HDD)的快照技術(shù),其基本原 理是"寫(xiě)前拷貝",即當(dāng)存儲(chǔ)系統(tǒng)收到寫(xiě)請(qǐng)求后,先將該寫(xiě)請(qǐng)求對(duì)應(yīng)位置上的原 有數(shù)據(jù)讀出來(lái),并拷貝到其他位置,然后再寫(xiě)入新的數(shù)據(jù)??梢?jiàn)基于傳統(tǒng)的HDD 要實(shí)現(xiàn)快照技術(shù),由于寫(xiě)操作前多了一個(gè)讀操作的過(guò)程,必定會(huì)影響寫(xiě)數(shù)據(jù)的 效率。
目前,固態(tài)硬盤(pán)(solid state disk, SSD)已經(jīng)問(wèn)世,SSD由控制單元和存儲(chǔ) 單元(FLASH芯片)組成,簡(jiǎn)單的說(shuō)就是用固態(tài)電子存儲(chǔ)芯片陣列而制成的非 易失性存儲(chǔ)介質(zhì)。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題基于 非易失性存儲(chǔ)介質(zhì)的裝置,在實(shí)現(xiàn)快照技術(shù)時(shí)若采用傳統(tǒng)的HDD的快照技術(shù),
4會(huì)對(duì)寫(xiě)數(shù)據(jù)的效率造成影響。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于非易失性存儲(chǔ)介質(zhì)的快照處理方法及裝置, 可以在實(shí)現(xiàn)快照時(shí)減少對(duì)存儲(chǔ)介質(zhì)中寫(xiě)數(shù)據(jù)的效率的影響。
本發(fā)明實(shí)施方式提供一種基于非易失性存儲(chǔ)介質(zhì)的快照處理方法,包
括
控制器給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記; 非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新 數(shù)據(jù)塊中;
所述非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述控制器下發(fā)的讀請(qǐng)求命令讀取舊 數(shù)據(jù)塊中的數(shù)據(jù),根據(jù)所述寫(xiě)請(qǐng)求命令的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是 否不能被立即回收,如果不能則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照巻。
本發(fā)明實(shí)施方式還提供一種基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置,包
括
控制器,用于給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記,下發(fā)所述 寫(xiě)請(qǐng)求命令和讀請(qǐng)求命令給非易失性存儲(chǔ)介質(zhì)固件;
非易失性存儲(chǔ)介質(zhì)固件,用于根據(jù)所述控制器下發(fā)的寫(xiě)請(qǐng)求命令將待寫(xiě) 入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中,根據(jù)所述控制器下發(fā)的讀請(qǐng)求命令讀取舊數(shù)據(jù) 塊中的數(shù)據(jù),根據(jù)所述寫(xiě)請(qǐng)求命令的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是否不 能被立即回收,如果不能則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照巻。
本發(fā)明實(shí)施例將寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記,在執(zhí)行寫(xiě) 請(qǐng)求時(shí)將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中,由此不會(huì)對(duì)舊數(shù)據(jù)造成影響,同 時(shí)在執(zhí)行讀請(qǐng)求時(shí)根據(jù)不能被立即回收的標(biāo)記將舊數(shù)據(jù)備份到快照巻,由此 實(shí)現(xiàn)了快照,執(zhí)行寫(xiě)請(qǐng)求可以在實(shí)現(xiàn)快照的讀請(qǐng)求前或者同時(shí)完成,可以保 證在完成對(duì)存儲(chǔ)介質(zhì)中指定區(qū)域數(shù)據(jù)的快照的同時(shí)不會(huì)因?yàn)橐瓿煽煺斩绊懲鎯?chǔ)介質(zhì)中寫(xiě)數(shù)據(jù)時(shí)的效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所 需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性 的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例一基于非易失性存儲(chǔ)介質(zhì)的快照處理方法的流程示意
圖2是本發(fā)明實(shí)施例二基于非易失性存儲(chǔ)介質(zhì)的快照處理方法的流程示意
圖3是本發(fā)明實(shí)施例基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置的結(jié)構(gòu)示意圖; 圖4是本發(fā)明實(shí)施例基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置的控制器的結(jié) 構(gòu)示意圖5是本發(fā)明實(shí)施例基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置的非易失性存 儲(chǔ)介質(zhì)固件的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí) 施方式,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施方 式僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請(qǐng)參考圖1,為本發(fā)明實(shí)施例一基于非易失性存儲(chǔ)介質(zhì)的快照處理方法 的流程示意圖,其步驟具體包括
步驟S103:控制器接收到寫(xiě)請(qǐng)求命令后,若需要快照處理則將所述寫(xiě) 請(qǐng)求命令打上舊數(shù)據(jù)不能被立即回收的標(biāo)記;具體的,存儲(chǔ)控制器收到寫(xiě)請(qǐng) 求后,給所述寫(xiě)請(qǐng)求命令打上一個(gè)標(biāo)簽或者做其它標(biāo)記,用以說(shuō)明原有的舊 數(shù)據(jù)不能被立即回收,需要將原有的舊數(shù)據(jù)進(jìn)行備份。步驟S104:非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù) 據(jù)寫(xiě)入到新數(shù)據(jù)塊中;
步驟S105:控制器下發(fā)讀請(qǐng)求命令給非易失性存儲(chǔ)介質(zhì)固件,所述非 易失性存儲(chǔ)介質(zhì)固件根據(jù)讀請(qǐng)求命令讀取舊數(shù)據(jù)塊中的數(shù)據(jù)。這里的"舊數(shù) 據(jù)塊中的數(shù)據(jù)"與所述步驟S103中的"舊數(shù)據(jù),,有所不同,范圍比"舊數(shù) 據(jù)"更大,所述步驟S103中的"舊數(shù)據(jù)"專指需要進(jìn)行快照處理的數(shù)據(jù), 而所述"舊數(shù)據(jù)塊中的數(shù)據(jù)"是指原來(lái)數(shù)據(jù)塊中的數(shù)據(jù),不一定需要進(jìn)行快
照處i里。
需要說(shuō)明的是,在步驟S105中讀取舊數(shù)據(jù)塊中的數(shù)據(jù),而在步驟S104 中執(zhí)行所述寫(xiě)請(qǐng)求命令是將代寫(xiě)入的數(shù)據(jù)寫(xiě)入新數(shù)據(jù)塊中,所以兩者并不沖 突,沒(méi)有先后順序之分。
步驟S106:判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是否不能被立即回收;具體的, 根據(jù)步驟S103中給所述寫(xiě)請(qǐng)求命令所做的標(biāo)記判斷舊數(shù)據(jù)塊中的數(shù)據(jù)是否 不能被立即回收,即是否需要進(jìn)行快照處理,如果是則進(jìn)行步驟S107。
步驟S107:將舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照巻,以實(shí)現(xiàn)備份。
本發(fā)明實(shí)施例在收到寫(xiě)請(qǐng)求命令時(shí),判斷是否需要對(duì)舊數(shù)據(jù)進(jìn)行備份, 如果需要?jiǎng)t打上標(biāo)記,根據(jù)標(biāo)記將舊數(shù)據(jù)備份到快照巻,可以完成對(duì)存儲(chǔ)介 質(zhì)中指定區(qū)域數(shù)據(jù)的快照,并且由于執(zhí)行寫(xiě)請(qǐng)求,寫(xiě)入數(shù)據(jù)時(shí)會(huì)用一個(gè)新的 數(shù)據(jù)塊存儲(chǔ)數(shù)據(jù),可以在讀取數(shù)據(jù)之前進(jìn)行,也可以在讀取數(shù)據(jù)之后進(jìn)行, 所以不會(huì)因?yàn)橐瓿煽煺斩绊懲鎯?chǔ)介質(zhì)中寫(xiě)數(shù)據(jù)時(shí)的效率。
請(qǐng)參考圖2,為本發(fā)明實(shí)施例二基于非易失性存儲(chǔ)介質(zhì)的快照處理方法 的流程示意圖,其步驟具體包括
步驟S201:收到寫(xiě)請(qǐng)求命令;具體的,存儲(chǔ)系統(tǒng)控制器接收到來(lái)自服 務(wù)器的寫(xiě)請(qǐng)求命令,即請(qǐng)求將數(shù)據(jù)寫(xiě)入非易失性存儲(chǔ)介質(zhì)(本發(fā)明實(shí)施例以 固態(tài)硬盤(pán)SSD為例予以說(shuō)明),例如請(qǐng)求寫(xiě)入從0到99的長(zhǎng)度為100的數(shù) 據(jù)。
7步驟S202:判斷是否需要快照處理;具體的,存儲(chǔ)系統(tǒng)控制器在收到 服務(wù)器的寫(xiě)請(qǐng)求的同時(shí),判斷是否也收到需要對(duì)原有的從0到99的數(shù)據(jù)進(jìn) 行備份的請(qǐng)求,如果收到該請(qǐng)求則說(shuō)明需要進(jìn)行快照處理執(zhí)行步驟S203, 否則執(zhí)行步驟S204。
步驟S203:標(biāo)記寫(xiě)請(qǐng)求舊數(shù)據(jù)不能被立即回收;具體的,如果步驟S202 判斷出需要進(jìn)行快照處理則給該寫(xiě)請(qǐng)求命令打上一個(gè)標(biāo)簽或者做其它標(biāo)記, 用以說(shuō)明原有的從0到99的數(shù)據(jù)不能被立即回收,需要將這些原有的從0 到99的舊數(shù)據(jù)進(jìn)行備份。
步驟S204:下發(fā)寫(xiě)請(qǐng)求命令給SSD;具體的,存儲(chǔ)系統(tǒng)控制器將所述 打上標(biāo)簽的寫(xiě)請(qǐng)求命令下發(fā)給SSD的固件。
步驟S205:完成寫(xiě)操作;具體的,在步驟S204 SSD固件收到下發(fā)的寫(xiě) 請(qǐng)求命令后,作出響應(yīng),存儲(chǔ)系統(tǒng)也作出響應(yīng),完成寫(xiě)操作。所述固件,通 俗的理解就是"固化的軟件",是固化在集成電路內(nèi)部的程序代碼,負(fù)責(zé)控 制和協(xié)調(diào)集成電路的功能,是擔(dān)任著一個(gè)系統(tǒng)最基礎(chǔ)、最底層工作的軟件, 例如,F(xiàn)irmware就是BIOS的軟件。需要說(shuō)明的是,SSD由控制單元和存儲(chǔ) 單元(FLASH芯片)組成,用固態(tài)電子存儲(chǔ)芯片陣列而制成的硬盤(pán),在讀 寫(xiě)數(shù)據(jù)時(shí)以塊為單位進(jìn)行,由于Flash芯片的每個(gè)塊的寫(xiě)壽命有限,為提高 Flash芯片的寫(xiě)壽命,在寫(xiě)入數(shù)據(jù)時(shí)采用了磨損均衡的算法,磨損均衡算法 的核心在每次寫(xiě)操作時(shí)將新數(shù)據(jù)寫(xiě)入到最少被使用的物理塊中,來(lái)達(dá)到整個(gè) SSD的均衡,也就是說(shuō),SSD固件收到一個(gè)寫(xiě)請(qǐng)求后,會(huì)用另外一個(gè)數(shù)據(jù)塊 來(lái)保存寫(xiě)入的數(shù)據(jù),而舊數(shù)據(jù)塊另作處理,這里的另作處理是指,如果需要 快照處理則將舊數(shù)據(jù)塊放入快照巻進(jìn)行快照,如果不需要?jiǎng)t放入回收池。
步驟S206:下發(fā)讀請(qǐng)求命令給SSD;具體的,存儲(chǔ)系統(tǒng)控制器的固件 將讀取舊數(shù)據(jù)的請(qǐng)求命令下發(fā)給SSD固件。
步驟S207:讀取舊數(shù)據(jù)塊中的數(shù)據(jù);具體的,在步驟S206 SSD固件收 到讀取舊數(shù)據(jù)塊中的數(shù)據(jù)的請(qǐng)求后,作出響應(yīng),完成讀操作,這里的"舊數(shù)
8據(jù)塊中的數(shù)據(jù),,與所述步驟S203中的"舊數(shù)據(jù)',有所不同,范圍比"舊數(shù)
據(jù)"更大,所述步驟S203中的"舊數(shù)據(jù)"專指需要進(jìn)行快照處理的數(shù)據(jù),
而所述"舊數(shù)據(jù)塊中的數(shù)據(jù),,是指原來(lái)數(shù)據(jù)塊中的數(shù)據(jù),不一定需要進(jìn)行快
照處理。
需要說(shuō)明的是,步驟S206和步驟S207可以在步驟S205之后進(jìn)行,也 可以在它之前進(jìn)行,因?yàn)樵赟SD的0-99位置寫(xiě)入數(shù)據(jù)和讀取0-99位置的數(shù) 據(jù)不會(huì)發(fā)生沖突,原因在步驟S205有具體描述,在此不再贅述。
步驟S208:判斷舊數(shù)據(jù)塊中的數(shù)據(jù)是否不能被立即回收;具體的,根 據(jù)步驟S203給所述寫(xiě)請(qǐng)求命令打上的標(biāo)記來(lái)判斷0-99位置的舊數(shù)據(jù)是否 不能被立即回收,如果是則進(jìn)行步驟S210,否則進(jìn)行步驟S209。
步驟S209:將舊數(shù)據(jù)塊中的數(shù)據(jù)放入回收池;具體的,將0-99位置的 數(shù)據(jù)塊的數(shù)據(jù)放入回收池,然后刪除這些數(shù)據(jù)。
步驟S210:將舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照巻;具體的,將所述0-99 位置數(shù)據(jù)塊的數(shù)據(jù)放入快照巻中,以實(shí)現(xiàn)備份。
本發(fā)明實(shí)施例在收到寫(xiě)請(qǐng)求命令時(shí),判斷是否需要對(duì)舊數(shù)據(jù)進(jìn)行備份, 如果需要?jiǎng)t打上標(biāo)記,根據(jù)標(biāo)記將舊數(shù)據(jù)備份到快照巻,可以完成對(duì)存儲(chǔ)介 質(zhì)中指定區(qū)域數(shù)據(jù)的快照,并且由于執(zhí)行寫(xiě)請(qǐng)求,寫(xiě)入數(shù)據(jù)時(shí)會(huì)用一個(gè)新的 數(shù)據(jù)塊存儲(chǔ)數(shù)據(jù),可以在讀取數(shù)據(jù)之前進(jìn)行,也可以在讀取數(shù)據(jù)之后進(jìn)行, 所以不會(huì)因?yàn)橐瓿煽煺斩绊懲鎯?chǔ)介質(zhì)中寫(xiě)數(shù)據(jù)時(shí)的效率。
請(qǐng)參考圖3,為本發(fā)明實(shí)施例基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置的 結(jié)構(gòu)示意圖,所述基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置包括控制器31 和非易失性存儲(chǔ)介質(zhì)固件32,其中
所述控制器31,用于給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記, 下發(fā)所述寫(xiě)請(qǐng)求命令和讀請(qǐng)求命令給非易失性存儲(chǔ)介質(zhì)固件32;
所述非易失性存儲(chǔ)介質(zhì)固件32,用于根據(jù)所述控制器下發(fā)的寫(xiě)請(qǐng)求命 令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中,根據(jù)所述控制器下發(fā)的讀請(qǐng)求命令讀取舊數(shù)據(jù)塊中的數(shù)據(jù),根據(jù)所述寫(xiě)請(qǐng)求命令的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù) 據(jù)是否不能被立即回收,如果不能則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照 巻。
請(qǐng)參考圖4,為本發(fā)明實(shí)施例基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置的
控制器的結(jié)構(gòu)示意圖,所述控制器31包括接收單元311、第二判斷單元 312、標(biāo)記單元313和命令下發(fā)單元314。
所述接收單元311 ,用于接收寫(xiě)請(qǐng)求來(lái)自服務(wù)器的寫(xiě)請(qǐng)求命令;
所述第二判斷單元312,用于判斷所述接收單元311接收到的寫(xiě)請(qǐng)求命 令是否需要對(duì)舊數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行快照處理。
所述標(biāo)記單元313,用于如果所述第二判斷單元312判斷出需要進(jìn)行快 照處理,則給所述寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記,用以說(shuō)明原 有的舊數(shù)據(jù)不能被立即回收,需要將原有的舊數(shù)據(jù)進(jìn)行備份。
所述命令下發(fā)單元314,用于將所述寫(xiě)請(qǐng)求命令以及讀取舊數(shù)據(jù)的讀請(qǐng) 求下發(fā)給非易失性存儲(chǔ)介質(zhì)固件32。
請(qǐng)參考圖5,為本發(fā)明實(shí)施例基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置的 非易失性存儲(chǔ)介質(zhì)固件的結(jié)構(gòu)示意圖,所述非易失性存儲(chǔ)介質(zhì)固件32包括 寫(xiě)數(shù)據(jù)單元321、讀數(shù)據(jù)單元322、第一判斷單元323、備份單元324和回 收單元325。
所述寫(xiě)數(shù)據(jù)單元321,用于根據(jù)所述命令下發(fā)單元314下發(fā)給非易失性 存儲(chǔ)介質(zhì)固件32的寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中,需要說(shuō) 明的是,所述非易失性存儲(chǔ)介質(zhì)在讀寫(xiě)數(shù)據(jù)時(shí)以塊為單位進(jìn)行,由于Flash 芯片的每個(gè)塊的寫(xiě)壽命有限,為提高Flash芯片的寫(xiě)壽命,在寫(xiě)入數(shù)據(jù)時(shí)采 用了磨損均衡的算法,磨損均衡算法的核心在每次寫(xiě)操作時(shí)將新數(shù)據(jù)寫(xiě)入到 最少被使用的物理塊中,來(lái)達(dá)到整個(gè)非易失性存儲(chǔ)介質(zhì)的均衡,也就是說(shuō), 會(huì)用另外一個(gè)數(shù)據(jù)塊來(lái)保存寫(xiě)入的數(shù)據(jù)。
需要說(shuō)明的是,所述寫(xiě)數(shù)據(jù)單元321和所述讀數(shù)據(jù)單元322是分別進(jìn)行,不會(huì)發(fā)生沖突。
所述讀數(shù)據(jù)單元322,用于根據(jù)所述命令下發(fā)單元314下發(fā)給非易失性 存儲(chǔ)介質(zhì)固件的讀請(qǐng)求命令讀取舊數(shù)據(jù)塊中的數(shù)據(jù)。
所述第一判斷單元323,用于根據(jù)所述標(biāo)記單元313給所述寫(xiě)請(qǐng)求命令 作的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是否不能被立即回收;
所述備份單元324,用于如果所述第一判斷單元323判斷出所述舊數(shù)據(jù) 塊中的數(shù)據(jù)不能被立即回收時(shí),則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)放入快照巻中, 以實(shí)現(xiàn)備份。
所述回收單元325,用于如果所述第一判斷單元323判斷出所述舊數(shù)據(jù)
塊中的數(shù)據(jù)可以#:立即回收時(shí),則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)放入回收池中, 以將其刪除。
本發(fā)明實(shí)施例根據(jù)標(biāo)記單元313給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回 收的標(biāo)記,由第一判斷單元323判斷是否需要進(jìn)行快照處理,如果需要,備 份單元324則完成對(duì)存儲(chǔ)介質(zhì)中指定區(qū)域數(shù)據(jù)的快照,并且寫(xiě)數(shù)據(jù)單元321 在寫(xiě)入數(shù)據(jù)時(shí)會(huì)用 一個(gè)新的數(shù)據(jù)塊存儲(chǔ)數(shù)據(jù),可以在讀數(shù)據(jù)單元322讀取數(shù) 據(jù)之前進(jìn)行,也可以在其之后進(jìn)行,所以不會(huì)因?yàn)橐瓿煽煺斩绊懲鎯?chǔ) 介質(zhì)中寫(xiě)數(shù)據(jù)時(shí)的效率。
可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取 存儲(chǔ)介質(zhì)中,所述存儲(chǔ)介質(zhì)為ROM/RAM、磁*萊、光盤(pán)等。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(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)。
ii
權(quán)利要求
1、一種基于非易失性存儲(chǔ)介質(zhì)的快照處理方法,其特征在于,包括控制器給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記;非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中;所述非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述控制器下發(fā)的讀請(qǐng)求命令讀取舊數(shù)據(jù)塊中的數(shù)據(jù),根據(jù)所述寫(xiě)請(qǐng)求命令的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是否不能被立即回收,如果不能則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照卷。
2、 如權(quán)利要求1所述的方法,其特征在于,還包括步驟所述控制器收到寫(xiě)請(qǐng)求命令,判斷是否需要快照處理,如果需要?jiǎng)t執(zhí)行給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記的步驟。
3、 如權(quán)利要求1所述的方法,其特征在于,所述非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到的新數(shù)據(jù)塊為使用次數(shù)最少的數(shù)據(jù)塊。
4、 如權(quán)利要求1所述的方法,其特征在于還包括步驟如果所述非易失性存儲(chǔ)介質(zhì)固件判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)能被立即回收,則將所述舊數(shù)據(jù)塊放入回收池。
5、 一種基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置,其特征在于,包括控制器,用于給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記,下發(fā)所述寫(xiě)請(qǐng)求命令和讀請(qǐng)求命令給非易失性存儲(chǔ)介質(zhì)固件;非易失性存儲(chǔ)介質(zhì)固件,用于根據(jù)所述控制器下發(fā)的寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中,根據(jù)所述控制器下發(fā)的讀請(qǐng)求命令讀取舊數(shù)據(jù)塊中的數(shù)據(jù),根據(jù)所述寫(xiě)請(qǐng)求命令的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是否不能被立即回收,如果不能則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照巻。
6、 如權(quán)利要求5所述的裝置,其特征在于所述控制器包括標(biāo)記單元和命令下發(fā)單元;所述標(biāo)記單元,用于給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記;所述命令下發(fā)單元,用于下發(fā)所述寫(xiě)請(qǐng)求命令和所述讀請(qǐng)求命令給所述非易失性存儲(chǔ)介質(zhì)固件。
7、 如權(quán)利要求5所述的裝置,其特征在于所述非易失性存儲(chǔ)介質(zhì)固件包括寫(xiě)數(shù)據(jù)單元、讀數(shù)據(jù)單元、第一判斷單元和備份單元;所述寫(xiě)數(shù)據(jù)單元,用于根據(jù)所述命令下發(fā)單元下發(fā)的寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中;所述讀數(shù)據(jù)單元,用于根據(jù)所述命令下發(fā)單元下發(fā)的讀請(qǐng)求命令讀取所述舊數(shù)據(jù)塊中的數(shù)據(jù);所述第一判斷單元,用于根據(jù)所述寫(xiě)請(qǐng)求命令的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是否不能被立即回收;所述備份單元,用于如果所述第一判斷單元判斷出所述舊數(shù)據(jù)塊中的數(shù)據(jù)不能被立即回收,則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照巻。
8、 如權(quán)利要求6所述的裝置,其特征在于,所述控制器還包括接收單元,用于接收所述寫(xiě)請(qǐng)求命令。
9、 如權(quán)利要求8所述的裝置,其特征在于,所述控制器還包括第二判斷單元,用于判斷所述接收單元接收到的寫(xiě)請(qǐng)求命令是否需要快照處理,如果判斷需要快照處理則啟動(dòng)所述標(biāo)記單元給所述寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記。
10、 如權(quán)利要求5或7所述的裝置,其特征在于,所述新數(shù)據(jù)塊包括使用次數(shù)最少的數(shù)據(jù)塊。
11、 如權(quán)利要求7所述的裝置,其特征在于所述非易失性存儲(chǔ)介質(zhì)固件還包括回收單元,用于如果所述第一判斷單元判斷出所述舊數(shù)據(jù)塊中的數(shù)據(jù)能夠被立即回收則將所述舊數(shù)據(jù)塊放入回收池。
全文摘要
本發(fā)明實(shí)施例提供一種基于非易失性存儲(chǔ)介質(zhì)的快照處理方法,包括控制器給寫(xiě)請(qǐng)求命令做舊數(shù)據(jù)不能被立即回收的標(biāo)記;非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述寫(xiě)請(qǐng)求命令將待寫(xiě)入的數(shù)據(jù)寫(xiě)入到新數(shù)據(jù)塊中;所述非易失性存儲(chǔ)介質(zhì)固件根據(jù)所述控制器下發(fā)的讀請(qǐng)求命令讀取舊數(shù)據(jù)塊中的數(shù)據(jù),根據(jù)所述寫(xiě)請(qǐng)求命令的標(biāo)記判斷所述舊數(shù)據(jù)塊中的數(shù)據(jù)是否不能被立即回收,如果不能則將所述舊數(shù)據(jù)塊中的數(shù)據(jù)備份到快照卷。本發(fā)明實(shí)施方式還提供一種基于非易失性存儲(chǔ)介質(zhì)的快照處理裝置。本發(fā)明實(shí)施例可以完成對(duì)存儲(chǔ)介質(zhì)中指定區(qū)域數(shù)據(jù)的快照,并且不會(huì)因?yàn)橐瓿煽煺斩绊懲鎯?chǔ)介質(zhì)中寫(xiě)數(shù)據(jù)時(shí)的效率。
文檔編號(hào)G06F11/14GK101477483SQ20081024221
公開(kāi)日2009年7月8日 申請(qǐng)日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者巍 張 申請(qǐng)人:成都市華為賽門(mén)鐵克科技有限公司