一種數據管理方法及裝置的制造方法
【技術領域】
[0001]本發明涉及存儲器技術領域,具體涉及一種數據管理方法及裝置。
【背景技術】
[0002]固態硬盤(SSD,Solid State Drives)上存放時間很久的文件讀取速度將急劇下降,其主要原因是長期不訪問的數據保存單元不變,數據保存單元的充電電荷會隨時間衰減,導致SSD在獲取正確數據時不斷地讀取-重試,使讀取時間變長,進而導致了整體讀取性能的下降。但是,這種情況只會發生在其內部數據保存單元無數據變化的情況下,如果這個單元的數據隨后迀移了或者被覆寫了,就不會有性能下降的問題
[0003]現有的解決方法一般是通過定時(比如每個月)把未寫入的塊執行一次刷新(即讀取出來,重寫一遍);然而,這種解決方法并沒有從根本上解決整體讀取性能下降的問題,由于強制的刷新數據將涉及所有數據的重寫,所以當數據量較大時,會比較費時間。
【發明內容】
[0004]有鑒于此,本發明期望提供一種數據管理方法及裝置,能減少刷新的數量,并保證讀取速度,提高用戶的使用體驗。
[0005]為達到上述目的,本發明的技術方案是這樣實現的:
[0006]本發明提供了一種數據管理方法,所述方法包括:
[0007]檢測存儲器中N個存儲單元的狀態參數,其中,所述狀態參數包括與所述存儲器使用程度相關的第一狀態參數,以及與所述N個存儲單元數據存儲時間相關的第二狀態參數;
[0008]基于狀態參數確定所述N個存儲單元的損耗值;
[0009]基于所述損耗值對所述存儲單元中的數據進行處理。
[0010]上述方案中,優選地,所述第一狀態參數用于表征當前存儲單元的擦除次數和/或所存儲的數據的冷熱程度;所述第二狀態參數用于表示距離上一次寫入當前存儲單元數據的時間間隔。
[0011 ] 上述方案中,優選地,所述基于狀態參數確定所述N個存儲單元的損耗值,包括:
[0012]獲取各個存儲單元的第一狀態參數所對應的第一權重參數;
[0013]獲取各個存儲單元的第二狀態參數所對應的第二權重參數;
[0014]根據第一狀態參數、第一權重參數、第二狀態參數、第二權重參數確定每個存儲單元的損耗值;
[0015]其中,損耗值的計算公式為:
[0016]損耗值=第一權重參數*第一狀態參數+第二權重參數*第二狀態參數。
[0017]上述方案中,優選地,所述基于所述損耗值對所述存儲單元中的數據進行處理,包括:
[0018]滿足第一預設條件時,在數據存儲單元間進行數據交換操作;或者,
[0019]滿足第二預設條件時,將數據存儲單元中的數據搬移至空閑存儲單元中。
[0020]上述方案中,優選地,所述滿足第一預設條件時,在數據存儲單元間進行數據交換操作,包括:
[0021]當數據存儲單元中的最大損耗值與數據存儲單元中的最小損耗值之間的差值大于等于第一閾值時,將損耗值最大的數據存儲單元中的數據與損耗值最小的數據存儲單元中的數據進行交換。
[0022]上述方案中,優選地,所述滿足第二預設條件時,將數據存儲單元中的數據搬移至空閑存儲單元中,包括:
[0023]當數據存儲單元中的最大損耗值與空閑存儲單元中的最小損耗值之間的差值大于等于第二閾值,且數據存儲單元中的最小損耗值與空閑存儲單元中的最大損耗值之間的差值大于等于第三閾值時,將損耗值最大的數據存儲單元中的數據搬移至損耗值最小的空閑存儲單元中。
[0024]上述方案中,優選地,所述方法還包括:
[0025]若在預定時間閾值范圍內未對第一數據存儲單元中的數據進行均衡操作,則將所述第一數據存儲單元的數據寫入當前損耗值最小的空閑存儲單元或與當前損耗值最小的數據存儲單元進行數據交換;其中,所述第一數據存儲單元是指在預定時間閾值范圍內,損耗值均小于數據存儲單元中的最大損耗值但平均損耗值大于第四閾值的數據存儲單元。
[0026]本發明還提供了一種數據管理裝置,所述裝置包括:
[0027]傳感器,用于檢測存儲器中N個存儲單元的狀態參數,其中,所述狀態參數包括與所述存儲器使用程度相關的第一狀態參數,以及與所述N個存儲單元數據存儲時間相關的第二狀態參數;
[0028]第一處理器,用于基于狀態參數確定所述N個存儲單元的損耗值;
[0029]第二處理器,用于基于所述損耗值對所述存儲單元中的數據進行處理。
[0030]上述方案中,優選地,所述第一狀態參數用于表示當前存儲單元的擦除次數和/或所存儲的數據的冷熱程度;所述第二狀態參數用于表示距離上一次寫入當前存儲單元數據的時間間隔。
[0031]上述方案中,優選地,所述第一處理器,還用于:
[0032]獲取各個存儲單元的第一狀態參數所對應的第一權重參數;
[0033]獲取各個存儲單元的第二狀態參數所對應的第二權重參數;
[0034]根據第一狀態參數、第一權重參數、第二狀態參數、第二權重參數確定每個存儲單元的損耗值;
[0035]其中,損耗值的計算公式為:
[0036]損耗值=第一權重參數*第一狀態參數+第二權重參數*第二狀態參數。
[0037]上述方案中,優選地,所述第二處理器,還用于:
[0038]滿足第一預設條件時,在數據存儲單元間進行數據交換操作;或者,
[0039]滿足第二預設條件時,將數據存儲單元中的數據搬移至空閑存儲單元中。
[0040]上述方案中,優選地,所述第二處理器,還用于:
[0041]當數據存儲單元中的最大損耗值與數據存儲單元中的最小損耗值之間的差值大于等于第一閾值時,將損耗值最大的數據存儲單元中的數據與損耗值最小的數據存儲單元中的數據進行交換。
[0042]上述方案中,優選地,所述第二處理器,還用于:
[0043]當數據存儲單元中的最大損耗值與空閑存儲單元中的最小損耗值之間的差值大于等于第二閾值,且數據存儲單元中的最小損耗值與空閑存儲單元中的最大損耗值之間的差值大于等于第三閾值時,將損耗值最大的數據存儲單元中的數據搬移至損耗值最小的空閑存儲單元中。
[0044]上述方案中,優選地,所述裝置還包括:
[0045]第三處理器,用于若在預定時間閾值范圍內未對第一數據存儲單元中的數據進行均衡操作,則將所述第一數據存儲單元的數據寫入當前損耗值最小的空閑存儲單元或與當前損耗值最小的數據存儲單元進行數據交換;其中,所述第一數據存儲單元是指在預定時間閾值范圍內,損耗值均小于數據存儲單元中的最大損耗值但平均損耗值大于第四閾值的數據存儲單元。
[0046]本發明實施例提供的數據管理方法及裝置,檢測存儲器中N個存儲單元的狀態參數,其中,所述狀態參數包括與所述存儲器使用程度相關的第一狀態參數,以及與所述N個存儲單元數據存儲時間相關的第二狀態參數;基于狀態參數確定所述N個存儲單元的損耗值;基于所述損耗值對所述存儲單元中的數據進行處理;如此,能減少刷新的數量,并保證讀取速度,提高用戶的使用體驗。
【附圖說明】
[0047]圖1為本發明實施例數據管理方法的實現流程示意圖一;
[0048]圖2為本發明實施例數據管理方法的實現流程示意圖二 ;
[0049]圖3為本發明實施例數據管理裝置的結構示意圖一;
[0050]圖4為本發明實施例數據管理裝置的結構示意圖二;
[0051]圖5為本發明實施例數據管理裝置的結構示意圖三。
【具體實施方式】
[0052]為了能夠更加詳盡地了解本發明的特點與技術內容,下面結合附圖對本發明的實現進行詳細闡述,所附附圖僅供參考說明之用,并非用來限定本發明。
[0053]下面結合附圖和具體實施例對本發明的技術方案進一步詳細闡述。
[0054]實施例一
[0055]圖1為本發明實施例數據管理方法的實現流程示意圖一,應用于SSD中,在本發明一個優選實施例中,所述數據管理方法主要包括以下步驟:
[0056]步驟101:檢測存儲器中N個存儲單元的狀態參數,其中,所述狀態參數包括與所述存儲器使用程度相關的第一狀態參數,以及與所述N個存儲單元數據存儲時間相關的第二狀態參數。
[0057]優選地,N為正整數。
[0058]優選地,所述第一狀態參數用于表征當前存儲單元的擦除次數和/或