[發明專利]一種提高固態盤有效容量和壽命的方法和系統有效
| 申請號: | 201310195850.7 | 申請日: | 2013-05-23 |
| 公開(公告)號: | CN103309815A | 公開(公告)日: | 2013-09-18 |
| 發明(設計)人: | 周可;李春花;萬廣平;黃平;王樺 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 提高 固態 有效 容量 壽命 方法 系統 | ||
技術領域
本發明屬于計算機數據存儲領域,更具體地,涉及一種提高固態盤有效容量和壽命的方法和系統。
背景技術
由于閃存技術在過去的幾年里在持續的上升,基于閃存的固態盤(Solid?state?disk,簡稱SSD)的容量已經大大地提高了而且它的價格也大幅度地下降,使得它在性價比方面比起傳統的HDD具有一定的競爭優勢。現在在常見的應用場景中運用SSD在實踐中已經是可行的。
SSD的總體性能要優于機械式磁盤,尤其是隨機訪問性能。HDD磁盤內部的機械部件尋道操作是其性能低下的主要原因,相反,固態盤內部沒有機械部件,沒有尋道操作,其主要開銷來自閃存轉換層(Flash?Translation?Layer,簡稱FTL)邏輯地址到物理地址的翻譯過程,而與訪問數據的實際物理地址無關,因而具有良好的隨機性能。
SSD的并行性能要優于機械式磁盤的并行性能。固態盤內部由多芯片、多通道組成,通道和芯片之間都可以并行地操作以提高系統整體性能。而磁頭不能并行地對磁盤進行訪問,相反,若應用具有高并發度會導致磁頭不停地“抖動(Thrashing)”而降低性能。
SSD具有一些優點的同時,也存在一些自身的限制。生產商并沒有很好地解決SSD所固有的內在限制。相反,隨著每個存儲單元存儲的位數逐漸接近半導體物理學的極限,SSD的壽命期和可靠性問題已經變得原來越突出。SSD的壽命期限和可靠性直接相關于它所經歷的寫的次數,因此改善SSD的壽命期和可靠性的通常的有效方法是減少到達SSD的寫的次數,或者優化到達SSD的寫模式。
發明內容
針對現有技術的以上缺陷或改進需求,本發明提供了一種提高固態盤有效容量和壽命的方法,其目的在于通過分別對數據塊運用重刪技術、對元數據塊運用Delta編碼技術從而有效地減少SSD所最終經歷的寫的次數,最終達到提高SSD有效容量和壽命的技術效果。
為實現上述目的,按照本發明的一個方面,提供了一種提高固態盤有效容量和壽命的方法,包括以下步驟:
(1)在SSD中劃分出一部分空間作為SSD的陰影區域,在該陰影區域中初始化副本哈希表和第二哈希表,其中副本哈希表用于把SSD中數據塊的MD5值映射為該數據塊的信息,包括數據塊的編號、以及數據塊的索引計數器,第二哈希表用于將數據塊的編號映射為副本哈希表的MD5值;
(2)在內存中劃分出多個桶,桶與塊組是一一對應的,且桶的數量和塊組的數量一致。將陰影區域中除了副本哈希表和第二哈希表所占的空間以外的其他空間劃分成多不同的小區域,這些小區域也與塊組一一對應;
(3)解析SSD上文件系統的布局,并根據解析結果生成用于記錄元數據塊和數據塊的地址的查詢樹;
(4)接收來自用戶的請求,根據查詢樹判斷該請求是元數據塊請求還是數據塊請求,若是數據塊請求,則轉步驟(5),若是元數據塊請求,則轉步驟(8);
(5)判斷該數據塊請求是數據塊讀請求還是數據塊寫請求,如果是數據塊讀請求,則轉步驟(6),若是數據塊寫請求,則轉步驟(7);
(6)根據SSD中數據塊的正常讀請求路徑完成該數據塊讀請求對應的數據塊的讀操作,然后返回步驟(4);
(7)判斷該數據塊寫請求對應的數據塊是否存在,如果存在則對該數據塊在副本哈希表中的索引計數器執行加1操作,如果不存在則根據SSD中數據塊的正常寫請求路徑完成該數據塊的寫操作,并在寫操作完成后在副本哈希表中創建該數據塊對應的表項并設置表項中的索引計數器為1,同時在第二哈希表中創建該數據塊對應的鍵值對,然后返回步驟(4);
(8)判斷該元數據塊請求是元數據塊寫請求還是元數據塊讀請求,若是元數據塊寫請求,則轉步驟(9),若是元數據塊讀請求,則轉步驟(11);
(9)將元數據塊寫請求中包含的該元數據塊的內容與SSD中該元數據塊的內容進行Delta編碼,以獲得二者的內容增量Delta,將獲得的內容增量Delta緩存放于內存中該元數據塊所在塊組對應的桶中,周期性地轉存內存桶中的Delta到SSD陰影區中對應的小區域中,并判斷SSD陰影區中存儲Delta桶的剩余空間是否低于預先設定的門限值,如果低于則轉步驟(10),否則轉入步驟(11);
(10)把內存中所有桶中的Delta轉存到對應的SSD陰影區域中的桶中,然后返回步驟(4);
(11)把該陰影區中對應存儲Delta的桶與對應的元數據塊結合產生最新的元數據并更新SSD中的元數據;
(12)把內存中所有桶中的Delta轉存到對應的SSD陰影區域中的桶中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310195850.7/2.html,轉載請聲明來源鉆瓜專利網。





