Cześć!
Znajomy właśnie podesłał mi jeden artykuł tłumaczący dlaczego smartfony i tablety z czasem zwalniają:
http://blog.pclab.pl/mieszko/Dlaczego.m%C3%B3j.smartfon.zamula.si%C4%99.po.pewnym.czasie,312
Bardzo zaskoczył mnie jeden fragment:
[...] Rozwiązaniem tego problemu jest TRIM, czyli komenda, która w momencie jej wywołania, nakazuje wyczyścić nośnik z pozostałości po skasowanych plikach, zanim zaistnieje potrzeba zapisania czegoś nowego w ich miejsce, dzięki czemu nośnik może pracować cały czas z pełną szybkością.
[...]
Jeśli producent sprzętu ustawi flagę discard, to TRIM jest uruchamiany od razu w momencie kasowania pliku, więc dane są usuwane nie tylko „z widoku” użytkownika,__ ale też fizycznie__.
Chodzi o to:
Wiem że na tradycyjnych dyskach twardych, jak kasuję plik, to system zapamiętuje sobie że obszar pamięci zajmowany przez ten plik jest wolny i można go śmiało napisać nowymi danymi.
Znajomy po przeczytaniu artykułu zrozumiał to tak, że "na SSD nie da się nadpisać danych - muszą one zostać wcześniej skasowane".
Przy "pierwszym czytaniu" też to tak zrozumiałem ale stwierdziłem że to kompletna bzdura - jeśli plik ma 2GB to przy jego usuwaniu "kasowano" by te 2GB...? czyli co, wypełniano by je zerami? Zacząłem szukać informacji w internecie ale spotykałem się z podobnym opisem. Pomyślałem dłużej...
Ja rozumiem to tak, że:
W przypadku HDD, system zarządzał gdzie umieścić dane. Adres danych widziany przez OS pokrywał się z fizycznym położeniem danych na dysku (mniej/więcej)?
W przypadku SSD systemowi też wydaje się że zarządza danymi ale w praktyce SSD układa dane wg swojego uznania?
Bez TRIM, gdy usuniemy plik, OS będzie wiedział że dany obszar pamięci jest wolny, ale SSD nie otrzyma tej informacji i nie będzie mógł efektywnie zarządzać pamięcią.
Jeśli natomiast system wyśle do SSD "TRIM Command", kontroler będzie wiedział że te dane można śmiało nadpisywać ALE dane też fizycznie pozostają w komórkach pamięci tak samo jak w HDD.
Czy dobrze to rozumiem?