[發(fā)明專利]一種基于全閃存陣列的空間回收方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201811289331.6 | 申請(qǐng)日: | 2018-10-31 |
| 公開(kāi)(公告)號(hào): | CN111124940B | 公開(kāi)(公告)日: | 2022-03-22 |
| 發(fā)明(設(shè)計(jì))人: | 夏文;古亮 | 申請(qǐng)(專利權(quán))人: | 深信服科技股份有限公司 |
| 主分類號(hào): | G06F12/02 | 分類號(hào): | G06F12/02;G06F16/174;G06F3/06 |
| 代理公司: | 深圳市深佳知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518055 廣東省深圳市南*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 閃存 陣列 空間 回收 方法 系統(tǒng) | ||
本申請(qǐng)?zhí)峁┝艘环N基于全閃存陣列的空間回收方法及系統(tǒng),用于提高空間回收效率。本申請(qǐng)實(shí)施例方法包括:獲取性能層中的被壓縮數(shù)據(jù);將被壓縮數(shù)據(jù)切分為預(yù)設(shè)長(zhǎng)度的第一數(shù)據(jù)塊,計(jì)算其哈希值;將該哈希值與容量層中的去重指紋庫(kù)進(jìn)行匹配,以確定是否存在匹配指紋;若否,對(duì)第一數(shù)據(jù)塊進(jìn)行壓縮,并將壓縮后的第一數(shù)據(jù)塊以預(yù)設(shè)長(zhǎng)度為存儲(chǔ)單位,以日志追加寫(xiě)的方式回寫(xiě)至容量層;構(gòu)建數(shù)據(jù)位圖表,該表用于記錄對(duì)應(yīng)每個(gè)或多個(gè)存儲(chǔ)單位的空間占用狀態(tài);掃描數(shù)據(jù)位圖表,獲取處于第二狀態(tài)的存儲(chǔ)單位中的未更新數(shù)據(jù)塊,并將未更新數(shù)據(jù)塊遷移至新的存儲(chǔ)單位;將未更新數(shù)據(jù)塊劃分為頻繁遷移和非頻繁遷移類型,并將非頻繁遷移的未更新數(shù)據(jù)塊進(jìn)行固定化存儲(chǔ)。
技術(shù)領(lǐng)域
本申請(qǐng)涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種基于全閃存陣列的空間回收方法及系統(tǒng)。
背景技術(shù)
一般地,為了節(jié)省數(shù)據(jù)的存儲(chǔ)空間,文件在存儲(chǔ)時(shí),會(huì)對(duì)文件中的數(shù)據(jù)進(jìn)行去重壓縮,以減小數(shù)據(jù)的占用空間。
所謂去重,即通過(guò)計(jì)算數(shù)據(jù)塊的安全哈希摘要(比如SHA1指紋)來(lái)唯一識(shí)別數(shù)據(jù)塊,避免了數(shù)據(jù)的逐個(gè)字符的匹配,而且存儲(chǔ)系統(tǒng)只需要簡(jiǎn)單地維護(hù)安全哈希摘要的索引表,就可以實(shí)現(xiàn)快速方便地識(shí)別重復(fù)數(shù)據(jù),且重復(fù)的數(shù)據(jù)內(nèi)容只需要記錄相應(yīng)的數(shù)據(jù)指針信息即可達(dá)到節(jié)省存儲(chǔ)空間的目的。
而數(shù)據(jù)壓縮也是一種冗余數(shù)據(jù)消除技術(shù),主要通過(guò)編碼的方式消除冗余數(shù)據(jù)信息,即在保證原有數(shù)據(jù)信息不丟失的前提下,將原始內(nèi)容進(jìn)行轉(zhuǎn)換,對(duì)于重復(fù)的字節(jié)序列用更少字節(jié)數(shù)的編碼表示,從而達(dá)到消除部分冗余數(shù)據(jù)并最終節(jié)省存儲(chǔ)空間的目的。
而對(duì)于現(xiàn)有的壓縮去重技術(shù),當(dāng)文件數(shù)據(jù)發(fā)生更新(刪除或更改)時(shí),即在存儲(chǔ)原有壓縮數(shù)據(jù)的地址空間中,刪除掉原壓縮數(shù)據(jù),或?qū)υ瓑嚎s數(shù)據(jù)進(jìn)行更新,如:假設(shè)原文件中一個(gè)非重復(fù)數(shù)據(jù)塊壓縮后的存儲(chǔ)空間為50K,而當(dāng)文件數(shù)據(jù)刪除后,則會(huì)出現(xiàn)50K的空間碎片,而當(dāng)文件數(shù)據(jù)更改后,若更新后非重復(fù)數(shù)據(jù)塊壓縮后的數(shù)據(jù)長(zhǎng)度為5K,則會(huì)出現(xiàn)45K的空間碎片,當(dāng)在后期對(duì)空間碎片進(jìn)行回收時(shí),需要將未更新的非重復(fù)數(shù)據(jù)塊遷移至另一存儲(chǔ)地址,若與該未更新的非重復(fù)數(shù)據(jù)塊相鄰的數(shù)據(jù)塊反復(fù)更新時(shí),則需將該未更新的非重復(fù)數(shù)據(jù)塊反復(fù)遷移,從而增加了對(duì)該存儲(chǔ)系統(tǒng)的IO次數(shù),降低了該存儲(chǔ)系統(tǒng)的IO性能。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提供了一種基于全閃存陣列的空間回收方法及系統(tǒng),用于提高空間回收的效率。
本申請(qǐng)實(shí)施例第一方面提供了一種基于全閃存陣列的空間回收方法,其中,全閃存陣列包括性能層和容量層,該方法包括:
獲取所述性能層中的被壓縮數(shù)據(jù);
將所述被壓縮數(shù)據(jù)切分為預(yù)設(shè)長(zhǎng)度的第一數(shù)據(jù)塊,計(jì)算所述第一數(shù)據(jù)塊的哈希值;
將所述第一數(shù)據(jù)塊的哈希值與所述容量層中的去重指紋庫(kù)進(jìn)行匹配,以確定是否存在匹配指紋;
若不存在所述匹配指紋,則確定所述第一數(shù)據(jù)塊為非重復(fù)數(shù)據(jù)塊,對(duì)所述第一數(shù)據(jù)塊進(jìn)行壓縮,并將壓縮后的第一數(shù)據(jù)塊以預(yù)設(shè)長(zhǎng)度為存儲(chǔ)單位,以日志追加寫(xiě)的方式回寫(xiě)至所述容量層,而將所述第一數(shù)據(jù)塊的指紋更新至所述去重指紋庫(kù)中,所述日志追加寫(xiě)作為一種異地更新方式,用以提高所述容量層的IO性能;
構(gòu)建數(shù)據(jù)位圖表,所述數(shù)據(jù)位圖表用于記錄對(duì)應(yīng)每個(gè)存儲(chǔ)單位或多個(gè)存儲(chǔ)單位的空間占用狀態(tài),所述空間占用狀態(tài)包括第一狀態(tài)和第二狀態(tài),所述第一狀態(tài)為無(wú)效占用,所述第二狀態(tài)為有效占用;
掃描所述數(shù)據(jù)位圖表,獲取處于所述第二狀態(tài)的存儲(chǔ)單位中的未更新數(shù)據(jù)塊,并將所述未更新數(shù)據(jù)塊遷移至新的存儲(chǔ)單位;
將所述未更新數(shù)據(jù)塊劃分為頻繁遷移和非頻繁遷移類型,并將非頻繁遷移的未更新數(shù)據(jù)塊進(jìn)行固定化存儲(chǔ),避免對(duì)所述非頻繁遷移的未更新數(shù)據(jù)塊的頻繁遷移。
優(yōu)選的,所述將所述未更新數(shù)據(jù)塊劃分為頻繁遷移和非頻繁遷移類型,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深信服科技股份有限公司,未經(jīng)深信服科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811289331.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類





