W jaki sposób SSD ulega awarii pod koniec życia?

9

Powiedzmy, że dysk SSD MLC trwał bardzo długo, a pierwsza komórka przeszła ostatni cykl wymazywania i odmawia wymazania.

Co stanie się potem? Czy kontroler wykrywa to jako zły blok i przechodzi do następnego i próbuje go usunąć? Czy łączna pojemność dysku powoli maleje z czasem?

EDYTOWAĆ

I oczywiście możemy zapomnieć o wyrównaniu zużycia. Tak, przedłuża żywotność dysku, ale nie mówię o tym. W końcu komórka uderzy w ostatni cykl kasowania.

Pirolistyczny
źródło

Odpowiedzi:

8

Układy pamięci flash NAND mają wbudowane mechanizmy wykrywania błędów w operacjach zapisu i kasowania oraz ostrzegają kontroler, jeśli jeden z nich ulegnie awarii. W takim przypadku kontroler może spróbować ponownie lub potraktować ten blok jako zły i odwzorować go na podstawie algorytmu wyrównywania zużycia. Każda strona w urządzeniu NAND ma również wolny obszar obok głównego obszaru danych, który jest przeznaczony na metadane, takie jak ECC i inne formy wykrywania błędów i tolerancji. Sterownik może zdecydować o własnym schemacie odporności na uszkodzenia, wykorzystując obszar zapasowy. Kody Hamminga to jeden wspólny schemat, choć istnieje kilka, w tym proste bity parzystości i kody Reeda-Solomona. Jeśli rzeczy nie pasują do operacji odczytu, kontroler może zrobić to, co chce. Idealnie byłoby również odwzorować te bloki z algorytmu wyrównywania zużycia i po prostu traciłbyś pojemność stopniowo, aż „zbyt wiele” bloków ulegnie awarii, gdzie „zbyt wiele” zależy od algorytmów i rozmiarów struktury sprzętowej w kontrolerze. Wiele konstrukcji kontrolerów po raz pierwszy po prostu zgłasza błąd w systemie operacyjnym.

Pamiętaj, że nie jest to problem specyficzny dla MLC; chociaż komórki MLC mogą być bardziej podatne na błąd odczytu, ponieważ konieczny jest mniejszy margines błędu, komórki SLC zawodzą głównie z tymi samymi mechanizmami i mogą być traktowane przez kontroler w ten sam sposób.

Matt J
źródło
2

Podobnie jak w przypadku dysków twardych, zależy to od implementacji w systemie operacyjnym. Kontroler po prostu zgłasza, że ​​zapis (usuwanie jest w rzeczywistości operacją zapisu) nie powiódł się i od decyzji kierownika systemu operacyjnego zależy, co należy zrobić. Z tego, co widziałem do tej pory, implementacje Microsoft i Linux po prostu zwracają kod błędu do aplikacji wywołującej - co powoduje błąd we / wy.

Krótko mówiąc: w pewnym momencie dostajesz po prostu „zepsute” urządzenie.

Milan Babuškov
źródło
Cóż, to do bani. Niezbyt dobra abstrakcja ...
Pirolistyczny
1
I źle. Przede wszystkim jest to obsługiwane w samym dysku SSD - nie w sterowniku urządzenia. Ponieważ jest to normalne działanie. Wyrównanie zużycia zarejestruje sektor jako nieudany i ponownie przypisze sektor.
TomTom
1

Dyski SSD używają czegoś, co nazywa się „poziomowaniem zużycia”, gdzie dysk utrzymuje statystyki dotyczące wykorzystania sektora, a w pewnym momencie lub gdy wykryje problemy, przeniesie sektor do rezerwowego, tak jak dzieje się to w przypadku zwykłych dysków twardych.

Sven
źródło
Tak, ale widzę, że mechaniczne HD zawodzi mechanicznie, zanim zabraknie zarezerwowanych sektorów. SSD jednak może nie. Co się stanie, gdy na dysku zabraknie zarezerwowanych sektorów?
Pirolistyczny
Napisz błędy. Czego jeszcze oczekujesz?
TomTom