Jak mogę przetestować kartę pamięci pod kątem wydajności i uszkodzonych sektorów?

10

Właśnie kupiłem nową kartę CF do mojej lustrzanki cyfrowej. Przetestowałem go przy użyciu Xbench (Mac OS X) i działa zgodnie z oczekiwaniami. Chciałbym jednak wykonać „skanowanie powierzchni” (termin ruchomej płyty), aby sprawdzić „złe sektory” (termin ruchomej płyty). Mógłbym skasować skrypt za pomocą dd, ale mam wrażenie, że istnieje lepsze wyjście. Moim celem jest przekonanie, że karta pamięci (CF, SD itp.) Jest bezpieczna w sesji zdjęciowej i nie trzeba jej zwracać przed upływem 30-dniowego okresu obowiązywania polityki sprzedawcy.

Zdecydowanie chcę, aby podano tutaj rozwiązania dla komputerów Mac. Chciałbym również uzyskać kilka sugestii dotyczących Linuksa. Rzućmy nawet kości użytkownikom Windows, aby jedno pytanie mogło zaspokoić potrzeby wszystkich.

Bruno Bronosky
źródło
Rozumiem, że pamięć półprzewodnikowa różni się od wirujących talerzy. Nie potrzebuję w tym lekcji. Potrzebuję sposobu na weryfikację posiadanych urządzeń. Proces jest prosty: napełnij urządzenie znaną treścią. Czytaj z urządzenia i sprawdź zawartość. Jeśli wystąpią błędy odczytu lub zapisu, oczywista awaria. Jeśli treść, którą czytasz różni się od tego, co napisałeś, to mniej oczywista porażka. Data powinna być losowa i należy zastosować wiele cykli. Potrzebuję narzędzia, które to robi. Napisałem jeden, ale to hack.
Bruno Bronosky

Odpowiedzi:

8

Ponieważ kontroler może przenosić bloki gdziekolwiek chce (patrz wyrównywanie zużycia), jedyną szansą na cały test odczytu / zapisu jest wypełnienie dysku i porównanie. Oczywiście kilka razy z różnymi wzorami.

Nadal nie złapiesz wadliwych regionów, ponieważ są one również ukryte przez kontrolera, dopóki ma części zamienne.

Leonidas
źródło
6

Pamięć flash nie działa tak samo jak dyski z talerzami. Pojęcie „uszkodzonego sektora” tak naprawdę nie istnieje w przypadku pamięci flash. W dzisiejszych czasach, z pamięcią flash i dyskami SSD, wbudowany kontroler zajmuje się identyfikowaniem i zaznaczaniem nieużywalnych bloków pamięci, dynamicznym przenoszeniem danych w celu ograniczenia ograniczeń zapisu bloków itp. Te funkcje są znacznie bardziej rozpowszechnione na dyskach SSD, ale niektóre również istnieją w wysokiej jakości kartach flash (takich jak SanDisk).

Większość narzędzi do sprawdzania systemu plików albo przyjmuje konkretne założenia dotyczące fizycznej struktury urządzenia pamięci masowej (tj. Oparte na talerzach, z fizycznymi cylindrami, sektorami, klastrami itp.), Albo działa na abstrakcyjnym poziomie i naprawia „wirtualnie” za pomocą pliku lub katalogu stoły Potrzebne byłoby narzędzie zaprojektowane specjalnie do oznaczania uszkodzonych bloków na urządzeniu pamięci flash, ponieważ wszystko inne albo spowoduje więcej problemów (zakładając, że może rozwiązać problemy w ten sam sposób, jak w przypadku urządzenia opartego na talerzach), lub uczynić wirtualnym poprawki, które nie uwzględniają dynamicznych funkcji flashowych na poziomie sprzętowym. Nawet jeśli można oznaczyć konkretny „sektor” lub „klaster” jako „zły”, niekoniecznie przyniesie to pożytek, ponieważ te fizyczne pojęcia w rzeczywistości nie istnieją w pamięci flash. Jeśli urządzenie flash jest bardziej zaawansowane i dynamicznie przenosi dane, aby automatycznie pomijać uszkodzone bloki i ograniczać ograniczenia zapisu, fizyczna lokalizacja danych może znajdować się w złym bloku w jednej chwili, a w dobrym bloku później. (Zauważ, że idea „złego” bloku w pamięci flash jest znacznie bardziej niewyraźna niż w przypadku dysków talerzowych ... blok pamięci flash zwykle umiera powoli, a nie nagle, i może „migotać” między czytelnym / nieczytelnym a trochę zanim stanie się całkowicie bezużyteczny).

Ogólnie rzecz biorąc, jeśli chodzi o flash, pozwól urządzeniu zarządzać się z perspektywy złego bloku. Różni producenci konstruują i przechowują dane na różne sposoby, a każdy z nich może mieć różne poziomy i ilości dynamicznych zachowań, które przenoszą dane, aby uniknąć niektórych ograniczeń pamięci flash. Próba samodzielnego zarządzania nim może spowodować więcej problemów niż rozwiązuje, a na dłuższą metę może spowodować, że dyski flash będą bezużyteczne.

Jeśli chcesz uniknąć złych kart flash, bardzo polecam korzystanie z renomowanych marek. W przeszłości próbowałem różnych kart flash, jednak SanDisk jest jedyną marką, z której korzystałem, a przynajmniej do tej pory nigdy nie zawiodła. Mam kilka kart SDHC 4, 8 i 16 gig, których używam dość często i regularnie wyjmuję z aparatu i wkładam do laptopa lub komputera, a one nadal działają idealnie. (Niektóre mają kilka lat.)

jrista
źródło
1
Złe bloki mogą istnieć na każdym urządzeniu blokowym: jeśli napiszę jakieś dane do określonego bloku, ale nie mogę go odczytać, to zły blok. Kontroler może ukryć ten problem w przypadku zapisu, zapisując dane w innym miejscu, ale nie w przypadku odczytów.
Vaddadi Kartick
3

W Linuksie pożądanym poleceniem jest badblocks. Wygląda na to, że jest to port dla Mac OS X jako część tego portu ext2-for-os-x - zainstaluj całość i zignoruj ​​wszystko oprócz /usr/local/sbin/badblockspolecenia.

To powiedziawszy, pomoże to przetestować, ale nie sądzę, że będzie to rozstrzygające, ponieważ po pierwsze, jak mówi Leonidas, tak naprawdę nie dostajesz surowego dostępu do pamięci flash, więc trudno jest wykonać pełne skanowanie, a także dlatego, że po awarii mogą pojawić się nowe awarie, być może nawet wywołane przez nie.

Proszę przeczytać mój profil
źródło
1

Czytając twój komentarz pod pytaniem, uważam, że F3 robi dokładnie to, co chcesz. Kompiluje się w systemie Linux / Mac OS X i jest również dostępny przez Homebrew.

Sam Brightman
źródło
-1

Znalazłem to w google, nie używam kart SD do przechowywania aparatów, ale zamiast tego całkowicie zepsułem moją klasę 10 32 giga sandisk SDHC po niespełna 2 latach użytkowania na mojej Samsung Galaxy S2.

Używam Badblocks, aby zobaczyć, gdzie zaczynają się pierwsze Badblocks, a następnie utworzę partycje wokół tego obszaru, jeśli to możliwe. to jest moje obecne, bardzo złe rozwiązanie: /

użytkownik172681
źródło
czy mógłbyś rozwinąć swoją odpowiedź? W oparciu o szybkie wyszukiwanie wydaje mi się, że „badblocks” to program dla systemu Linux? Czy robi to, czego wymaga PO?
MikeW