Secara umum, sebagai jawaban langsung untuk pertanyaan Anda, saya tidak mengetahui adanya merek utama drive SATA yang drive itu sendiri memiliki bug relatif terhadap operasi yang tepat dengan caching diaktifkan. Yaitu, dari perspektif drive saja, drive melakukan apa yang seharusnya dilakukan dari perspektif caching. Saya juga akan mencatat bahwa bahkan ketika menulis caching yang diaktifkan, bahwa penundaan dari disk menulis di kabel SATA ke media berputar secara fisik yang diperbarui masih sangat singkat (~ 50 sampai 100ms biasanya). Ini tidak seperti data cache kotor akan hanya duduk di sana selama beberapa detik ..... drive terus mencoba untuk mendapatkan data kotor dari cacheke media fisik secepat mungkin. Ini bukan hanya masalah keamanan data, tetapi salah satu dari siap untuk menerima penulisan di masa depan tanpa penundaan (yaitu: menulis posting).
Masalah yang muncul ketika caching diaktifkan adalah bahwa urutan penulisan ke drive melalui kabel SATA dan urutan penulisan ke media putar tidak sama. Ini tidak pernah dapat menyebabkan masalah KECUALI Anda kehilangan daya atau kerusakan sistem sebelum semua konten cache masuk ke disk. Mengapa? ->
Masalah yang dapat muncul di sini adalah relatif terhadap kekokohan transaksi dari sistem file dan / atau isi file database untuk penulisan yang rusak. Akibatnya, mereka yang berpotensi kehilangan aturan menulis secara teoritis dapat merusak integritas logika transaksi yang seharusnya dijamin oleh disk menulis yang terjadi dalam urutan yang sangat spesifik kepada media.
Sekarang, tentu saja, para perancang sistem file, basis data, pengontrol RAID, dll. Menyadari (atau tentunya harus sadar) tentang fenomena ini relatif terhadap penulisan caching. Tembolok tulis sangat diinginkan dari sudut pandang kinerja di sebagian besar skenario tipe I / O akses acak. Faktanya, menyediakan caching tulis adalah elemen kunci untuk dapat memiliki manfaat nyata bagi Antrian Perintah Asli ( NCQ) yang lebih canggih) yang didukung pada SATA yang lebih baru dan beberapa generasi terakhir implementasi PATA. Jadi, untuk menjamin pesanan ke media fisik pada saat-saat kritis tertentu, sistem file dan / atau aplikasi, dll. Secara khusus dapat meminta flush dari cache tulis ke media. Pada penyelesaian permintaan sinkronisasi ini - semua yang tertunda dari (berpotensi) buffer file, cache disk OS, cache disk fisik dll. Sebenarnya keluar pada media sesuai desain sistem transaksi pada operasi kritis yang tepat. Artinya, ini terjadi dengan benar jika pemrogram membuat panggilan yang tepat di bagian atas DAN setiap elemen dari rangkaian perangkat lunak dan perangkat keras ini melakukan tugasnya dengan benar. yaitu: Tidak ada bug dalam hal ini di drive, pengontrol RAID, driver disk, cache OS, sistem file, mesin database, dll. Ini adalah banyak perangkat lunak yang semuanya harus berfungsi dengan benar. Selain itu, memverifikasi kebenaran dalam hal ini sangat sulit karena dalam hampir semua situasi biasanya urutan penulisan tidak masalah sama sekali .... dan kegagalan daya dan skenario kerusakan adalah tes sulit untuk dibangun. Jadi, pada akhirnya "mematikan cache tulis" pada satu atau lebih dari berbagai lapisan dan / atau makna istilah ini .... memiliki reputasi "memperbaiki" jenis masalah tertentu. Akibatnya, mematikan perilaku cache tulis dari pengontrol RAID atau Cache Disk OS, atau Drive, dll. Adalah menghindari satu atau lebih bug dalam sistem ..... dan sumber pengetahuan tersebut. dan kegagalan daya dan skenario kerusakan adalah tes sulit untuk dibangun. Jadi, pada akhirnya "mematikan cache tulis" pada satu atau lebih dari berbagai lapisan dan / atau makna istilah ini .... memiliki reputasi "memperbaiki" jenis masalah tertentu. Akibatnya, mematikan perilaku cache tulis dari pengontrol RAID atau Cache Disk OS, atau Drive, dll. Adalah menghindari satu atau lebih bug dalam sistem ..... dan sumber pengetahuan tersebut. dan kegagalan daya dan skenario kerusakan adalah tes sulit untuk dibangun. Jadi, pada akhirnya "mematikan cache tulis" pada satu atau lebih dari berbagai lapisan dan / atau makna istilah ini .... memiliki reputasi "memperbaiki" jenis masalah tertentu. Akibatnya, mematikan perilaku cache tulis dari pengontrol RAID atau Cache Disk OS, atau Drive, dll. Adalah menghindari satu atau lebih bug dalam sistem ..... dan sumber pengetahuan tersebut.
Bagaimanapun, kembali ke inti pertanyaan: Di bawah SATA, penanganan spesifik semua perintah baca / tulis disk dan perintah cache flush didefinisikan dengan baik oleh spesifikasi SATA . Selain itu, produsen drive harus memiliki dokumentasi terperinci untuk setiap model drive atau keluarga drive yang menggambarkan penerapannya dan kepatuhan terhadap aturan ini seperti contoh ini untuk Seagate Barracuda drive . Khususnya, lihat detail FITUR SET SATAperintah yang mengontrol mode operasional drive dan secara khusus opsi 82h dapat digunakan untuk menonaktifkan caching disk pada level drive karena defaultnya adalah caching tulis diaktifkan pada semua drive yang saya ketahui. Jika Anda benar-benar ingin menonaktifkan cache, perintah ini harus dilakukan pada awal setiap drive reset atau power up dan biasanya di bawah kendali driver disk untuk sistem operasi Anda. Anda mungkin dapat mendorong driver OS Anda untuk mengatur mode ini melalui IOCTL dan / atau tipe Pengaturan Registri, tetapi ini sangat bervariasi.