Apakah "Menghentikan" drive USB benar-benar memengaruhi drive?

48

Saya selalu mencabut USB drive dari komputer saya selama bertahun-tahun dan tidak ada hal buruk yang terjadi; tapi saya dengar Anda seharusnya menggunakan " Safely Remove Hardware" sebelum melepas drive. Apa yang dilakukan program " Safely Remove Hardware" (selain membersihkan buffer output)?
Apakah ini direkomendasikan hanya untuk memastikan bahwa semua pengiriman data ke perangkat telah berhenti, atau ada alasan lain?

Nate Koppenhaver
sumber
Saya juga memeriksa untuk memastikan drive tidak digunakan atau sedang ditulis.
Moab
Ini TIDAK mempengaruhi drive itu sendiri. Namun itu dapat mempengaruhi file pada drive. Ini karena seperti yang dinyatakan sebelumnya, file dalam cache pada saat itu, jadi ketika Anda mengeluarkan drive itu akan menulis file ke drive, jika tidak, Anda mungkin mendapatkan file yang rusak.
Matt
@ Mat: Drive juga memiliki cache.
Billy ONeal
@ BillyONeal saya tidak pernah mengatakan itu tidak :), ketika saya mengatakan drive yang saya maksud adalah piring-piring yang sebenarnya, dari memori volatile ke memori nonvolatile.
Matt
@ Matt: Bagaimana ini tidak mempengaruhi piring-piring? Operasi mengeluarkan flushes buffer ke piring-piring.
Billy ONeal

Jawaban:

74

Ini tergantung pada pengaturan apa yang telah Anda tetapkan untuk drive. Misalnya, jika Anda melihat pengelola perangkat untuk disk drive itu sendiri, Anda akan melihat sesuatu seperti ini:

Contoh Pengelola Perangkat

Jika Anda memiliki opsi pertama (penghapusan cepat) yang dipilih, maka mengeluarkan drive hanya melonggarkan partisi, dan tidak lagi memungkinkan program untuk mengakses drive.

Jika Anda memilih opsi kedua (kinerja yang lebih baik), maka mengeluarkan drive akan mem-flush semua cache yang ada di memori, meng-unmount sistem file (yang mungkin juga membilas beberapa buffer), dan mem-flush buffer pada perangkat.

Billy ONeal
sumber
7
+1 untuk mencatat bahwa "itu tergantung" pada konfigurasi, dan termasuk tangkapan layar
Lynn Crumbling
Jawaban bagus! Apakah Anda tertarik untuk menulis tentang ini secara singkat untuk Blog Super User ? Jika demikian, beri tahu saya dalam obrolan atau dengan menanggapi komentar ini.
nhinkle
Ini mengasumsikan Anda menggunakan Windows tentu saja ... Mesin Mac dan Linux tidak memiliki opsi itu AFAIK, tetapi masih akan mengeluh jika Anda mengeluarkan stik USB sebelum melepas drive.
calum_b
@scottishwildcat - Mesin Mac dan Linux menunda penanganan cache ke kode sistem file. Filesystem FAT (32, exFAT dll) secara default sync menulis setiap 5s, NTFS (implementasi rw - fuse) selalu rumit dan di luar pengetahuan saya, ext2,3 berperilaku mirip dengan FAT .. XFS, btrfs, ext4 secara default jauh lebih menyenangkan , Saya tidak tahu tentang UFS / UFS + di MacOSX.
qdot
1
@qdot: Sebagian besar drive tingkat konsumen tidak melakukan banyak hal dalam cara menulis kembali caching. Drive perusahaan yang lebih besar hampir selalu memiliki beberapa bentuk cache tulis-kembali baik pada drive atau controller. Kedua jenis tersedia sebagai versi eksternal. Ini bukan spesifikasi USB Mass Storage yang sedang kita bicarakan di sini; dialog yang sama digunakan untuk semua jenis perangkat yang dapat diputus; mis. eSATA, FireWire, IBIS / HSDL, LightPeak, dll.
Billy ONeal
8

Data baru tidak langsung disimpan ke drive USB, tetapi disimpan dalam RAM untuk beberapa waktu. Motivasi utama appoarch itu adalah untuk mendapatkan kinerja pada halaman yang berulang kali ditulis ulang.

Jadi, dengan mencabut kabel secara tidak aman Anda memiliki risiko bahwa halaman yang baru-baru ini disimpan sementara di RAM tidak akan pernah mencapai disk.

Ini mungkin mempengaruhi tidak hanya data, tetapi metadata juga - seluruh direktori mungkin hilang, menunjukkan sampah dll. Ini lebih kecil kemungkinannya terjadi pada NTFS, karena NTFS memiliki log transaksi untuk metadata. Jadi pada NTFS Anda hanya merusak data pengguna dalam file dan memiliki perubahan metadata yang dibatalkan jika Anda beruntung pada unplug yang tidak aman.

Mikhail Kupchik
sumber
4
Log transaksi NTFS memastikan konsistensi sistem file. Itu tidak memastikan bahwa semua yang Anda tulis ke volume benar-benar ditulis.
Billy ONeal
1
Cara kerjanya juga sebaliknya. Jika data jika disalin ke komputer membentuk HDD, maka mungkin telah dijadwalkan untuk transfer yang tertunda. Dalam hal ini, data akan muncul di drive tujuan tetapi jika host dicabut, data tujuan akan hilang.
AndrejaKo
Selain itu, penundaan penulisan ke drive mencoba meminimalkan penulisan total - memperpanjang masa pakai drive.
DefenestrationDay
@CapsicumDreams: Mungkin untuk solid state drive itu benar. Penyimpanan magnetik konvensional tidak memiliki batas jumlah tulis. (Ya setidaknya tidak di wilayah "cukup kecil sehingga seseorang mungkin mencapai batas")
Billy ONeal
3

Persis, inilah semua yang dilakukannya. Ini mengguyur semua buffer dan memastikan tidak ada lagi yang dapat mengakses drive USB dengan melepaskannya dari sistem.

sinni800
sumber