Dapatkah data pada hard disk menurun tanpa Windows memperingatkan saya bahwa ini telah terjadi ketika saya mencoba mengakses data?


30

Mungkinkah degradasi fisik hard disk dapat menyebabkan bit 'membalik' isi file tanpa OS 'memperhatikan' dan memberi tahu Anda tentang hal itu ketika membaca file? misalnya bisa 'p' dalam file teks ASCII (biner 0111000 0 ) berubah menjadi 'q' (0111000 1 ) dan kemudian pengguna (saya) dapat membuka file dan melihat 'q' tanpa menyadari bahwa kegagalan telah terjadi?

Saya tertarik pada jawaban yang berkaitan dengan FAT, NTFS, atau ReFS ... jika ada bedanya.

Saya ingin tahu apakah OS melindungi saya dari ini, atau apakah saya harus memeriksa data saya untuk invarian antara salinan / dari waktu ke waktu.


Tidak secara khusus terkait, tetapi serupa: superuser.com/questions/613702/…
Michael Frank

Saya kira itu mungkin untuk kepala baca / tulis yang rusak untuk secara tidak sengaja menerapkan biaya yang salah ke disk, meskipun saya belum pernah melihat korupsi data pada skala kecil. Juga, saya tidak akan mempercayai Windows untuk memberi tahu saya jika drive gagal atau tidak (Pesan saat masuk). Saya telah melihat drive mati perlahan dari waktu ke waktu tanpa peringatan dari Windows.
CConard96

Tentu saja ... data disimpan sebagai bit dengan nilai relatif 0 atau 1, entropi terjadi di semua sistem, termasuk penyimpanan kondisi magnetik dan padat. Semua data menurun seiring waktu.
acejavelin

2
@ Moab: Saya akan lebih terkesan dengan komentar kedua Anda ("Juga ...") jika URL itu, dengan cara apa pun, berbeda dari URL di komentar pertama Anda.
TOOGAM

1
Jika Anda menggunakan ReFS di atas volume cermin (bukan paritas!) Dan mengkonfigurasinya dengan benar, itu akan memeriksa data file serta metadata sistem file. Ini akan diverifikasi saat dibaca (dan diperbaiki jika perlu) dan ada juga pekerjaan terjadwal yang secara berkala akan memindai seluruh volume untuk mendeteksi kesalahan yang terdeteksi.
davidbak

Jawaban:


24

Ya , ada sesuatu yang disebut bit busuk.

Tapi tidak , itu tidak akan memengaruhi Anda tanpa disadari.

Ketika sebuah drive menulis sektor ke piring-piring, ia tidak hanya menulis bit dengan cara yang sama mereka disimpan dalam RAM - ia menggunakan pengkodean untuk memastikan tidak ada urutan dari bit yang sama yang terlalu panjang , dan menambahkan kode ECC, yang memungkinkannya untuk memperbaiki kesalahan yang memengaruhi beberapa bit, dan mendeteksi kesalahan yang memengaruhi lebih dari beberapa bit.

Ketika drive membaca sektor, itu memeriksa kode ECC ini, dan memperbaiki data, jika perlu dan mungkin. Apa yang terjadi selanjutnya tergantung pada keadaan dan firmware drive, yang dipengaruhi oleh penunjukan drive.

  • Jika suatu sektor dapat dibaca dan tidak memiliki masalah ECC, itu diteruskan ke OS
  • Jika suatu sektor dapat diperbaiki dengan mudah, versi yang diperbaiki dapat ditulis ke disk, dibaca kembali, dan diverifikasi, untuk menentukan apakah kesalahan itu acak (sinar kosmik ...) atau jika ada kesalahan sistematis dengan media.
  • Jika drive menentukan ada kesalahan dengan media, itu akan merealokasi sektor tersebut
  • Jika suatu sektor tidak dapat dibaca atau diperbaiki setelah beberapa upaya membaca, pada drive yang ditunjuk sebagai drive RAID , drive akan menyerah, merelokasi kembali sektor tersebut, dan memberi tahu pengontrol bahwa ada masalah. Itu bergantung pada pengontrol RAID untuk merekonstruksi sektor ini dari anggota RAID lainnya, dan menulisnya kembali ke drive yang gagal, yang kemudian menyimpannya di sektor yang dialokasikan kembali yang diharapkan tidak memiliki masalah.
  • Jika suatu sektor tidak dapat dibaca atau diperbaiki pada drive desktop , drive akan melakukan lebih banyak upaya untuk membacanya. Bergantung pada kualitas drive, ini mungkin melibatkan reposisi kepala, memeriksa apakah ada bit yang membalik ketika dibaca berulang kali, memeriksa bit mana yang paling lemah, dan beberapa hal lainnya. Jika salah satu dari upaya ini berhasil, drive akan merealokasi sektor dan menulis kembali data yang diperbaiki.

