一種回收垃圾數據的方法及存儲設備的制作方法
【專利摘要】本發明實施例提供一種回收垃圾數據的方法和存儲設備,分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段,優先回收垃圾較多且垃圾產生速率較低的段,從而提高回收垃圾數據的效率。
【專利說明】一種回收垃圾數據的方法及存儲設備
【技術領域】
[0001]本發明涉及計算機領域,尤其涉及到一種回收垃圾數據的方法及存儲設備。
【背景技術】
[0002]一般的存儲設備寫入數據后,會根據邏輯塊地址(Logical Block Address, LBA)找到對應的地址,然后把數據寫進去。如果多個輸入輸出命令(Input Output, 10)之間地址相連,則為順序10,否則為隨機10。
[0003]存儲設備中的硬盤驅動器(Hard Disk Drive, HDD)要讀取一個數據時,磁頭必須先移動到數據所在磁道,磁頭沿徑向移動,移到目標扇區所在磁道的上方,這段時間稱為尋道時間,平均約為10毫秒。找到目標磁道后通過盤片的旋轉,使得要目標扇區轉到磁頭的下方,這段時間稱為旋轉延遲時間,一個7200 (轉/每分鐘)的硬盤,每旋轉一周所需時間為約為8.33毫秒,則平均旋轉延遲時間為約為4.17毫秒。向目標扇區讀取或寫入數據,時間約為零點幾個毫秒。對于順序10,IO之間不需要重新尋道和等待,因此順序IO性能比較高;對于隨機10,每個IO需要重新尋道和等待,尋道和等待時間比數據讀取或寫入時間高非常多,因此隨機IO性能非常差。
[0004]存儲設備中的一般采用冗余磁盤陣列(Redundant Array of Independent Disks,RAID)保護,對于隨機寫10,RAID5和RAID6都有寫懲罰,嚴重影響性能;對應順序寫10,寫懲罰非常小。以8盤RAID5為例說明寫懲罰對寫性能的影響。8盤RAID5由7個數據盤(D)和一個校驗盤(P)組成,如果隨機寫一個小10,則最好情況下,必須把舊的校驗數據讀到內存中;然后用新數據和舊的校驗數據一起重新校驗產生新校驗數據后,再一起寫入磁盤中。每個主機IO至少觸發3次磁盤IO操作,寫放大3倍,整個系統性能下降2/3。順序寫時,在收到7個主機IO后,一起校驗產生新的校驗數據,然后7個IO連同一個新的校驗數據一起下盤。每7個主機IO觸發8次磁盤操作,寫放大8/7倍性能下降非常少。
[0005]重定向寫為完全順序寫,既可以解決HDD隨機寫性能差問題,又可以解決RAID寫懲罰問題,因此,在處理寫IO的情況下,引入重定向寫功能。把存儲設備的物理空間劃分為有效數據空間和冗余空間。有效數據空間存儲已經寫入的數據。在寫IO的邏輯地址與有效數據空間物理地址之間建立一層映射,當邏輯地址上來了隨機的寫IO后,不覆蓋寫有效數據空間原始物理位置,而是從冗余空間中分配出一段空間,把多個隨機寫IO順序寫入連續的冗余空間,然后用映射表記錄邏輯地址到新物理地址映射,被寫過的舊的有效數據物理空間變成垃圾。這樣可以把隨機寫轉換成滿條帶順序寫,提高存儲設備寫性能。
[0006]重定向寫會在舊的物理空間產生垃圾,當冗余空間低于一定程度后,必須啟動垃圾回收,否則冗余空間用完后,新寫入IO會由于分配不到冗余空間而無法處理。為了方便垃圾回收,一般把存儲設備物理空間按一定大小先劃分為多個段,在RAID場景下段是指整個條帶,在固態存儲硬盤(Solid State Disk, SSD)場景下段是指可以擦除的塊,其他場景下段是指一段連續的空間。當系統運行一段時間后,每個段內都有可能產生垃圾,垃圾數與段內塊數的比值稱為段內垃圾比例。垃圾回收時,一般先找到垃圾比例較高的段,把該段內剩余有效數據搬移到冗余空間中,將該段有效數據搬移后,就可以將該段回收,把該段變成冗余空間,用于重新分配。
[0007]在SSD中,由最小寫入單位頁組成組成塊,其中,SSD中,塊為進行數據回收的段。在SSD中寫入數據之前需要先擦除,擦除的單位為塊,因此SSD內部也采用重定向寫,也存在垃圾回收,操作過程跟前面提到的重定向寫完全一樣,只是在回收前多了一步擦除操作。
[0008]通常的,基于重定向寫的存儲設備的垃圾回收,一般采用垃圾比例作為回收條件,當冗余空間不足后,按垃圾比例高低優先級對垃圾比例較高的段進行回收。垃圾回收過程需要搬移有效數據,搬移需要把有效數據讀出來,再把有效數據寫入新的地址,這一過程產生讀IO和寫10,屬于重定向寫功能的一部分,因此,搬移過程中需要產生新的10,新的IO會占用存儲設備IO資源和帶寬。在一般的存儲設備中,IO資源和帶寬是有限的,段內的垃圾比例越低,段內需要搬移的有效數據量越大,占用存儲設備的IO資源和帶寬能力就越多,最終對存儲設備性能的影響就越大。現有技術中,基本上每個段在垃圾比例達到預定值后就立馬回收,回收垃圾數據效率低。
【發明內容】
[0009]本發明提供了一種回收垃圾數據的方法,旨在解決如何提高垃圾回收效率的問題。
[0010]第一方面,一種回收垃圾數據的方法,所述方法包括:
[0011]分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;所述第一數據是垃圾數據或者有效數據,所述第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同;
[0012]根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;
[0013]根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段;
[0014]其中,所述有效數據是指段內與邏輯地址存在映射關系的物理地址中存儲的數據;所述垃圾數據是指段內與邏輯地址不存在映射關系的物理地址中存儲的數據。
[0015]結合第一方面,在第一方面的第一種可能的實現方式中,
[0016]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0017]根據所述每個段內所述第一數據的數據量和第一權重計算所述第一數據的數據量的預測值;
[0018]根據所述每個段內所述第一數據的變化量和第二權重計算所述第一數據的變化量的預測值;
[0019]根據所述第一數據的數據量的預測值和所述第一數據的變化量的預測值計算所述第一數據的預測值。
[0020]結合第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,
[0021]所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0022]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0023]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0024]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0025]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0026]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述垃圾數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0027]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0028]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0029]結合第一方面的第一種可能的實現方式,在第一方面的第三種可能的實現方式中,
[0030]所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0031]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0032]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0033]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0034]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0035]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述有效數據的變化量的預測值相加,得到所述有效數據的預測值;
[0036]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0037]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0038]結合第一方面的第一種可能的實現方式,在第一方面的第四種可能的實現方式中,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0039]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0040]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0041]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0042]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0043]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述有效數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0044]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0045]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0046]結合第一方面的第一種可能的實現方式,在第一方面的第五種可能的實現方式中,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0047]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0048]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0049]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0050]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0051]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述垃圾數據的變化量的預測值相加,得到所述有效數據的預測值;
[0052]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0053]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0054]第二方面,一種回收垃圾數據的存儲設備,所述設備包括:
[0055]記錄單元,用于分別記錄每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;所述第一數據是垃圾數據或者所述有效數據,所述第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同;
[0056]計算單元,用于根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;
[0057]確定單元,用于根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段;
[0058]其中,所述有效數據是指段內與邏輯地址存在映射關系的物理地址中存儲的數據;所述垃圾數據是指段內與邏輯地址不存在映射關系的物理地址中存儲的數據。
[0059]結合第二方面,在第二方面的第一種可能的實現方式中,所述計算單元,具體用于:
[0060]根據所述每個段內所述第一數據的數據量和第一權重計算所述第一數據的數據量的預測值;
[0061]根據所述每個段內所述第一數據的變化量和第二權重計算所述第一數據的變化量的預測值;
[0062]根據所述第一數據的數據量的預測值和所述第一數據的變化量的預測值計算所述第一數據的預測值結合第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,所述記錄單元,具體用于:
[0063]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;所述計算單元,具體用于:
[0064]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0065]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0066]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述垃圾數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0067]所述確定單元,具體用于:
[0068]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0069]結合第二方面的第一種可能的實現方式,在第二方面的第三種可能的實現方式中,所述記錄單元,具體用于:
[0070]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0071]所述計算單元,具體用于:
[0072]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0073]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0074]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述有效數據的變化量的預測值相加,得到所述有效數據的預測值;
[0075]所述確定單元,具體用于:
[0076]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0077]結合第二方面的第一種可能的實現方式,在第二方面的第四種可能的實現方式中,所述記錄單元,具體用于:
[0078]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0079]所述計算單元,具體用于:
[0080]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0081]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0082]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述有效數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0083]所述確定單元,具體用于:
[0084]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0085]結合第二方面的第一種可能的實現方式,在第二方面的第五種可能的實現方式中,所述記錄單元,具體用于:[0086]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0087]所述計算單元,具體用于:
[0088]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0089]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0090]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述垃圾數據的變化量的預測值相加,得到所述有效數據的預測值;
[0091]所述確定單元,具體用于:
[0092]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0093]本發明實施例提供一種回收垃圾數據的方法和存儲設備,分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;第一數據是垃圾數據或者有效數據,第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同;根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段,優先回收垃圾較多且垃圾產生速率較低的段,從而提供回收垃圾數據的效率。
【專利附圖】
【附圖說明】
[0094]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0095]圖1是本發明實施例提供的一種回收垃圾數據的方法流程圖;
[0096]圖2是本發明實施例一提供的一種回收垃圾數據的方法示意圖;
[0097]圖3是本發明實施例二提供的一種回收垃圾數據的方法示意圖;
[0098]圖4是本發明實施例提供的一種回收垃圾數據的設備結構圖;
[0099]圖5是本發明實施例提供的一種存儲設備的結構圖。
【具體實施方式】
[0100]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0101]參考圖1,圖1是本發明實施例提供的一種回收垃圾數據的方法流程圖。如圖1所示,所述方法包括以下步驟:
[0102]步驟101,分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;所述第一數據是垃圾數據或者有效數據,所述第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和有效數據的減少量的數值相同。
[0103]其中,所述有效數據是指段內與邏輯地址存在映射關系的物理地址中存儲的數據;所述垃圾數據是指段內與邏輯地址不存在映射關系的物理地址中存儲的數據。
[0104]存儲設備中一般把物理空間按一定大小先劃分為多個段,在存儲設備為RAID場景下所述段是指整個條帶,在存儲設備為SSD場景下所述段是指可以擦除的塊,其他場景下所述段是指一段連續的空間。
[0105]具體的,在使用重定向寫的存儲設備中數據地址有兩個,分別是邏輯地址和物理地址。邏輯地址到物理地址之間有一個映射表,用于記錄邏輯地址與物理地址的映射。使用重定向寫的存儲設備接收到寫IO后,會攜帶邏輯地址。向邏輯地址第一次寫入數據時,會從存儲設備的物理空間分配一個新的物理地址,把數據寫入新的物理地址中,并在映射表中建立邏輯地址到新的物理地址的映射。當向相同邏輯地址第二次寫入數據時,會從物理空間分配另一個新的物理地址,把數據寫入新的物理地址中,并在映射表中建立邏輯地址與新的物理地址的映射。所述另一新的物理地址中存儲的數據為有效數據,原物理地址的數據變成垃圾數據。回收段時,垃圾數據不需要搬移,只需要搬移有效數據。
[0106]步驟102,根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;
[0107]可選地,所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0108]根據所述每個段內所述第一數據的數據量和第一權重計算所述第一數據的數據量的預測值;
[0109]根據所述每個段內所述第一數據的變化量和第二權重計算所述第一數據的變化量的預測值;
[0110]根據所述第一數據的數據量的預測值和所述第一數據的變化量的預測值計算第一數據的預測值。
[0111]其中,假設每個段內當前時間的第一數據為垃圾數據,第一權重為1/2,所述每個段內第一數據的變化量為垃圾數據的變化量,第二權重為1/3。根據垃圾數據越多越優先回收的原則,垃圾數據量乘以第一權重之積越大,表示段內垃圾數據越多,有效數據越少,回收時搬移有效數據的量就會越小,因此,越優先回收;垃圾數據的變化量乘以第二權重之積越大,表示段內垃圾數據增加量越大,推遲回收使其進一步產生更多的垃圾,因此,越晚回收。綜合考慮這兩個因素,在表達式上可以為:
[0112]垃圾數據量X第一權重一垃圾數據的變化量X第二權重。
[0113]假設每段內當前時間的第一數據為有效數據,第一權重為1/2,第一數據的變化量為有效數據的變化量,第二權重為1/3,則根據有效數據越少越優先回收的原則,有效數據量乘以第一權重之積越小,表示有效數據越少,回收時搬移有效數據的量就會越小,因此,越優先回收;有效數據的變化量乘以第二權重之積越小,表示垃圾數據增加量越小,則提早回收。綜合考慮這兩個因素,在表達式上可以為:
[0114]有效數據量X第一權重一有效數據的變化量X第二權重。
[0115]步驟103,根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段。[0116]可選地,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0117]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0118]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0119]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0120]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0121]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述垃圾數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0122]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0123]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0124]具體的,圖2是本發明實施例一提供的一種回收垃圾數據的方法示意圖。如圖2所示,假設存儲設備有三個段需要回收,段0在時刻I時總的存儲容量是100MB,有效數據是80MB,垃圾數據是20MB,段I在時刻I時總的存儲容量是100MB,有效數據是60MB,垃圾數據是40MB,段2在時刻I時總的存儲容量是100MB,有效數據是40MB,垃圾數據是60MB ;段0在時刻2時總的存儲容量是100MB,有效數據是40MB,垃圾數據是60MB,段I在時刻2時總的存儲容量是100MB,有效數據是40MB,垃圾數據是60MB,段2在時刻2時總的存儲容量是100MB,有效數據是40MB,垃圾數據是60MB。
[0125]假設預先設置的第一權重為1,第二權重為1/2,則根據每個段時刻I到時刻2的垃圾數據的增加量,計算每個段垃圾數據的預測值。段0在時刻I到時刻2的垃圾數據增加量為40MB,將40MB乘以權重1/2得到段0的垃圾數據的預測值為20MB,段I在時刻I到時刻2的垃圾數據增加量為20MB,將20MB乘以權重1/2得到段0的垃圾數據的預測值為10MB,段2在時刻I到時刻2的垃圾數據增加量為0,段2的垃圾數據的預測值為O。
[0126]根據上述的數據,段0垃圾數據的預測值可通過垃圾數據量X第一權重一垃圾數據的變化量X第二權重計算得到,即60MBX 1- 40MBX 1/2=40MB ;
[0127]段I垃圾數據的預測值可通過垃圾數據量X第一權重一垃圾數據的變化量X第二權重計算得到,即 60MBX 1- 20MBX 1/2=50MB ;
[0128]段2垃圾數據的預測值可通過垃圾數據量X第一權重一垃圾數據的變化量X第二權重計算得到,即60MBX 1- OMBX 1=60MB。
[0129]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段的原則,優先回收段2內的垃圾數據,其次回收段I內的垃圾數據,最后回收段0內的垃圾數據。
[0130]可選地,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0131]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0132]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0133]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0134]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0135]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述有效數據的變化量的預測值相加,得到所述有效數據的預測值;
[0136]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0137]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0138]具體的,圖3是本發明實施例二提供的一種回收垃圾數據的方法示意圖。如圖3所示,假設存儲設備有三個段需要回收,段O在時刻I時總的存儲容量是100MB,有效數據是80MB,垃圾數據是20MB,段I在時刻I時總的存儲容量是100MB,有效數據是60MB,垃圾數據是40MB,段2在時刻I時總的存儲容量是100MB,有效數據是40MB,垃圾數據是60MB ;段O在時刻2時總的存儲容量是100MB,有效數據是40MB,存儲數據是60MB,段I在時刻2時總的存儲容量是100MB,有效數據是40MB,垃圾數據是60MB,段2在時刻2時總的存儲容量是100MB,有效數據是40MB,垃圾數據是60MB。
[0139]假設第一權重為1,第二權重為1/2,則根據每段時刻I到時刻2的有效數據的減少量,計算每段有效數據的預測值。段O在時刻I到時刻2的有效數據減少量為40MB,將40MB乘以權重1/2得到段O的有效數據的預測值為20MB,段I在時刻I到時刻2的有效數據的減少量為20MB,將20MB乘以權重1/2得到段O的有效數據的預測值為10MB,段2在時刻I到時刻2的有效數據的減少量為0,段2的有效數據的預測值為O。
[0140]根據上述的數據,段O有效數據的預測值可通過有效數據量X第一權重+有效數據的變化量X第二權重計算得到,即40MBX 1+40MBX 1/2=60MB ;
[0141]段I有效數據的預測值可通過有效數據量X第一權重+有效數據的變化量X第二權重計算得到,即 40MBX 1+20MBX 1/2=50MB ;
[0142]段2有效數據的預測值可通過有效數據量X第一權重+有效數據的變化量X第二權重計算得到,即40MBX 1+0MBX 1=40MB。
[0143]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段,優先回收段2內的垃圾數據,其次回收段I內的垃圾數據,最后回收段O內的垃圾數據。
[0144]可選地,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0145]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0146]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0147]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0148]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;[0149]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述有效數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0150]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0151]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0152]可選地,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0153]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0154]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0155]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0156]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0157]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述垃圾數據的變化量的預測值相加,得到所述有效數據的預測值;
[0158]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0159]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0160]本發明實施例提供一種回收垃圾數據的方法,分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;第一數據是垃圾數據或者有效數據,第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同;根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段,優先回收垃圾較多且垃圾產生速率較低的段,從而提高回收垃圾數據的效率。
[0161]參考圖4,圖4是本發明實施例提供的一種回收垃圾數據的存儲設備的結構圖。所述存儲設備包括:
[0162]記錄單元401,用于
[0163]分別記錄每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;所述第一數據是垃圾數據或者有效數據,所述第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和有效數據的減少量的數值相同;
[0164]其中,所述有效數據是指段內與邏輯地址存在映射關系的物理地址中存儲的數據;所述垃圾數據是指段內與邏輯地址不存在映射關系的物理地址中存儲的數據。
[0165]具體的,在使用重定向寫的存儲設備中數據地址有兩個,分別是邏輯地址和物理地址。邏輯地址到物理地址之間有一個映射表,用于記錄邏輯地址與物理地址的映射。使用重定向寫的存儲設備接收到寫IO后,會攜帶邏輯地址。向邏輯地址第一次寫入數據時,會從存儲設備的物理空間分配一個新的物理地址,把數據寫入新的物理地址中,并在映射表中建立邏輯地址到新的物理地址的映射。當向相同邏輯地址第二次寫入數據時,會從物理空間分配另一個新的物理地址,把數據寫入新的物理地址中,并在映射表中建立邏輯地址與新的物理地址的映射。所述另一新的物理地址中存儲的數據為有效數據,原物理地址的數據變成垃圾數據。回收段時,垃圾數據不需要搬移,只需要搬移有效數據。
[0166]計算單元402,用于根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;
[0167]可選地,所述計算單元402,具體用于:
[0168]根據所述每個段內所述第一數據的數據量和第一權重計算所述第一數據的數據量的預測值;
[0169]根據所述每個段內所述第一數據的變化量和第二權重計算所述第一數據的變化量的預測值;
[0170]根據所述第一數據的數據量的預測值和所述第一數據的變化量的預測值計算所述第一數據的預測值。
[0171]其中,假設每個段內當前時間的第一數據為垃圾數據,第一權重為1/2,所述每個段內第一數據的變化量為垃圾數據的變化量,第二權重為1/3。根據垃圾數據越多越優先回收的原則,垃圾數據量乘以第一權重之積越大,表示段內垃圾數據越多,有效數據越少,回收時搬移有效數據的量就會越小,因此,越優先回收;垃圾數據的變化量乘以第二權重之積越大,表示段內垃圾數據增加量越大,推遲回收使其進一步產生更多的垃圾,因此,越晚回收。綜合考慮這兩個因素,在表達式上可以為:
[0172]垃圾數據量X第一權重一垃圾數據的變化量X第二權重。
[0173]假設每段內當前時間的第一數據為有效數據,第一權重為1/2,第一數據的變化量為有效數據的變化量,第二權重為1/3,則根據有效數據越少越優先回收的原則,有效數據量乘以第一權重之積越小,表示有效數據越少,回收時搬移有效數據的量就會越小,因此,越優先回收;有效數據的變化量乘以第二權重之積越小,表示垃圾數據增加量越小,則提早回收。綜合考慮這兩個因素,在表達式上可以為:
[0174]有效數據量X第一權重一有效數據的變化量X第二權重。
[0175]確定單元403,用于根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段。
[0176]可選地,所述記錄單元401,具體用于:
[0177]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0178]所述計算單元402,具體用于:
[0179]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0180]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0181]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述垃圾數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0182]所述確定單元403,具體用于:
[0183]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。[0184]本發明存儲設備實施例的一種【具體實施方式】可以參見上述圖2的描述。
[0185]可選地,所述記錄單元401,具體用于:
[0186]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0187]所述計算單元402,具體用于:
[0188]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0189]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0190]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述有效數據的變化量的預測值相加,得到所述有效數據的預測值;
[0191]所述確定單元403,具體用于:
[0192]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0193]本發明存儲設備實施例的一種【具體實施方式】可以參見上述圖3的描述。
[0194]可選地,所述記錄單元401,具體用于:
[0195]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0196]所述計算單元402,具體用于:
[0197]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0198]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0199]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述有效數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0200]所述確定單元403,具體用于:
[0201 ] 按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0202]可選地,所述記錄單元401,具體用于:
[0203]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0204]所述計算單元402,具體用于:
[0205]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0206]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0207]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述垃圾數據的變化量的預測值相加,得到所述有效數據的預測值;
[0208]所述確定單元403,具體用于:
[0209]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。本發明實施例提供一種回收垃圾數據的存儲設備,所述存儲設備分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;第一數據是垃圾數據或者有效數據,第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同;根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段,優先回收垃圾較多且垃圾產生速率較低的段,從而提高回收垃圾數據的效率。
[0210]圖5是本發明實施例提供的一種存儲設備的裝置結構圖。參考圖5,圖5是本發明實施例提供的一種存儲設備500,本發明具體實施例并不對所述存儲設備的具體實現做限定。所述存儲設備500包括:
[0211]處理器(processor)501,通信接口(Communications Interface) 502,存儲器(memory) 503,總線 504。
[0212]處理器501,通信接口 502,存儲器503通過總線504完成相互間的通信。
[0213]通信接口 502,用于與其他設備進行通信;
[0214]處理器501,用于執行程序。
[0215]具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。
[0216]處理器501可能是一個中央處理器(central processing unit, CPU),或者是特定集成電路ASIC (Application Specific Integrated Circuit),或者是被配置成實施本發明實施例的一個或多個集成電路。
[0217]存儲器503,用于存儲程序。存儲器503可以是易失性存儲器(volatile memory),例如隨機存取存儲器(random-access memory, RAM),或者非易失性存儲器(non-volatilememory),例如只讀存儲器(read-only memory, ROM),快閃存儲器(flash memory),硬盤(hard disk drive, HDD)或固態硬盤(solid-state drive, SSD)。處理器 501 根據存儲器503存儲的程序指令,執行以下方法:
[0218]分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;所述第一數據是垃圾數據或者有效數據,所述第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同;
[0219]根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;
[0220]根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段;
[0221]其中,所述有效數據是指段內與邏輯地址存在映射關系的物理地址中存儲的數據;所述垃圾數據是指段內與邏輯地址不存在映射關系的物理地址中存儲的數據。
[0222]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0223]根據所述每個段內所述第一數據的數據量和第一權重計算所述第一數據的數據量的預測值;
[0224]根據所述每個段內所述第一數據的變化量和第二權重計算所述第一數據的變化量的預測值;
[0225]根據所述第一數據的數據量的預測值和所述第一數據的變化量的預測值計算所述第一數據的預測值。
[0226]所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0227]分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;
[0228]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0229]根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值;
[0230]根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值;
[0231]將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述垃圾數據的變化量的預測值相減,得到所述垃圾數據的預測值;
[0232]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0233]按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
[0234]所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括:
[0235]分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量;
[0236]所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括:
[0237]根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值;
[0238]根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值;
[0239]將所述每個段內所述當前時間的有效數據的數據量的預測值和所述有效數據的變化量的預測值相加,得到所述有效數據的預測值;
[0240]所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括:
[0241]按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
[0242]本發明實施例提供的回收垃圾數據的存儲設備,具體可以參考上述方法實施例和存儲設備實施例的描述,在此不再贅述。
[0243]本發明實施例提供一種回收垃圾數據的存儲設備,分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;第一數據是垃圾數據或者有效數據,第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同;根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值;根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段,優先回收垃圾較多且垃圾產生速率較低的段,從而提高回收垃圾數據的效率。
[0244]以上所述,僅為本發明較佳的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.一種回收垃圾數據的方法,其特征在于,所述方法包括: 分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;所述第一數據是垃圾數據或者有效數據,所述第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同; 根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值; 根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段; 其中,所述有效數據是指段內與邏輯地址存在映射關系的物理地址中存儲的數據;所述垃圾數據是指段內與邏輯地址不存在映射關系的物理地址中存儲的數據。
2.根據權利要求1所述的方法,其特征在于,所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括: 根據所述每個段內所述第一數據的數據量和第一權重計算所述第一數據的數據量的預測值; 根據所述每個段內所述第一數據的變化量和第二權重計算所述第一數據的變化量的預測值; 根據所述第一數據的數據量的預測值和所述第一數據的變化量的預測值計算所述第一數據的預測值。
3.根據權利要求2所述的方法,其特征在于,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括: 分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量; 所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括: 根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值; 根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值; 將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述垃圾數據的變化量的預測值相減,得到所述垃圾數據的預測值; 所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括: 按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
4.根據權利要求2所述的方法,其特征在于,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括: 分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量; 所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括: 根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值; 根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值; 將所述每個段內所述當前時間的有效數據的數據量的預測值和所述有效數據的變化量的預測值相加,得到所述有效數據的預測值; 所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括: 按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
5.根據權利要求2所述的方法,其特征在于,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括: 分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量; 所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括: 根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值; 根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值; 將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述有效數據的變化量的預測值相減,得到所述垃圾數據的預測值; 所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括: 按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
6.根據權利要求2所述的方法,其特征在于,所述分別記錄存儲設備每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量,包括: 分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量; 所述根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值,包括: 根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值; 根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值; 將所述每個段內所述當前時間的有效數據的數據量的預測值和所述垃圾數據的變化量的預測值相加,得到所述有效數據的預測值; 所述根據所述每段第一數據的預測值確定需要回收垃圾數據的段,包括: 按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
7.一種回收垃圾數據的存儲設備,其特征在于,所述存儲設備包括: 記錄單元,用于分別記錄每個段內當前時間的第一數據的數據量和在所述當前時間之前預先設置的時間內所述第一數據的變化量;所述第一數據是垃圾數據或者所述有效數據,所述第一數據的變化量是所述垃圾數據的增加量或者所述有效數據的減少量,所述垃圾數據的增加量的數值和所述有效數據的減少量的數值相同; 計算單元,用于根據所述每個段內所述第一數據的數據量和所述第一數據的變化量計算所述第一數據的預測值; 確定單元,用于根據每個段內所述第一數據的預測值確定需要回收垃圾數據的段;其中,所述有效數據是指段內與邏輯地址存在映射關系的物理地址中存儲的數據;所述垃圾數據是指段內與邏輯地址不存在映射關系的物理地址中存儲的數據。
8.根據權利要求7所述的存儲設備,其特征在于,所述計算單元,具體用于: 根據所述每個段內所述第一數據的數據量和第一權重計算所述第一數據的數據量的預測值; 根據所述每個段內所述第一數據的變化量和第二權重計算所述第一數據的變化量的預測值; 根據所述第一數據的數據量的預測值和所述第一數據的變化量的預測值計算所述第一數據的預測值。
9.根據權利要求8所述的存儲設備,其特征在于,所述記錄單元,具體用于: 分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量;` 所述計算單元,具體用于: 根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值; 根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值; 將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述垃圾數據的變化量的預測值相減,得到所述垃圾數據的預測值; 所述確定單元,具體用于: 按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
10.根據權利要求8所述的存儲設備,其特征在于,所述記錄單元,具體用于: 分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量; 所述計算單元,具體用于: 根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值; 根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值; 將所述每個段內所述當前時間的有效數據的數據量的預測值和所述有效數據的變化量的預測值相加,得到所述有效數據的預測值;所述確定單元,具體用于: 按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
11.根據權利要求8所述的存儲設備,其特征在于,所述記錄單元,具體用于: 分別記錄所述每個段內當前時間的垃圾數據的數據量和在所述當前時間之前預先設置的時間內有效數據的減少量; 所述計算單元,具體用于: 根據所述每個段內所述當前時間的垃圾數據的數據量和所述第一權重計算所述當前時間的垃圾數據的數據量的預測值; 根據所述每個段內所述有效數據的減少量和所述第二權重計算所述有效數據的變化量的預測值; 將所述每個段內所述當前時間的垃圾數據的數據量的預測值和所述有效數據的變化量的預測值相減,得到所述垃圾數據的預測值; 所述確定單元,具體用于: 按照垃圾數據的預測值從大到小的順序確定需要回收垃圾數據的段。
12.根據權利要求8所述的存儲設備,其特征在于,所述記錄單元,具體用于: 分別記錄所述每個段內當前時間的有效數據的數據量和在所述當前時間之前預先設置的時間內垃圾數據的增加量; 所述計算單元,具體用于: 根據所述每個段內所述當前時間的有效數據的數據量和所述第一權重計算所述當前時間的有效數據的數據量的預測值; 根據所述每個段內所述垃圾數據的增加量和所述第二權重計算所述垃圾數據的變化量的預測值; 將所述每個段內所述當前時間的有效數據的數據量的預測值和所述垃圾數據的變化量的預測值相加,得到所述有效數據的預測值; 所述確定單元,具體用于: 按照有效數據的預測值從小到大的順序確定需要回收垃圾數據的段。
【文檔編號】G06F3/06GK103577338SQ201310573861
【公開日】2014年2月12日 申請日期:2013年11月14日 優先權日:2013年11月14日
【發明者】林春恭 申請人:華為技術有限公司