[發明專利]一種回收臟塊的方法及裝置無效
| 申請號: | 201010599311.6 | 申請日: | 2010-12-21 |
| 公開(公告)號: | CN102033945A | 公開(公告)日: | 2011-04-27 |
| 發明(設計)人: | 馮駿;陸小飛 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 黃志華 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 回收 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,特別是指一種回收臟塊的方法及裝置。
背景技術
第二版閃存日志型文件系統(jffs2)的特點是在寫入新的數據實體時并不修改flash上原有數據實體,而只是將其內核描述符標記為“過時”。系統運行一段時間后若Flash中可用擦除塊小于一定閾值(即空閑閥值),則系統垃圾回收進程(GC)被喚醒用于釋放所有過時的數據。
系統垃圾回收進程(GC)只有在用戶寫盤時才能被激活,當用戶進行寫盤操作時,發現Flash中可用擦除塊已經小于一定的閥值,則激活垃系統垃圾回收進程(GC)進行垃圾回收。系統垃圾回收進程(GC)回收到垃圾后置上“臟”的標記,真正的擦除操作由系統的刷新進程(pdflush)執行,上述過程也可以稱為臟塊回收過程。此后,第二版閃存日志型文件系統(jffs2)才能夠再次使用這些擦除塊。
如圖1所示,具體過程如下:
步驟101~102:接收到用戶發起寫盤操作,調用內核寫接口,等待回收。
步驟103:激活系統垃圾回收進程(GC)回收垃圾塊,并在相應的位置置上“臟”的標記,這里,將置上“臟”的標記的垃圾塊稱為臟塊。
步驟104:系統的刷新進程(pdflush)擦除臟塊。
步驟105:用戶寫數據到Flash中。
步驟106:寫盤操作結束。
Flash經過一段時間的使用后,必然存在很多過時的數據。用戶寫盤操作必然需要包含下面幾個操作:系統垃圾回收進程(GC)回收垃圾塊,系統的刷新進程(pdflush)擦除臟塊,用戶寫數據到Flash。由于寫盤操作過程需要等待垃圾回收,刪除臟塊完成,比起用戶直接進行寫盤操作而言,用戶操作Flash的速率降低了一倍。
發明內容
本發明實施例提供一種回收臟塊的方法及裝置,用以提高寫盤速率。
本發明實施例提供的一種回收臟塊的方法,包括以下步驟:
啟動主動回收任務,利用所述主動回收任務執行臟塊回收操作。
本發明實施例提供的一種基于第二版閃存日志型文件系統回收垃圾塊的裝置包括:
啟動單元,用于啟動主動回收任務;
主動回收控制單元,用于在啟動主動回收任務后,利用所述主動回收任務執行臟塊回收操作。
本發明實施例通過啟動主動回收任務主動執行臟塊回收操作,從而大大提高寫盤速率。
附圖說明
圖1為現有技術中的回收流程示意圖;
圖2為本發明主動回收流程示意圖;
圖3為本發明主動回收流程示意圖(包括判斷過程);
圖4為應用本發明方法的用戶寫FLASH操作觸發GC流程示意圖;
圖5為采用主動回收之后的速度對比示意圖;
圖6為本發明裝置的結構示意圖。
具體實施方式
為了提高寫盤速率,本發明實施例通過啟動主動回收任務,利用主動回收任務主動執行臟塊回收操作。其中,主動回收任務是一個新設定的任務,主動進行臟塊回收,區別于現有技術中利用GC進行臟塊回收時只能在寫盤操作時被動進行。
進一步地,在實際應用中,本發明實施例可以將主動回收任務的優先級設置為低于寫盤操作的優先級,通過在非寫盤操作的情況下通過主動回收任務進行臟塊回收,使進行寫盤操作時無需邊寫邊擦除臟塊,從而提高寫盤速度。
參見圖2所示,本發明實施例的一種回收臟塊的方法具體包括以下步驟:
步驟201:啟動主動回收任務。
這里,可以判斷臟塊的個數大于或等于設定的主動回收任務的回收閥值,若臟塊的個數大于或等于設定的主動回收任務的回收閥值,則可以激活主動回收任務。判斷過程可以定時啟動,也可以在空閑時實時進行。
當然,進一步地,如果臟塊的個數小于所述回收閥值,則主動回收任務進入休眠狀態,在一段時間后,再次進行臟塊的個數的判斷,以確認是否再次激活主動回收任務。
步驟202:利用主動回收任務執行臟塊回收操作。
所述主動回收任務的優先級低于寫盤操作的優先級,這樣可以通過在非寫盤操作的情況下通過主動回收任務進行臟塊回收。
而且,為了更好的實現系統兼容,可以將系統垃圾回收進程(GC)作為回收臟塊的輔助進程,這樣,可以在寫盤時,進一步判斷可用擦除塊的數目是否小于或等于設定的空閑閥值,如果可用擦除塊的數目小于或等于設定的空閑閥值,則激活系統垃圾回收進程進行臟回收。這樣可以在用戶頻繁寫盤并且剩余的可用擦除塊數目低于一定的閥值的情況下進行臟塊回收。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010599311.6/2.html,轉載請聲明來源鉆瓜專利網。





