Bagaimana alat diagnostik hard drive tahu jika suatu sektor buruk?

13

Ketika saya mengalami hard drive yang mungkin gagal, saya memindai menggunakan ViVARD , yang andal memberi tahu saya jika drive perlu diganti.

Bagaimana cara kerja alat-alat ini? Bagaimana mereka bisa tahu sektor yang buruk dari sektor yang baik?

David
sumber
4
Perangkat lunak seperti itu membaca setiap sektor pada drive. Jika tidak dapat dibaca, ia dapat mencoba beberapa trik untuk membacanya, jika cukup data dalam suatu sektor tidak dapat dibaca dan tidak dapat dipulihkan maka itu ditandai sebagai buruk.
Moab
2
Firmware tidak memberi tahu mereka. Cara kerja HDD sejak saat itu telah berubah secara drastis dalam 25 tahun, dan bahkan 5 tahun terakhir.
qasdfdsaq

Jawaban:

9

Hard drive modern menerapkan sistem dalam firmware yang disebut SMART . Sistem ini mengumpulkan statistik pada kinerja drive, dan secara otomatis menghindari kehilangan data dengan memindahkan data dari bad sector.

Alat diagnostik meminta perangkat lunak SMART hard drive untuk membuat laporan pemeriksaan kesehatan.

Bad sector terdeteksi saat mengakses hard disk dan dihindari dan dipindahkan oleh sistem SMART.

Stavr00
sumber
1
modern, tetapi ini sangat mungkin dan biasa bahkan tanpa mereka.
eis
7

Saya tidak tahu ViVARD jadi ini adalah jawaban umum.

PINTAR

SMART adalah bagian dari sebagian besar drive modern. Ia mendaftar ketika hard drive melihat sektor yang buruk, ketika waktu mencari atau memutar lebih dari normal. Ini semua adalah indikator bahwa hard drive gagal.

Cara hard drive menyelamatkan sektor yang gagal adalah karena kode koreksi kesalahan (biasanya ini adalah Reed-Solomon) yang dapat menyelamatkan jika beberapa bit salah. Jika banyak bit yang salah, hard drive mencoba menyelamatkan dengan membaca sektor ini berulang-ulang. Ketika akhirnya berhasil dengan benar, ia menyimpannya ke salah satu sektor cadangan.

Sektor membaca

Hard drive merealokasi sektor dengan kesalahan baca ke sekumpulan sektor cadangan yang dicadangkan untuk ini. OS biasanya tidak melihat ini, tetapi melihat seluruh drive tidak memiliki kesalahan. Hanya ketika tidak ada lagi sektor untuk dialokasikan kembali (atau sektor tidak dapat diselamatkan) akan OS melihat sektor yang rusak.

Tetapi dimungkinkan untuk melewati koreksi kesalahan (saya percaya itu berbeda untuk setiap model - mungkin ViVARD melakukan ini?). Dengan cara ini Anda dapat membaca data aktual di drive. Dengan membaca ini, Anda akan dapat melihat sektor mana yang memiliki kesalahan - bahkan jika OS tidak melihat kesalahan.

Ole Tange
sumber
0

Gunakan SMART Produsen hard drive harus memiliki unduhan perangkat lunak untuk itu di situs web mereka. Saat Anda menggunakan SMART - jalankan pemindaian penuh.

roberthayek
sumber
-1

Jika saya menulis program diagnostik seperti itu, program saya akan melalui drive sektor per sektor dengan prosedur berikut:

  1. Pindahkan data yang saat ini ada di sektor ke lokasi baru (saat ini kosong) untuk disimpan (dan perbarui tabel file apa pun yang menggunakan sektor ini).
  2. Tulis data baru yang diketahui ke sektor ini.
  3. Baca data tertulis dari sektor ini.
  4. Bandingkan ditulis sedikit demi sedikit dengan apa yang dibaca.
  5. (Dengan asumsi langkah 4 berlalu) Pindahkan data asli kembali ke lokasi asli (untuk menghindari membagi file).

Tentu saja, itu hanya versi yang naif. Saya menduga ada algoritma yang digunakan hari ini untuk membuat proses umum ini lebih efisien. Selain itu, ada pola berbeda yang digunakan alat untuk "data baru yang diketahui", dan berbagai tingkat pengulangan.

Joel Coehoorn
sumber