Bagaimana saya bisa menguji kartu memori untuk kinerja dan bad sector?

10

Saya baru saja membeli kartu CF baru untuk DSLR saya. Saya mengujinya menggunakan Xbench (Mac OS X) dan berkinerja seperti yang diharapkan. Namun, saya ingin melakukan "pemindaian permukaan" (istilah platter bergerak) untuk memeriksa "bad sector" (istilah platter bergerak). Saya bisa mem-bash script proses menggunakan dd, tapi saya merasa ada cara yang lebih baik di luar sana. Tujuan saya adalah untuk mengetahui secara meyakinkan bahwa kartu memori (CF, SD, dll.) Aman untuk digunakan pada pemotretan, dan itu tidak perlu dikembalikan sebelum jendela kebijakan vendor 30 hari berakhir.

Saya pasti ingin solusi Mac diberikan di sini. Saya juga ingin mendapatkan beberapa saran Linux. Mari kita melemparkan tulang ke pengguna windows hanya agar pertanyaan yang satu ini dapat memenuhi kebutuhan semua orang.

Bruno Bronosky
sumber
Saya mengerti bahwa solid state memory berbeda dari spinning platters. Saya tidak perlu pelajaran tentang itu. Yang saya butuhkan adalah cara memverifikasi perangkat yang saya miliki. Prosesnya sederhana: Isi perangkat dengan konten tahu. Baca dari perangkat dan verifikasi kontennya. Jika Anda mendapatkan kesalahan saat membaca atau menulis, jelas kegagalan. Jika konten yang Anda baca berbeda dari apa yang Anda tulis, itu kegagalan yang kurang jelas. Tanggal harus acak dan banyak siklus harus digunakan. Yang saya butuhkan adalah alat yang melakukannya. Saya sudah menulis satu, tetapi ini adalah hack.
Bruno Bronosky

Jawaban:

8

Karena pengontrol dapat memindahkan blok di mana pun ia inginkan (lihat leveling aus), satu-satunya kesempatan bagi keseluruhan sistem baca / tulis untuk mengisi disk dan membandingkannya. Beberapa kali dengan pola yang berbeda tentu saja untuk memastikan.

Dan tetap saja Anda tidak akan menangkap daerah yang salah, karena mereka juga disembunyikan oleh pengontrol selama ia memiliki suku cadang.

Leonidas
sumber
6

Memori flash tidak bekerja dengan cara yang sama seperti disk dengan piringan. Konsep "bad sector" tidak benar-benar ada dengan memori flash. Saat ini, dengan memori flash dan SSD, pengontrol bawaan mengidentifikasi dan menandai blok memori yang tidak dapat digunakan, secara dinamis memindahkan data untuk mengurangi batasan penulisan blok, dll. Fitur-fitur ini jauh lebih lazim di SSD, tetapi beberapa juga ada dalam kartu flash berkualitas (seperti SanDisk).

Sebagian besar alat pengecekan sistem file membuat asumsi spesifik tentang struktur fisik perangkat penyimpanan (berbasis platter, dengan silinder fisik, sektor, kluster, dll.), Atau bekerja pada level abstrak dan membuat perbaikan "secara virtual" menggunakan file atau direktori meja. Anda akan memerlukan alat yang dirancang khusus untuk menandai blok buruk pada perangkat memori flash, karena hal lain akan menyebabkan lebih banyak masalah (dengan mengasumsikan itu dapat memperbaiki masalah dengan cara yang sama dengan perangkat berbasis platter) atau membuat virtual perbaikan yang tidak memperhitungkan fitur tingkat perangkat keras dinamis dari flash. Bahkan jika Anda dapat menandai "sektor" atau "cluster" tertentu sebagai 'buruk', itu tidak akan selalu ada gunanya, karena konsep fisik tersebut tidak benar-benar ada dalam memori flash. Jika perangkat flash lebih maju, dan secara dinamis memindahkan data untuk secara otomatis memotong blok buruk dan mengurangi batasan penulisan, lokasi fisik data mungkin berada di blok buruk satu saat, dan di blok yang baik sesaat kemudian. (Perhatikan bahwa ide blok "buruk" dalam memori flash jauh lebih kabur daripada dengan disk platter ... blok memori flash cenderung mati perlahan, daripada tiba-tiba, dan mungkin "berkedip" antara terbaca / tidak dapat dibaca sedikit sebelum menjadi sepenuhnya tidak dapat digunakan.)

