Flash儲存裝置與傳統硬碟有著不一樣的方式處理被刪除的資料。在固態硬碟中,舊的資料必須要先被抹除,新的資料才能被寫入同個block。Garbage Collection資料回收技術就是將有用的資料複製到新的block之後,再刪除原block裡應該被刪除或無用的資料。

為何需要Garbage Collection?

在傳統硬碟裡,新資料可以直接寫入相同位址覆蓋舊的資料;在固態硬碟裡,新資料寫入開放儲存區塊的同時,舊資料的邏輯位址 (logical addresses)就會變成無效。Garbage Collection資料回收技術將新資料和有效資料集中到鄰近的區塊後,並刪除原實體區塊內的無效資料,以重新釋放該區塊的記憶體空間。

Garbage Collection如何運作?

Flash儲存裝置中的最小單位是Cell,Cell組成Page,而多個Page組成一個block。Page是執行讀寫的最小單元,而block是執行抹除動作的最小單元。要寫入新資料到使用過的block之前,固態硬碟的控制器首先必須要將所有的有效資料複製並寫入到另一個block裡的空白Page,然後抹除該block裡的所有資料,以釋放空間寫入新資料,這個過程就稱作Garbage Collection。