本發明專利技術適用于計算機技術領域,提供了一種減小固態硬盤寫放大的方法,所述方法包括:當所述固態硬盤有數據搬移時,判斷主機端的寫緩存中是否儲存有與所述被搬移的有效數據頁相同的數據頁,若是,則將所述有效數據頁進行無效處理,否則進行正常數據搬移。本發明專利技術還相應的提供一種減小固態硬盤寫放大的系統。借此,本發明專利技術可以減少數據的搬移量,降低固態硬盤的寫放大。
【技術實現步驟摘要】
本專利技術涉及計算機
,尤其涉及一種減小固態硬盤寫放大的方法及系統。
技術介紹
在固態存儲系統中,寫放大是一個重要的概念。它是硬盤實際上寫入的數據量和主機要求寫入數據量的一個比值,應當控制在較小的范圍內。閃存的讀寫最小單位是頁(page),而擦除的最小單位是塊(block)。目前常見的物理塊具有256個頁,這樣會產生在一個塊內既有有效頁又有無效頁。垃圾回收的功能就是在系統空閑空間不足時候將塊中的有效頁搬移到統一的空閑塊中,然后把產生的垃圾塊擦除從而產生多余的空閑塊。另外,閃存物理塊的擦除次數是有限的,最新工藝的MLC(Multi-LeVel Cell,多層單元)擦寫次數一般只有300(Γ5000次。在固態存儲設備使用期間,由于主機端寫入數據序列的差異,會產生冷熱數據。冷數據被更新的頻率很低,其所占用的物理塊被擦的次數很低;而熱數據所占用的物理塊則相反。如果不做特殊的磨損均衡處理,熱數據占用的塊被頻繁使用,將提前到達其壽命。因此,需要不斷的把冷數據搬移到擦寫次數較高的塊上,而熱數據則寫入到擦除·次數較少的塊上,達到磨損均衡的效果,這樣做的結果勢必會增加搬移數據的次數,導致寫放大的增加。當然還有其它因素影響寫放大,而寫放大的增加會使固態硬盤壽命的縮短。在現有相關技術中,主要是優化垃圾回收和磨損均衡等算法,來降低寫放大。例如,在搜索將要進行數據搬移的源block時選擇有效頁最小的,使得一次搬移的數據最少;或者放寬磨損均衡的觸發條件,降低搬移的次數。這些算法的優化雖然可以在一定程度上降低寫放大,但也會降低垃圾回收和磨損均衡的效率。另外,這些算法在數據搬移的過程后沒有考慮到被主機復寫部分數據的情況。綜上可知,現有的固態硬盤減小寫放大的技術,在實際使用上顯然存在不便與缺陷,所以有必要加以改進。
技術實現思路
針對上述的缺陷,本專利技術的目的在于提供一種減小固態硬盤寫放大的方法及系統,可以減少數據的搬移量,有效的降低固態硬盤的寫放大。為了實現上述目的,本專利技術提供一種減小固態硬盤寫放大的方法,所述方法包括當所述固態硬盤有數據搬移時,判斷主機端的寫緩存中是否儲存有與所述被搬移的有效數據頁相同的數據頁,若是,則將所述有效數據頁進行無效處理,否則進行正常數據搬移。根據本專利技術的減小固態硬盤寫放大的方法,所述判斷主機端的寫緩存中是否儲存有與所述被搬移的有效數據頁相同的數據頁步驟包括獲取所述被搬移的有效數據頁的邏輯地址;檢查所述主機端的寫緩存,若所述主機端的寫緩存中存在數據頁的邏輯地址與所述被搬移的有效數據頁的邏輯地址相同,則確定該數據頁與所述被搬移的有效數據頁相同。根據本專利技術的減小固態硬盤寫放大的方法,所述方法還包括在預定時間間隔內檢查所述寫緩存中寫入的邏輯地址的排列規則,并根據所述邏輯地址的排列規則預測所述主機端的寫入規則。根據本專利技術的減小固態硬盤寫放大的方法,若在預定時間間隔內檢查所述寫緩存中寫入的邏輯地址是順序寫入,且寫入的邏輯地址數量達到預設值,則確定所述主機端會在后序順序寫入所述預設值數量的連續的邏輯地址。本專利技術還提供一種減小固態硬盤寫放大的系統,所述系統包括判斷模塊,用于當所述固態硬盤有數據搬移時,判斷主機端的寫緩存中是否儲存有與所述被搬移的有效數據頁相同的數據頁,若是,則交由無效處理模塊處理,否則進行正 常的數據搬移;無效處理模塊,用于主機端的寫緩存中儲存有與所述被搬移的有效數據頁相同的數據頁時,將所述被搬移的有效數據頁進行無效處理。根據本專利技術的減小固態硬盤寫放大的系統,所述判斷模塊包括獲取子模塊,用于獲取所述被搬移的有效數據頁的邏輯地址;檢查子模塊,用于檢查所述主機端的寫緩存,若所述主機端的寫緩存中存在數據頁的邏輯地址與所述被搬移的有效數據頁的邏輯地址相同,則確定該數據頁與所述被搬移的有效數據頁相同。根據本專利技術的減小固態硬盤寫放大的系統,所述固態硬盤還包括寫預測模塊,用于在預定時間間隔內檢查所述寫緩存中寫入的邏輯地址的排列規則,并根據所述邏輯地址的排列規則預測所述主機端的寫入規則。根據本專利技術的減小固態硬盤寫放大的系統,若在預定時間間隔內檢查所述寫緩存中寫入的邏輯地址是順序寫入,且寫入的邏輯地址數量達到預設值,則所述寫預測模塊確定所述主機端會在后序順序寫入所述預設值數量的連續的邏輯地址。本專利技術通過在固態硬盤有數據搬移時,判斷主機端的寫緩存中是否儲存有與所述被搬移的有效數據頁相同的數據頁,若是,則說明此搬移的有效頁將要被復寫,則直接將該搬移的有效頁進行無效處理,并取消搬移操作,否則繼續進行正常的搬移處理。借此可減小數據的搬移量,減小固態硬盤的寫放大。附圖說明圖I是本專利技術一實施例的減小固態硬盤寫放大的系統結構示意圖;圖2是本專利技術一實施例的固態硬盤數據搬移示意圖;圖3是本專利技術一實施例的寫預測示意圖;圖4是本專利技術一實施例的減小固態硬盤寫放大的方法流程圖。具體實施例方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。參見圖1,本專利技術提供了一種減小固態硬盤寫放大的系統結構,該系統100應用于固態硬盤,其包括判斷模塊10和無效處理模塊20,其中判斷模塊10用于當固態硬盤有數據搬移時,判斷主機端200的寫緩存(cache)中是否儲存有與所述被搬移的有效數據頁相同的數據頁,若是則交由無效處理模塊20處理,否則繼續正常的數據搬移處理。具體的,判斷模塊10包括獲取子模塊11和檢查子模塊12。當固態硬盤有數據搬移時,獲取子模塊11獲取被搬移的有效數據頁的邏輯地址,檢查子模塊12檢查主機端200的寫緩存,若主機端的寫緩存中存在數據頁的邏輯地址與所述被搬移的有效數據頁的邏輯地址相同,則確定該數據頁與所述被搬移的有效數據頁相同。無效處理模塊20,用于當主機端200的寫緩存中儲存有與被搬移的有效數據頁相同的數據頁時,將所述被搬移的有效數據頁進行無效處理。寫緩存中存在與被搬移的數據頁相同,則可以直接從寫緩存中轉移相應的數據,而無需再從被搬移的數據頁中進行移動, 可以直接將該數據頁進行無效處理,然后進行垃圾回收,借此大大減小數據的搬移量,降低系統100的寫放大。參見圖2所示的實施例,Blockl為數據搬移的源塊,block2是空閑塊,是blockl數據搬移的目標塊。在對blockl的有效頁搬移過程中,先讀出其邏輯地址(LPA),和host (主機)端200的寫cache中邏輯地址一一進行比對,如果命中的話,說明此搬移的有效頁將要被復寫,可以直接將該有效頁無效處理,并取消搬移操作,若沒有命中則進行正常的搬移操作,借此減小寫放大。更好的,本專利技術的系統100還包括寫預測模塊30,用于在預定時間間隔內檢查所述寫緩存中寫入的邏輯地址的排列規則,并根據邏輯地址的排列規則預測所述主機端200的寫入規則。若在預定時間間隔內檢查寫緩存中寫入的邏輯地址是順序寫入,且寫入的邏輯地址數量達到預設值,則寫預測模塊30確定所述主機端200會在后序順序寫入所述預設值數量的連續的邏輯地址。結合圖3所示的實施例,在一定時間間隔內對寫cache進行檢查,若獲取邏輯地址是順序寫入的,并且達到一定數量,則返回host端200是順序寫入的。例如,寫cache中本文檔來自技高網...
【技術保護點】
一種減小固態硬盤寫放大的方法,其特征在于,所述方法包括:當所述固態硬盤有數據搬移時,判斷主機端的寫緩存中是否儲存有與所述被搬移的有效數據頁相同的數據頁,若是,則將所述有效數據頁進行無效處理,否則進行正常數據搬移。
【技術特征摘要】
【專利技術屬性】
技術研發人員:何浩,
申請(專利權)人:記憶科技深圳有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。