本發明專利技術適用于計算機技術領域,特別是基于NAND?FLASH的固態硬盤領域。具體涉及一種固態硬盤及基于LBA排序的垃圾收集方法。該垃圾收集方法包括:在對閃存芯片中數據塊進行數據搬移時,讀出數據塊中每個有效頁對應的邏輯塊地址;讀出有效頁的數據,并將有效頁的數據按照邏輯塊地址進行排序;將排序完成的數據依次寫入一新數據塊中的相鄰位置,并將已經搬移完成的數據塊進行擦除。借此,本發明專利技術能降低固態硬盤的寫放大,降低垃圾收集的開銷,提高固態硬盤的壽命和性能。
【技術實現步驟摘要】
【專利摘要】本專利技術適用于計算機
,特別是基于NAND?FLASH的固態硬盤領域。具體涉及一種固態硬盤及基于LBA排序的垃圾收集方法。該垃圾收集方法包括:在對閃存芯片中數據塊進行數據搬移時,讀出數據塊中每個有效頁對應的邏輯塊地址;讀出有效頁的數據,并將有效頁的數據按照邏輯塊地址進行排序;將排序完成的數據依次寫入一新數據塊中的相鄰位置,并將已經搬移完成的數據塊進行擦除。借此,本專利技術能降低固態硬盤的寫放大,降低垃圾收集的開銷,提高固態硬盤的壽命和性能。【專利說明】
本專利技術涉及計算機
,特別是基于NAND FLASH (NAND型閃存)的固態硬盤領域。具體涉及一種固態硬盤及基于LBA (Logical Block Address,邏輯塊地址)排序的垃圾收集方法。
技術介紹
固態硬盤在日常生活中應用越來越普遍,固態硬盤主要是由存儲單元(NANDFLASH芯片)陣列組成,每個閃存芯片包括一個或多個晶粒,每個晶粒包括多個塊,每個塊中包含多個頁。NAND FLASH芯片具有以下三個物理特性:1、先擦除,后讀寫。2、擦除以塊為最小單位,讀寫以頁為最小單位。3、NAND FLASH芯片的擦除次數有限。所以固體硬盤要做垃圾收集,以回收被無效數據占據的物理空間,供下次寫入有效數據使用。目前固態硬盤的垃圾收集方法在搬移數據時,只對數據進行物理位置的搬移,這樣就有可能導致相同的數據多次進行搬移,引起固態硬盤的寫放大上升,降低固態硬盤的壽命和性能。綜上可知,現有垃圾收集方法在實際使用上顯然存在不便與缺陷,所以有必要加以改進。
技術實現思路
針對上述的缺陷,本專利技術的目的在于提供一種固態硬盤及基于LBA排序的垃圾收集方法,其能降低固態硬盤的寫放大,提高固態硬盤的壽命和性能。為了實現上述目的,本專利技術提供一種基于LBA排序的垃圾收集方法,包括:在對閃存芯片中數據塊進行數據搬移時,讀出數據塊中每個有效頁對應的邏輯塊地址;讀出所述有效頁的數據,并將所述有效頁的數據按照邏輯塊地址進行排序;將排序完成的數據依次寫入一新數據塊中的相鄰位置,并將已經搬移完成的數據塊進行擦除。根據本專利技術的垃圾收集方法,將排序完成的數據依次寫入一新數據塊中的相鄰位置的步驟之后還包括:更新寫入數據的映射關系。根據本專利技術的垃圾收集方法,所述有效頁的數據按照邏輯塊地址進行排序的步驟包括:將所述有效頁的數據按照邏輯塊地址從小到大進行排序。根據本專利技術的垃圾收集方法,所述方法還包括:按照數據塊中有效頁的數目選擇需要進行垃圾收集的數據塊,有效頁數量最少的塊為需要進行垃圾收集的塊。根據本專利技術的垃圾收集方法,按照數據塊中有效頁的數目選擇需要進行垃圾收集的數據塊的步驟之前還包括:垃圾收集機制觸發。本專利技術相應提供一種固態硬盤,包括閃存以及閃存轉換層,所述閃存轉換層包括:讀地址單元,用于在對閃存芯片中數據塊進行數據搬移時,讀出數據塊中每個有效頁對應的邏輯塊地址;讀數據單元,用于讀出所述有效頁的數據,排序單元,用于將讀出的所述有效頁的數據按照邏輯塊地址進行排序;寫數據單元,用于將排序完成的數據依次寫入一新數據塊中的相鄰位置;數據擦除單元,用于將已經搬移完成的數據塊進行擦除。根據本專利技術的固態硬盤,所述閃存轉換層還包括映射單元,用于將排序完成的數據依次寫入一新數據塊中的相鄰位置后,更新寫入數據的映射關系。根據本專利技術的固態硬盤,所述排序單元還用于將所述有效頁的數據按照邏輯塊地址從小到大進行排序。根據本專利技術的固態硬盤,所述閃存轉換層還包括:垃圾收集判定單元,用于按照數據塊中有效頁的數目選擇需要進行垃圾收集的數據塊,有效頁數量最少的塊為需要進行垃圾收集的塊。根據本專利技術的固態硬盤,所述閃存轉換層還包括觸發單元,用于根據垃圾收集機制觸發垃圾收集。本專利技術通過在對閃存芯片中數據塊進行數據搬移時,讀出數據塊中每個有效頁對應的邏輯塊地址;讀出有效頁的數據,并將有效頁的數據按照邏輯塊地址進行排序;將排序完成的數據依次寫入一新數據塊中的相鄰位置,并將已經搬移完成的數據塊進行擦除。在搬移數據時先根據數據的LBA對數據進行排序,相近的LBA搬移到相近的物理位置,形成“連續”數據,從而降低了再次搬移的可能性,降低固態硬盤的寫放大從而提高固態硬盤的壽命和性能。【專利附圖】【附圖說明】圖1是本專利技術一種固態硬盤的原理結構圖;圖2是本專利技術一種實施例中垃圾收集前的有效數據的數據分布示意圖;圖3是本專利技術一種實施例中有效數據按照LBA排序后的示意圖;圖4是本專利技術一種實施例中數據搬移完成后數據分布示意圖;圖5是本專利技術一種實施例中閃存轉換層進行垃圾收集的流程圖;圖6是本專利技術一種基于LBA排序的垃圾收集方法的流程圖。【具體實施方式】為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。如圖1所示,本專利技術一種固態硬盤100,包括閃存10以及閃存轉換層20。閃存轉換層20包括:讀地址單元21、讀數據單元22、排序單元23、寫數據單元24、數據擦除單元25、映射單元26、垃圾收集判定單元27以及觸發單元28。讀地址單元21,用于在對閃存芯片中數據塊進行數據搬移時,讀出數據塊中每個有效頁對應的邏輯塊地址。此數據塊是指物理的nand block,做垃圾收集時需搬移nandblock中的有效頁中的數據。讀數據單元22,用于讀出有效頁的數據。排序單元23,用于將讀出的有效頁的數據按照邏輯塊地址進行排序。排序單元23還用于將有效頁的數據按照邏輯塊地址從小到大進行排序。顯而易見排序單元23也可將有效頁的數據按照邏輯塊地址從大到小進行排序。寫數據單元24,用于將排序完成的數據依次寫入一新數據塊中的相鄰位置。在搬移數據時先根據數據的邏輯塊地址對數據進行排序,相近邏輯塊地址的數據搬移到相近的物理位置,形成“連續”數據,從而降低了再次搬移的可能性,降低固態硬盤的寫放大從而提高固態硬盤的壽命和性能。數據擦除單元25,用于將已經搬移完成的數據塊進行擦除。此處擦除的是舊的物理塊,寫入的是新的物理塊,所以先搬移后擦除。映射單元26,用于將排序完成的數據依次寫入一新數據塊中的相鄰位置后,更新寫入數據的映射關系。對于已經寫入閃存芯片中相鄰位置的數據更新其映射關系,形成相對線性的映射關系,即在物理介質中相對連續。在相對線性的映射關系中數據的讀取性能獲得提高;在相對線性的映射關系中數據的失效性也具有了相應的連續性,可以同時失效一個塊從而降低垃圾收集的開銷;降低垃圾收集的開銷后,就可以提高固態硬盤的壽命、以及提高固態硬盤的性能。“可以同時失效一個塊”中的塊是指包括多個頁的數據塊,也就是物理塊,該物理塊中的頁具有邏輯上的連續性,可以同時失效,不用搬移即可直接擦除。垃圾收集判定單元27,用于按照數據塊中有效頁的數目選擇需要進行垃圾收集的數據塊,有效頁數量最少的塊為需要進行垃圾收集的塊。觸發單元28,用于根據垃圾收集機制觸發垃圾收集。圖2是本專利技術一種實施例中垃圾收集前的有效數據的數據分布示意圖;圖3是本專利技術一種實施例中有效數據按照LBA排序后的示意圖;圖4是本專利技術一種實施例中數據搬移完成后數據分布示意圖。如圖2所示,在進行數據搬運之前,有效本文檔來自技高網...
【技術保護點】
一種基于LBA排序的垃圾收集方法,其特征在于,包括:在對閃存芯片中數據塊進行數據搬移時,讀出數據塊中每個有效頁對應的邏輯塊地址;讀出所述有效頁的數據,并將所述有效頁的數據按照邏輯塊地址進行排序;將排序完成的數據依次寫入一新數據塊中的相鄰位置,并將已經搬移完成的數據塊進行擦除。
【技術特征摘要】
【專利技術屬性】
技術研發人員:梁啟峰,
申請(專利權)人:記憶科技深圳有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。