Apa yang dimaksud dengan “Menulis cache buffer flushing” artinya

12

Seperti dalam Opsi Kebijakan Disk Windows 7:

[x] Enable Write Caching on the device
[ ] Turn off Windows write-cache buffer flushing on the device 

Apakah yang pertama cache pada disk fisik, dan yang kedua cache windows?

(Saya sudah googled, tetapi tidak menemukan jawaban yang jelas).

Peterchen
sumber

Jawaban:

12

Lihat bagian "informasi lebih lanjut" dari http://support.microsoft.com/kb/332023 :

Banyak perangkat disk memberikan peningkatan kinerja melalui penggunaan cache onboard , yang menyediakan cache baca-depan untuk data yang sedang dibaca dari disk, dan cache tulis-balik (atau penulisan yang ditunda atau penulisan "malas") untuk data yang sedang ditulis ke disk. Dalam beberapa kasus, penting untuk data yang akan ditulis ke disk fisik segera, dan tidak disimpan dalam cache tulis onboard disk yang akan ditulis nanti pada saat idle. Ini mencegah kehilangan atau kerusakan data ini jika disk atau pengontrol (di mana pun cache tulis diimplementasikan) tiba-tiba kehilangan daya

Caching tulis sangat meningkatkan kinerja disk, jadi biarkan hard drive internal menyala.

Windows ternyata menulis caching Off untuk flash drive dan hard drive usb lainnya secara default, biasanya Anda tidak harus pernah memodifikasi pengaturan ini, Windows mengurusnya untuk Anda.

Moab
sumber
5
seperti kata Moab. Satu-satunya alasan Anda mungkin ingin mempertimbangkan mematikan Caching Tulis pada hard disk internal adalah jika Anda sering mengalami mati-padam atau padam. tetapi jika itu yang terjadi maka saya sarankan Anda berinvestasi dalam UPS yang layak dan meninggalkan caching menulis pada
Xantec
1
Terima kasih untuk tautannya! Jika saya memahaminya dengan benar, itu berarti "jangan menyiram bahkan jika perangkat lunak mengatakannya". Saya sebagian besar ingin tahu tentang opsi kedua, menguji kecepatan membangun pada SSD vs HDD. Masalah jaringan listrik jarang terjadi di sini, memang benar -benar rekayasa Jerman .
peterchen
1
Jawaban ini tidak membantu saya memahami perbedaan antara kedua pengaturan. Jika Anda menghapus cache pada setiap penulisan, maka Anda tidak melakukan caching - dengan cara apa caching diaktifkan (kotak centang pertama)? Tampaknya lebih mungkin bahwa pembilasan terjadi secara berkala ketika kotak centang kedua dinonaktifkan, atau yang serupa.
Sam Brightman
3
@ SamBrightman: sebanyak yang saya mengerti: Pengaturan pertama memungkinkan cache windows - jika aplikasi menulis ke file, itu tidak segera diteruskan ke disk. Sebuah aplikasi dapat memanggil "flush" untuk memaksa sesuatu ditulis secara fisik. Opsi kedua mengatakan: ketika aplikasi mengatakan "flush", Windows masih akan mem-flush cache sendiri ke perangkat, tetapi tidak akan memberi tahu perangkat untuk flush cache internal sendiri. Ini menetralkan perintah "flush" (karena aplikasi menganggap data aman pada disk). Hanya dapat diterima jika keabadian data bukan prioritas.
peterchen
2

Saya selalu mematikan caching, setiap saat, setiap saat. Itu ide yang buruk sejak awal. Saya jelaskan dengan cara ini: Jika Anda mengklik "Simpan" pada dokumen pengolah kata Anda, dan daya gagal, dengan caching di belakang dihapus, dokumen Anda tidak akan disimpan (sampai autosave masuk). Menonaktifkan caching tulis-balik memaksanya untuk benar-benar menulis file Anda ke disk saat Anda mengklik simpan. Hal yang sama berlaku untuk pemadaman listrik, BSOD, crash program, dll.

CodeLurker
sumber
1
Untuk melengkapi jawaban Anda, mungkin Anda bisa menyertakan cara menonaktifkannya. Juga kutip beberapa sumber yang mendukung posisi Anda.
slm
3
Tetapi mengapa ini membuat perbedaan? Anda memiliki masalah yang persis sama jika daya padam sebelum Anda mengklik "Simpan" sama sekali.
David Schwartz
1
@ CodeLurker, manfaat kinerja caching sudah cukup sehingga umumnya sepadan dengan risiko langka hilangnya daya. Jelas keadaan akan menentukan apakah itu harus digunakan atau tidak seperti apakah daya dapat diandalkan atau tidak, jenis file apa yang dominan digunakan, dan sebagainya.
Synetech
2
@ Synetech Itu pada dasarnya tidak ada perbedaan. Ada jendela di mana Anda bisa kehilangan data, dan sebagian besar dari jendela itu adalah sebelum Anda mengklik "Simpan".
David Schwartz
4
Anda juga bisa kehilangan data dengan dihancurkan oleh asteroid yang jatuh sepersekian detik sebelum mengklik [Save]. Menurut perhitungan Anda, Anda mungkin tidak perlu repot-repot menggunakan komputer sama sekali karena kehilangan data Anda tidak terhindarkan. ◔_◔
Synetech
0

Berdasarkan posting blog New New Thing , sepertinya yang pertama adalah caching OS dan yang kedua adalah override untuk cache internal disk selama flush only .

Untuk penulisan normal tanpa flush, cache internal disk akan digunakan terlepas dari pengaturan kedua. Namun, untuk peristiwa sinkronisasi / pembilasan, perilaku defaultnya adalah untuk memastikan bahwa pembilasan cache OS benar-benar membawa data ke media: beri tahu drive juga untuk menghapus cache internal secara eksplisit.

Tidak jelas bagi saya apakah mematikan pengaturan pertama akan melakukan flush disk ini pada setiap penulisan, atau bahkan menonaktifkan cache di-disk serta menonaktifkan cache OS.

Sam Brightman
sumber