利用重復數(shù)據(jù)刪除和增量編碼有效利用基于閃存的SSD
發(fā)布時間:2020-02-16 04:12
【摘要】:為解決基于閃存的固態(tài)盤壽命有限及隨容量被消耗可靠性也逐漸衰減的特性,基于兩個重要的觀察結果:a)存在大量的重復數(shù)據(jù)塊;b)元數(shù)據(jù)塊比數(shù)據(jù)塊被更加頻繁地訪問或修改,但每次更新僅有微小變化,提出了flash saver,耦合EXT2/3文件系統(tǒng),結合重復數(shù)據(jù)刪除和增量編碼來減少到SSD的寫流量。Flash saver將重復數(shù)據(jù)刪除用于文件系統(tǒng)數(shù)據(jù)塊,將增量編碼用于文件系統(tǒng)元數(shù)據(jù)塊。實驗結果表明,flash saver可減少高達63%的總寫流量,從而使其具有更長的使用壽命、更大的有效flash空間和更高的可靠性。
【圖文】:
牡刂反傭鈁范ㄕ飧鑾?求是元數(shù)據(jù)塊寫還是普通數(shù)據(jù)塊寫。如果是元數(shù)據(jù)塊寫,計算它的增量變化,并鏈接到相應的列表;如果是普通數(shù)據(jù)塊寫,計算塊的SHA-1哈希值作為指紋,然后檢查它是否已經(jīng)存在。圖1給出了flashsaver的設計框架。圖1中有三個主要部分,即語義grubber、增量編碼和哈希引擎。語義grubber負責從底層SSD提取語義信息構造元數(shù)據(jù)塊集;增量編碼管理元數(shù)據(jù)塊增量;哈希引擎進行指紋計算和維護兩個哈希表。本文在EXT2/3文件系統(tǒng)的代碼中添加、修改了一千余行代碼來實現(xiàn)flashsaver。下面將詳細討論這三個組成部分。圖1Flashsaver設計框架2.1如何識別語義元數(shù)據(jù)塊語義grubber主要是基于SDS的工作,用離線分析方法來提取元數(shù)據(jù)塊。對于某些類型的文件系統(tǒng),可以很容易地找出它的大部分元數(shù)據(jù)塊。例如EXT2/3中有六種類型的元數(shù)據(jù)塊,分別是超級塊、組描述符塊、i節(jié)點表塊、間接塊、數(shù)據(jù)位圖塊和i節(jié)點位圖塊,大部分的元數(shù)據(jù)塊可以通過執(zhí)行簡單的計算很容易地推斷出。提取元數(shù)據(jù)塊后,構造一個按升序排列存儲所有元數(shù)據(jù)塊地址的數(shù)組,每個數(shù)組元素包括塊地址、記錄元數(shù)據(jù)塊最近更新次數(shù)的計數(shù)器、將所有發(fā)生在該塊的增量連接在一起的頭結構和一些其他的輔助信息。但是,語義grubber并不能獲得所有文件系統(tǒng)元數(shù)據(jù)塊,例如間接塊是動態(tài)分配的,并難以以靜態(tài)離線方法跟蹤。但這并不會對flashsaver有太大影響,原因在于:a)只有相對較大的文件才使用間接塊,但小文件在文件總數(shù)中占絕大多數(shù);b)遺漏的元數(shù)據(jù)塊會當做數(shù)據(jù)塊進行哈希計算并進行重復數(shù)據(jù)刪除處理。2.2消除重復數(shù)據(jù)塊與重復數(shù)據(jù)刪除系統(tǒng)一樣,每個數(shù)據(jù)塊用哈希引擎中的SHA-1算法進行指紋登記來測試其唯一性[2,,5]。此外,哈希引擎維護兩個哈希表,第一個哈希表將數(shù)據(jù)塊?
瓿殺嘁牘
本文編號:2580015
【圖文】:
牡刂反傭鈁范ㄕ飧鑾?求是元數(shù)據(jù)塊寫還是普通數(shù)據(jù)塊寫。如果是元數(shù)據(jù)塊寫,計算它的增量變化,并鏈接到相應的列表;如果是普通數(shù)據(jù)塊寫,計算塊的SHA-1哈希值作為指紋,然后檢查它是否已經(jīng)存在。圖1給出了flashsaver的設計框架。圖1中有三個主要部分,即語義grubber、增量編碼和哈希引擎。語義grubber負責從底層SSD提取語義信息構造元數(shù)據(jù)塊集;增量編碼管理元數(shù)據(jù)塊增量;哈希引擎進行指紋計算和維護兩個哈希表。本文在EXT2/3文件系統(tǒng)的代碼中添加、修改了一千余行代碼來實現(xiàn)flashsaver。下面將詳細討論這三個組成部分。圖1Flashsaver設計框架2.1如何識別語義元數(shù)據(jù)塊語義grubber主要是基于SDS的工作,用離線分析方法來提取元數(shù)據(jù)塊。對于某些類型的文件系統(tǒng),可以很容易地找出它的大部分元數(shù)據(jù)塊。例如EXT2/3中有六種類型的元數(shù)據(jù)塊,分別是超級塊、組描述符塊、i節(jié)點表塊、間接塊、數(shù)據(jù)位圖塊和i節(jié)點位圖塊,大部分的元數(shù)據(jù)塊可以通過執(zhí)行簡單的計算很容易地推斷出。提取元數(shù)據(jù)塊后,構造一個按升序排列存儲所有元數(shù)據(jù)塊地址的數(shù)組,每個數(shù)組元素包括塊地址、記錄元數(shù)據(jù)塊最近更新次數(shù)的計數(shù)器、將所有發(fā)生在該塊的增量連接在一起的頭結構和一些其他的輔助信息。但是,語義grubber并不能獲得所有文件系統(tǒng)元數(shù)據(jù)塊,例如間接塊是動態(tài)分配的,并難以以靜態(tài)離線方法跟蹤。但這并不會對flashsaver有太大影響,原因在于:a)只有相對較大的文件才使用間接塊,但小文件在文件總數(shù)中占絕大多數(shù);b)遺漏的元數(shù)據(jù)塊會當做數(shù)據(jù)塊進行哈希計算并進行重復數(shù)據(jù)刪除處理。2.2消除重復數(shù)據(jù)塊與重復數(shù)據(jù)刪除系統(tǒng)一樣,每個數(shù)據(jù)塊用哈希引擎中的SHA-1算法進行指紋登記來測試其唯一性[2,,5]。此外,哈希引擎維護兩個哈希表,第一個哈希表將數(shù)據(jù)塊?
瓿殺嘁牘
本文編號:2580015
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2580015.html
最近更新
教材專著