Czemu dyski SSD zwalniają, gdy są pełne?
Dyski SSD mimo dość długiej obecności na rynku dopiero od niedawna zyskują popularność. Oczywiście powodem jest cena, która jeszcze jakiś czas temu była wręcz zaporowa. Dziś dobrej jakości dysk SSD charakteryzujący się świetną wydajnością można kupić za około 300-400 złotych. Jest jednak pewna zasada, o której warto pamiętać.
Wielu użytkowników dysków SSD skarży się, że im więcej danych zapiszą, tym wolniej wszystko działa. Dowodem na taki stan rzeczy są liczne testy, benchmarki i zwykłe obserwacje użytkowników. Niestety jest to prawda i przyczyną nie jest wada dysku, awaria czy błąd fabryczny, a charakterystyka tego typu rozwiązań. Po zapełnieniu dysku SSD do pełna, transfer drastycznie spada. Tego efektu nie ma, gdy na dysku jest kilka procent wolnego miejsca. Dlatego też dyski SSD nadają się świetnie na dysku systemowe, na których nie chcemy przechowywać plików multimedialnych, bibliotek filmów muzyki etc. W takim zastosowaniu magazyn danych SSD sprawdzi się rewelacyjnie, ale jako przenośny dysk na filmy i muzykę już nie. Czemu?
Podczas zapisywania dowolnego pliku na dysku SSD, system szuka dla niego wolnego bloku, a następnie zapełnia go tym właśnie plikiem. Może to być jeden, dwa, dziesięć lub 100 bloków w zależności od wielkości plików. Między innymi dlatego, aby utrzymać dysk SSD w pełnej gotowości, w systemach Windows 7 i 8 stosowana jest technologia TRIM, która po usunięciu pliku w systemie (poprzez opróżnienie kosza) usuwa również plik z dysku SSD bezpowrotnie. W dyskach magnetycznych usunięty z systemu plik może być odzyskany, na dysku SSD jest to praktycznie niemożliwe. Technologia TRIM odpowiada za to, aby zwolnione na dysku miejsce było natychmiast gotowe do zapełnienia przez inny plik.
Jeśli dysk SSD jest zapełniony w połowie, pustych bloków jest pod dostatkiem, ale co się dzieje, gdy na dysku jest kilka procent wolnego miejsca? W takim momencie pojawia się problem. Nawet, jeśli na dysku mamy np. 4 GB wolnego miejsca i chcemy zapisać plik o wielkości 3 GB, transfer może być bardzo niski. Otóż do zapisania dysku niezbędne są wspomniane wolne bloki – nie mogą być nawet w najmniejszym stopniu zajęte. Przy okazji warto wspomnieć, że pamięć NAND Flash zapisuje dane na stronach o pojemności 4 KB w blokach 256 KB. By dodać nowe strony do częściowo zapełnionego bloku, dysk SSD musi najpierw wyczyścić cały blok, aby znów zapisać na nim dane. Gdy wolnych bloków na wymianę danych jest niewiele, cały proces kopiowania, przenoszenia, zapisywania, kasowania itp. trwa bardzo długo.
To tak, jakby w zatłoczonym pociągu ludzie musieli zmienić miejsce. Już po chwili zrobi się chaos i jeszcze większy tłok. Po jakimś czasie ludzie zajmą swoje nowe miejsca, ale gdyby ludzi było mniej, wszystko trwałoby o wiele krócej. Tak samo jest w dysku SSD. Jeśli jest on w połowie napełniony, ilość wolnych bloków jest bardzo duża, dzięki czemu proces kopiowania, kasowania, przenoszenia i zapisywania danych trwa bardzo krótko – dysk ma miejsce, aby „żonglować” danymi. Jeśli jednak dysk jest napełniony niemal w pełni, wolnych bloków jest niewiele – musimy wtedy poczekać, aż dysk SSD powoli przeniesie dane pomiędzy pustymi lub tylko częściowo napełnionymi blokami, tymczasowo zapisze część danych w pamięci cache etc.
Jeśli dysk SSD traktujemy jako magazyn danych np. na muzykę, zdjęcia, filmy, gry lub inne dane i zapełnimy go w 95 procentach, najprawdopodobniej zostaniemy z wieloma częściowo zapełnionymi blokami pamięci – dysk nie będzie w stanie zapełnić wolnej przestrzeni i nie skonsoliduje częściowo zapełnionych bloków w jeden pełny blok, by stworzyć nowe miejsce na dane. Recepta na taki stan rzeczy jest bardzo prosta – nie zapełniać dysku SSD w całości. Co więcej, nawet producenci starają się zapobiegać takim sytuacjom sprzętowo rezerwując około 7-10 procent powierzchni dysku, która nie może być zapisana. Takie rozwiązanie jest znane pod nazwą „overprovisioning” – dodatkowa pamięć jest niedostępna dla użytkownika i niewidoczna dla komputera. Poza tym dysk SSD to idealne rozwiązanie jako dysk systemowy z podstawowymi programami – magazynem danych może być tradycyjny dysk magnetyczny dobrej jakości, który i tak zapewni przyzwoite transfery.