(Ini adalah salah satu perbedaan utama antara drive yang dijual sebagai drive "Desktop", "NAS / RAID" atau "Video surveillance". Drive RAID dapat menyerah dengan cepat dan membuat pengontrol memperbaiki sektor untuk menghindari latensi pada sisi pengguna. Sebuah drive desktop akan mencoba lagi dan lagi, karena membuat pengguna menunggu beberapa detik mungkin lebih baik daripada memberi tahu mereka bahwa data hilang. Dan drive Video menilai laju data konstan lebih dari pemulihan kesalahan, karena bingkai yang rusak biasanya menang bahkan tidak diperhatikan.)

Bagaimanapun, drive akan tahu jika ada bit busuk, biasanya akan pulih dari itu, dan jika tidak bisa, itu akan memberi tahu controller yang pada gilirannya akan memberi tahu pengemudi yang akan memberitahu OS. Kemudian, tergantung pada OS untuk menyajikan kesalahan ini kepada pengguna dan menindaklanjutinya. Inilah sebabnya mengapa cybernard berkata

Saya tidak pernah menyaksikan sedikit pun kesalahan sendiri, tetapi saya telah melihat banyak hard drive di mana seluruh sektor gagal.

drive akan tahu ada yang salah dengan sektor ini, tetapi tidak tahu bit mana yang gagal. (Satu bit tunggal yang gagal akan selalu ditangkap oleh ECC).

Harap dicatat bahwa chkdsk, dan secara otomatis memperbaiki sistem file, jangan alamat reparing data dalam file. Mereka ditargetkan pada korupsi dengan struktur sistem file; seperti ukuran file yang berbeda antara entri direktori dan jumlah blok yang dialokasikan. Fitur self-healing NTFS akan mendeteksi kerusakan struktural dan mencegahnya memengaruhi data Anda lebih lanjut, mereka tidak akan memperbaiki data apa pun yang sudah rusak.

Tentu saja ada alasan lain mengapa data menjadi rusak. Sebagai contoh. RAM buruk pada pengontrol dapat mengubah data bahkan sebelum dikirim ke drive. Dalam hal itu, tidak ada mekanisme pada drive yang akan mendeteksi atau memperbaiki data, dan ini mungkin menjadi salah satu alasan mengapa struktur sistem file rusak. Alasan lain termasuk bug perangkat lunak biasa, padam saat menulis disk (meskipun ini ditangani oleh penjurnalan filesystem), atau driver sistem file yang buruk (driver NTFS di Linux secara default hanya-baca untuk waktu yang lama, karena NTFS direkayasa balik, tidak didokumentasikan , dan pengembang tidak mempercayai kode mereka sendiri).

Saya memiliki skenario ini sekali, di mana aplikasi akan menyimpan semua file ke dua server yang berbeda ke pusat data yang berbeda, untuk menyimpan salinan yang berfungsi jika data dalam semua keadaan. Setelah beberapa bulan, kami perhatikan bahwa pada salah satu salinan, sekitar 0,1% dari semua file tidak cocok dengan jumlah MD5 yang disimpan oleh aplikasi dalam database-nya. Ternyata menjadi kabel serat yang rusak antara server dan SAN.

Alasan-alasan lain inilah mengapa beberapa sistem file, seperti ZFS, menyimpan informasi checksum tambahan untuk mendeteksi kesalahan. Mereka dirancang untuk melindungi Anda dari lebih banyak hal yang bisa salah daripada hanya sedikit busuk.


2
+1 untuk menunjukkan bahwa masalah perangkat keras lain selain mendorong degradasi media dapat menyebabkan data yang rusak dibaca dan ditulis . Saya pribadi memiliki masalah dengan kabel yang buruk di dalam case. Dan, FYI, selain ZFS, sistem file Windows ReFS (untuk Server 2012+) ketika dikonfigurasikan dengan benar dan berjalan di atas Storage Spaces akan memeriksa data file serta metadata sistem file dan memulihkannya, ditambah lagi akan melakukan volume keseluruhan berkala pemindaian integritas untuk mendeteksi dan memperbaiki banyak kesalahan seperti itu.
davidbak

17

Ya, hard drive dapat dan tidak terdegradasi tanpa peringatan dari OS. Ini disebut bit busuk . Saya tidak pernah menyaksikan sedikit pun kesalahan sendiri, tetapi saya telah melihat banyak hard drive di mana seluruh sektor gagal.