Secara umum, ketika datang ke flash, biarkan perangkat mengelola sendiri dari perspektif blok buruk. Pabrikan yang berbeda menyusun dan menyimpan data dengan cara yang berbeda, dan masing-masing mungkin memiliki tingkat dan jumlah perilaku dinamis yang berbeda yang memindahkan data untuk menghindari beberapa keterbatasan memori flash. Mencoba mengelolanya sendiri kemungkinan akan menyebabkan lebih banyak masalah daripada menyelesaikannya, dan dapat membuat flash disk Anda tidak berguna dalam jangka panjang.

Jika Anda ingin menghindari kartu flash yang buruk, saya sangat merekomendasikan menggunakan merek yang memiliki reputasi baik. Saya telah mencoba berbagai kartu flash di masa lalu, namun SanDisk adalah satu-satunya merek yang saya gunakan, setidaknya sampai saat ini, tidak pernah gagal. Saya memiliki beberapa kartu SDHC 4, 8, dan 16 manggung yang saya gunakan cukup banyak, dan secara teratur mengeluarkan kamera saya dan memasukkan ke laptop atau komputer saya, dan mereka masih bekerja dengan sempurna. (Beberapa berusia beberapa tahun.)

jrista
sumber
1
Blok buruk bisa ada dengan perangkat blok apa pun: jika saya menulis beberapa data ke blok tertentu, tapi saya tidak bisa membacanya kembali, itu blok buruk. Pengontrol dapat menyembunyikan masalah ini untuk penulisan, dengan menulis data di tempat lain, tetapi tidak untuk dibaca.
Vaddadi Kartick
3

Di Linux, perintah yang Anda inginkan adalah badblocks. Tampaknya ada port ini ke Mac OS X sebagai bagian dari port ext2-for-os-x ini - instal semuanya dan abaikan semuanya kecuali /usr/local/sbin/badblocksperintah.

Yang mengatakan, ini akan membantu pengujian, tetapi saya tidak berpikir itu akan meyakinkan, karena pertama seperti Leonidas mengatakan, Anda tidak benar-benar mendapatkan akses mentah ke memori flash sehingga sulit untuk melakukan pemindaian lengkap, dan juga karena kegagalan baru dapat muncul setelah tes, bahkan mungkin dipicu olehnya.

Silakan Baca Profil Saya
sumber
1

Membaca komentar Anda di bawah pertanyaan, saya yakin F3 melakukan apa yang Anda inginkan. Ini mengkompilasi di Linux / Mac OS X dan juga tersedia melalui Homebrew.

Sam Brightman
sumber
-1

Saya menemukan ini di google, saya tidak menggunakan kartu sd untuk penyimpanan kamera, tetapi saya mendapat kelas 10 32 gigs sdhc sandisk saya benar-benar rusak setelah kurang dari 2 tahun digunakan pada samsung galaxy S2 saya.

Saya menggunakan badblock untuk melihat di mana badblock pertama dimulai dan kemudian saya akan membuat partisi di sekitar area itu jika memungkinkan. ini solusi saya saat ini, yang sangat sangat buruk: /

pengguna172681
sumber
Bisakah Anda menguraikan jawaban Anda? Berdasarkan pencarian cepat, saya kira "badblocks" adalah program Linux? Apakah itu melakukan apa yang diminta OP?
MikeW