SSD Garbage Collection
Keywords
Prerequisites
Related Papers
Progress
Sign in to track your progress.
因為 FTL 採用 out-of-place write,隨著時間推移,NAND flash 上會累積大量 invalid page(舊版本的資料),這些 page 所在的 block 無法直接被重新利用。Garbage collection(GC)的工作就是挑選含有較多 invalid page 的 block,將其中仍然有效的 page 搬移到其他 block,然後將整個 block 抹除以回收空間。SSD 會預留一部分使用者看不到的空間作為 over-provisioning(OP),讓 GC 在搬移資料時有足夠的緩衝空間可以運作。選擇哪個 block 來回收是一個重要的策略問題——greedy 策略挑 invalid page 最多的 block 以最大化立即回收的空間,而 cost-benefit 策略則同時考慮資料的冷熱程度以減少長期的搬移開銷。此外,wear leveling 機制確保所有 block 的 P/E cycle 使用量盡量平均,避免某些 block 提早損壞。理解 GC 的運作是掌握 SSD 效能特性的關鍵,因為它直接影響寫入延遲與 SSD 壽命。
Key Concepts
我理解為什麼 SSD 需要 garbage collection:out-of-place write 導致 invalid page 累積,block 無法直接重新利用
我理解 GC 的基本流程:選擇 victim block、將 valid page 搬移到其他 block、抹除整個 block 以回收空間
我了解 over-provisioning 的用途,知道預留額外空間如何讓 GC 有足夠的緩衝空間運作
我理解 greedy policy 與 cost-benefit policy 在 victim block selection 上的差異與適用情境
我知道 wear leveling 的目的是讓所有 block 的 P/E cycle 使用量盡量平均,避免部分 block 提早損壞