Windows tidak memiliki perlindungan bawaan terhadap konten file di luar struktur sistem file NTFS. Pikirkan NTFS sebagai buku: baik itu hanya melindungi daftar isi dan memverifikasi bahwa semuanya cocok. Namun, jika kerusakan ada di tengah-tengah halaman, ia tidak menawarkan perlindungan. FAT tidak punya apa-apa. Hard drive menggunakan koreksi kesalahan ECC berdasarkan per-sektor, tetapi drive tidak memberi tahu Windows. Beberapa jenis file secara khusus memiliki hash CRC, MD5, atau SHA untuk mendeteksi korupsi, tetapi mereka tidak memperbaiki apa pun.

Bahkan hash itu hanya memberitahu Anda ada masalah, tetapi tidak tahu di mana kesalahan itu berada.

Hard drive memiliki SMART yang memantau kesehatan hard drive, tetapi kecuali jika drive ada di ambang kematian, BIOS tidak akan memperingatkan Anda. Yang terburuk, SMART sering dinonaktifkan secara default di BIOS Anda. Anda dapat memantau angka-angka melalui perangkat lunak, tetapi drive yang berbeda memiliki masalah yang berbeda. Jika Anda memiliki banyak sektor yang dipindahkan, atau kesalahan ECC Anda terus meningkat. Jika Anda memiliki 100.000 ECC baru setiap hari, itu pertanda buruk.

Banyak jenis file tidak memiliki perlindungan terhadap bit busuk . Seperti, TXT dan BMP, yang tidak memiliki perlindungan sama sekali. Winrar memiliki opsi opsional untuk menambahkan data paritas ke arsip yang akan membuat file lebih besar, tetapi dapat mendeteksi (sebanding dengan jumlah data paritas yang ditambahkan) dan memperbaiki kesalahan semacam ini.

Semua program kompresi lain yang saya tahu mendeteksi kesalahan, tetapi tidak berdaya untuk melakukan apa-apa.

Akhirnya, kesalahan dalam suatu sektor akan sangat buruk ECC tidak dapat memperbaikinya, dan drive akan memberi Anda apa yang dibaca meskipun itu salah.

Anda dapat menggunakan QuickPar atau yang serupa untuk membuat file data paritas, tetapi sejauh yang saya tahu tidak ada cara untuk mengotomatiskannya. Misalnya, Anda benar-benar mengubah file sendiri ketika Anda harus memperbarui paritas secara manual. Anda juga dapat memiliki data paritas untuk sekelompok file, tetapi Anda mengubah 1 file dan seluruh set paritas harus dibuat ulang. Ini benar-benar sakit kepala bagi semua, tetapi sejumlah kecil file.


Windows, chdsk, atau NTFS memiliki deteksi terhadap bit busuk, yang ditangani oleh RAID, atau sistem file dengan paritas. Partisi yang buruk bukan juga disebabkan oleh bit busuk. Saya menyetujui jawaban ini
Ramhound

1
@Ramhound Sedihnya, jumlah pengguna yang melindungi data di sana dengan mirroring RAID, level 5, atau level 6 mungkin kurang dari 0,01%
cybernard

Saya tahu saya berbicara secara umum. Sedikit busuk! = Partisi buruk
Ramhound

1
NOR = TIDAK ATAU; digunakan dalam kalimat berarti daftar eksklusif;
Ramhound

1
Saya memiliki hard drive 750GB yang melakukan hal-hal seperti ini. Pertama-tama komputer itu lambat dan membeku sepanjang waktu. Ketika saya beberapa file teks bagian dari itu adalah memusatkan perhatian atau telah kacau. Komputer kemudian berhenti booting. Mendapat hard disk baru (saya mendapat HDD bukan SSD. Saya pikir saya seharusnya mendapatkan SSD) dan masalahnya berjalan dan PC cepat
Suici Doga

2

Ya itu mungkin. Windows hanyalah perangkat lunak. Perangkat lunak adalah serangkaian instruksi untuk diikuti komputer.

Pikirkan tentang jenis lain dari serangkaian instruksi: buku. Apa yang dapat dilakukan oleh instruksi-instruksi itu jika ditulis dalam sebuah buku yang diletakkan di rak dan tidak ada yang mau membuka buku itu dan membaca instruksi itu?

Sama seperti instruksi tertulis yang mengharuskan seseorang untuk membaca instruksi dan mulai mengikuti instruksi, perangkat lunak komputer membutuhkan perangkat keras untuk melakukan hal-hal yang berguna. Bahkan jika sebuah buku memiliki instruksi yang ditulis dengan akurasi luar biasa, itu tidak mencegah masalah jika seseorang memutuskan untuk membaca instruksi tetapi kemudian menerapkannya secara salah. Demikian pula, perangkat lunak tidak dapat mencegah perangkat keras melakukan hal-hal buruk. Jadi, perangkat keras yang rusak dapat secara fisik menang atas apa yang dapat dilakukan perangkat lunak apa pun, termasuk Microsoft Windows.

