On 2016-12-17 18:41, Olaf Frikiov Skiorvensen wrote:
Nowe (i szybkie) karty SD mają wear levelling. Z punktu widzenia usera
oznacza to że w przypadku nagłej utraty zasilania nastapi nieodwrcalne
zniszczenie danych na dysku. Nawet pozornie nie mających z konkretną
operacją zapisu nic wspólnego. W krótkim czasie doprowadza to do
uszkodzenia czegoś ważnego w OSie albo uszkodzenia jakiś plików usera.
Jesteś pewien, że za to odpowiada wear-leveling? Raczej chodzi o
zerwany zapis na flash.
Zerwany zapis na flash niszczy pliki które były zapisywane, filesystemy
potrafią obecnie to przewidzieć. To nie jest bardzo szkodliwe,
szczególnie jak masz porzady filesystem z kronikowaniem. Nie ma się czym
przejmować.
Wear levelling uszkadza *niewinne* przypadkowe bloki i nie można
przewidzieć jakie. To jest prawdziwy problem z kartami SD.
http://electronics.stackexchange.com/questions/27619/is-it-true-that-a-sd-mmc-card-does-wear-levelling-with-its-own-controller
Musiałbys zadbać że zasilanie karty będzie dłuższe niż ostatnia operacja
zapisu i że w laptopie jest sprawne zasilanie z działającą baterią.
Nawet jak zaniknie zasilanie sieciowe, to zasilacz ma tzw hold-up time
równy kilkanaście-kilkadziesiąt milisekund, to powinno wystarczyć do
zapisu wewnętrznego bufora dysku do pamięci flash(ale zniszczenia
danych pewnie i tak wystąpią)
Niektóre dyski mają własne kondensatory do podtrzymania zasilania przy
zapisie.
Taki kondensator dodaje się często przy kartach z wear levelling
samodzielnie, ale niestety najnowsze karty zaczynają mieszać sektorami
"jak się nudzą" i jeśli nie dostaną prawidłowo polecenia shut down to
nawet przy braku zapisu zwykłe właczenie i wyłaczenie może coś
uszkodzić. Ostatnio zwykły czytnik podpinany do peceta w trybie read
only potrafi popsuć przypadkowe bloki (niestety nie znajdę teraz tego
artykułu, ale potwierdzono niszczenie danych przy nic nie robieniu w
jakiejś fancy-karcie U3).
|