W świecie technologii SSD często można usłyszeć terminy Garbage Collection i TRIM, jednak co one tak naprawdę oznaczają? W tym artykule przyglądamy się funkcji Garbage Collection, temu jak działa i jaki ma związek z poleceniem TRIM.
Co to jest Garbage Collection?
Celem usuwania pozostałości danych jest okresowa optymalizacja dysku, aby działał wydajnie i utrzymywał swoją wydajność przez cały okres eksploatacji. W odróżnieniu od dysków twardych (HDD) dyski SSD i inne urządzenia pamięci flash NAND nie mogą nadpisywać istniejących danych. Muszą przejść przez cykl programowania/kasowania. Pamięć flash jest podzielona na bloki, a te z kolei na strony. Dane są zapisywane na poziomie strony, a usuwane na poziomie bloku. Zanim dane będą mogły zostać skasowane, wszystkie ważne dane (strony) z pierwotnego bloku muszą najpierw zostać skopiowane i zapisane na pustych stronach nowego bloku. Aby zapisać dane w miejscu, w którym znajduje się już blok danych, kontroler dysku SSD najpierw musi skopiować wszystkie aktualne (nadal wykorzystywane) dane i zapisać je na pustych stronach innego bloku, a następnie wykasować wszystkie komórki w bieżącym bloku (zarówno aktualne, jak i nieaktualne), po czym rozpocząć zapisywanie nowych danych do nowo wykasowanego bloku. Proces ten określa się mianem Garbage Collection. Firma Kingston® stosuje różne kontrolery wykorzystujące autorskie technologie do realizacji procesu Garbage Collection (GC), którego celem jest zachowanie jak największej liczby pustych bloków, aby dysk SSD nie „czekał” na usunięcie bloku, gdy zapisuje dane.
Proces Garbage Collection odbywa się automatycznie, zwykle w okresie bezczynności systemu, i jako taki jest istotnym elementem działania dysku. Dyski SDD posiadają zaawansowane kontrolery, które zarządzają przechowywaniem danych w pamięci flash NAND. Usunięcie plików w systemie operacyjnym, takim jak Windows, skutkuje po prostu umieszczeniem wskaźnika usunięcia w wewnętrznej tablicy plików systemu. W przypadku dysków twardych (HDD) nieaktualne dane pozostają na swoim miejscu, ale mogą zostać nadpisane przez system nowymi danymi. Nowsze systemy operacyjne obsługują również polecenie TRIM, za pomocą którego system powiadamia dysk SSD o usunięciu określonych plików, dzięki czemu dysk może lepiej zarządzać procesem GC i wcześniej odzyskiwać miejsce, zapobiegając zapisywaniu i przenoszeniu wszystkich nieaktualnych danych.