Metodologie Garbage Collection firmy Kingston jako sposób na zwiększenie wydajności dysków SSD
![Anvil test runs](https://media.kingston.com/kingston/articles/GarbageCollection-anvil_test_chart.jpg)
Dyski SDD posiadają zaawansowane kontrolery, które zarządzają przechowywaniem danych w pamięci NAND Flash. Firma Kingston® w niektórych modelach dysków SSD stosuje kontrolery LSI® SandForce®, aby zapewnić klientom lepszą wytrzymałość i wydajność. Kontrolery te wykorzystują zastrzeżone technologie w celu realizacji procesu odzyskiwania pamięci, garbage collection (GC).
Usunięcie plików w systemie operacyjnym takim jak Windows skutkuje po prostu ustawieniem w wewnętrznej tablicy plików systemu wskaźnika usunięcia. W przypadku dysków twardych (HDD) fizyczny zapis nieaktualnych już danych nadal istnieje, ale może być nadpisywany przez system w celu przechowywania nowych danych.
Urządzenia oparte na pamięci NAND Flash nie mogą jednak nadpisywać fizycznie zapisanych danych. Muszą przejść przez cykl programowania/kasowania — 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) i rozpocząć zapisywanie nowych danych do nowo wykasowanego bloku. Proces ten określany jest mianem „garbage collection”. Nowsze systemy operacyjne obsługują również komendę TRIM, za pośrednictwem której system informuje dysk SSD o usunięciu poszczególnych plików, tak by mógł on lepiej zarządzać procesem GC i odzyskiwać przestrzeń wcześniej, zapobiegając zapisywaniu i przenoszeniu nieaktualnych danych.
Dyski SSD firmy Kingston wyposażone w kontrolery LSI SandForce realizują wysoce efektywny proces Foreground GC, co oznacza, że są w stanie szybko przygotowywać bloki do kasowania w czasie rzeczywistym, w przeciwieństwie do procesu Background GC, w ramach którego może dochodzić do niepotrzebnego przenoszenia danych przy okazji usuwania przez użytkownika w terminie późniejszym. Metodologia Foreground GC zapewnia wyższą wytrzymałość i wydajność dysków SSD. Metodologia Foreground GC maksymalizuje ponadto korzyści związane z pracą w charakteryzującym się niskim poborem energii trybie bezczynności, wyłączając dysk SSD, gdy system nie uzyskuje do niego dostępu — czego nie można powiedzieć o metodologii Background GC, która przerywa stan bezczynności, gdy przenosi dane do nowych bloków zanim będą potrzebne.
Firma Kingston przeprowadziła teksty z wykorzystaniem narzędzia o nazwie Anvil, które realizuje cykle zapisywania dysków SSD danymi, kasowania wszystkich takich danych, a następnie ponownego zapisywania dysku. Użyliśmy tego narzędzia do przeprowadzenia testów zarówno z komendą TRIM, jak i bez niej (w tym ostatnim przypadku chodziło o symulację zastosowania dysku KC300 SSD w serwerze z kartą RAID, gdzie komenda TRIM nie jest przepuszczana przez kontroler RAID, bądź też zastosowania dysku Kingston SSD na platformach Apple Mac).
![Kingston SSDs](https://media.kingston.com/kingston/articles/GarbageCollection-SSD_group.jpg)
Wyniki dowiodły przewagi dysków SSD Now pod względem krótszego czasu zapełniania dysku i krótszych czasów ponownego zapełnienia dysku po usunięciu wszystkich plików — wydajność procesu GC tych dysków SSD przedstawia poniższy wykres: Lewa oś przedstawia czas zapełniania dysku (w sekundach – im mniej, tym lepiej), natomiast oś dolna odpowiada 10 kolejnym przebiegom z komendą TRIM i bez niej. Dysk KC300 nie tylko zapewnił najkrótsze czasy zapełniania i ponownego zapełniania dysku, lecz również osiągnął stałą wydajność w trakcie wszystkich 10 przebiegów zarówno z komendą TRIM, jak i bez niej. Dyski KC300 obsługują również dodatkowo zwiększającą wytrzymałość i wydajność technologię DuraWrite z funkcją Data Reduction (więcej informacji znaleźć można w raporcie technicznym dotyczącym DuraWrite dostępnym pod adresem kingston.com/ssd).