Sekarang, ReFS dapat dirancang dengan maksud agar perangkat lunak akan menyimpan detail tentang data, dan agar perangkat lunak membandingkan rincian itu nanti. Konsep sederhana adalah "checksum", di mana perangkat lunak menambahkan nilai-nilai tertentu dan memastikan bahwa nilai-nilai tersebut sesuai dengan hasil yang diharapkan. Ketika perangkat keras mengimplementasikan perangkat lunak itu, maka hasil buruk tertentu mungkin dapat dideteksi. Ini bahkan sangat mungkin untuk bekerja. Namun, karena jumlah masalah potensial, yang mungkin secara teoritis ada, pada dasarnya adalah angka tak terbatas, tidak ada jaminan bahwa perangkat lunak akan mendeteksi setiap masalah. (Ingatlah bahwa perangkat lunak adalah serangkaian instruksi yang telah dibuat sebelumnya.)

FAT sangat rendah pada fitur. FAT12 dirancang untuk floppy disk, dan FAT16 untuk sistem hingga 4GB (meskipun sebagian besar implementasi FAT16 dari Microsoft cenderung tidak bekerja di atas 2GB). Tanpa ekstensi VFAT, tak satu pun dari mereka mendukung nama file lebih dari 11 karakter (beberapa di antaranya akan berada di bagian yang disebut "ekstensi"). FAT hanya dirancang untuk menyimpan data pada saat kemampuan menyimpan data adalah konsep baru yang perlu diajarkan orang dewasa. Ketika FAT dianggap sebagai teknologi "terdepan", teknologi komputer belum cukup lazim dan rumit bagi orang untuk khawatir tentang fitur-fitur canggih.

NTFS menambahkan dukungan untuk beberapa fitur lainnya, mungkin yang paling utama memiliki sistem operasi dapat dengan mudah melacak izin pengguna. Ada berbagai versi NTFS. Misalnya, Moab menunjukkan bahwa Windows Server 2008 menambahkan dukungan untuk penyembuhan sendiri NTFS, yang dapat mendeteksi beberapa hal. Namun, fitur itu masih baru untuk Windows Server 2008, jadi itu bukan sesuatu yang didukung sama sekali oleh Windows XP (atau Windows Server 2003, atau sebelumnya). Bahkan masih, melihat daftar fitur, tampaknya ini melibatkan beberapa meta-data yang membantu sistem operasi melihat masalah yang sangat parah sehingga disk tidak dapat me-mount, atau area kunci lain dari disk yang mempengaruhi kernel sistem operasi. Itu tidak terlihat seperti setiap bagian data, di setiap file tunggal, akan terpengaruh oleh fitur tertentu ini.

Perangkat lunak untuk sistem operasi seperti itu sangat tidak mungkin untuk memperhatikan hal-hal seperti itu, kecuali jika mereka menyebabkan masalah penting bagi sistem operasi untuk menyelesaikan tugas. Mungkin ada beberapa pengecualian, seperti bagian dari sistem operasi yang memeriksa disk (CheckDsk / ChkDsk / ScanDisk / ScanDskW, tergantung pada sistem operasi), tetapi bahkan mereka akan agak terbatas pada apa yang dapat mereka deteksi, terutama karena sistem file tidak dapat menyimpan sejumlah besar data yang dimaksudkan untuk berguna untuk pemeriksaan disk.

(RAID5 mungkin lebih rentan untuk mendeteksi hal-hal seperti itu, dengan setiap bit memiliki bit paritas yang akan membantu melihat sesuatu yang tidak biasa. Bahkan kemudian, akan tergantung pada implementasi RAID untuk menjalankan pemeriksaan untuk melihat masalah. Jika masalah terjadi pada bagian dari disk yang tidak bekerja secara aktif, masalahnya mungkin tetap tidak diperhatikan sampai seseorang mencoba untuk mulai menggunakan data itu.)

Dalam waktu yang lebih baru, jumlah bit yang lebih besar berarti kemungkinan kecil, seperti peluang "1 banding 10 juta", lebih cenderung memengaruhi banyak hal. Masyarakat umum juga telah belajar tentang "sinar kosmik", yang mungkin berdampak kecil pada banyak hal. Karena bit sedang dijejali dengan sangat ketat di perangkat yang lebih baru, persyaratan fisik untuk mewakili bit lebih kecil, sehingga dampak kecil bahkan lebih mungkin dipusingkan dengan bagaimana bit dikenali. ReFS memiliki beberapa fitur yang dirancang untuk membantu mereka terdeteksi. Artikel Wikipedia tentang ReFS menyebut ini sebagai "pemeriksaan integritas otomatis". Seperti yang dideskripsikan sebagai fitur penting dari sistem file ini, fitur seperti itu kemungkinan lebih berkembang daripada dengan NTFS (dan tentu saja lebih dari FAT, yang sifatnya relatif sederhana,

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.