Pojęcie ze słownika

Wear leveling

Wear leveling to mechanizm w kontrolerze SSD, który pilnuje, żeby zapisy rozkładały się równomiernie na wszystkich komórkach pamięci NAND. Bez niego dysk zużyłby się punktowo — kilka bloków obsługujących plik wymiany czy rejestr systemu padłoby po kilku miesiącach, podczas gdy reszta nośnika byłaby praktycznie nietknięta.

Dlaczego to konieczne

Każda komórka NAND znosi ograniczoną liczbę cykli kasowania: 50 000-100 000 w SLC, 300-1000 w TLC i często poniżej 200 w QLC. System operacyjny ciągle nadpisuje te same adresy logiczne, więc gdyby mapował je sztywno na fizyczne komórki, katastrofa byłaby kwestią czasu.

Kontroler rozwiązuje to warstwą tłumaczącą — FTL (Flash Translation Layer). Ten sam adres logiczny widziany przez Windows ląduje za każdym razem w innym fizycznym miejscu, a tablica mapowania siedzi w pamięci DRAM dysku (albo w RAM komputera, jeśli SSD jest DRAM-less i korzysta z HMB).

Dwa warianty

  • Dynamic wear leveling — rotuje tylko po blokach, które i tak są zapisywane. Prostsze, ale nie rusza danych „leżących” w miejscu.
  • Static wear leveling — co jakiś czas przenosi także dane, których nie ruszałeś od lat, żeby zwolnić „wypoczęte” komórki do rotacji. Wolniejsze, ale wydłuża życie dysku i jest standardem w porządnych kontrolerach.

Co z tego wynika dla Ciebie

Nie musisz nic ustawiać — wear leveling działa sam i jest niewidoczny. Twoim zadaniem jest tylko zostawić kontrolerowi miejsce do pracy: 10-15% wolnej przestrzeni i włączony TRIM. Zapomnij też o defragmentacji SSD — mielenie danych bez sensu zjada cykle zapisu.

Efekt zobaczysz w atrybucie Percentage Used w S.M.A.R.T. Przy typowym domowym użyciu dysk TLC dobija do limitu po kilkunastu latach, więc szybciej wymienisz go z powodu małej pojemności niż zużycia.