Tes permukaan SMART hampir dipastikan merupakan lintasan baca tunggal, dan tentunya tidak merusak,. Seperti yang telah ditunjukkan itu juga internal ke drive; dengan kemungkinan pengecualian untuk data kontrol minor, tidak ada data yang diteruskan ke atau dari host selama pengujian.
Di sisi lain, badblocks -w
buat empat melewati drive, masing-masing dengan satu tulis dan satu baca. Itu saja menyumbang perbedaan 8x dalam waktu yang diambil untuk tes, ditambah rotasi latensi. Karena perangkat lunak ini berjalan pada host, semua data harus dikocok melalui antarmuka disk ke RAM dan ditangani oleh perangkat lunak (badblocks, dalam kasus kami).
Jika kita mengambil latency rotasi kasus terburuk 1 × (disk perlu membuat satu revolusi penuh setelah menulis data untuk membacanya kembali, yang cukup banyak apa yang akan Anda lihat jika Anda suka badblock pertama-tama mengisi keseluruhan disk dan kemudian membacanya kembali, daripada melakukan I / O satu trek fisik pada waktu yang dengan LBA hampir tidak mungkin), kita berakhir dengan kasus terburuk (1 + 1) × 8 × = 16 × selama diperlukan untuk selesaikan operasi. 16 × 2.5j = 40j, yang tentu saja sesuai dengan angka Anda dan masih mengasumsikan kita hanya berurusan dengan penyimpanan data pada drive dan itu terjadi secepat drive dapat mempertahankan I / O berurutan.
badblocks
sudahkah Anda mempertimbangkan menggunakan params "blok terakhir" "blok pertama" dan melakukan tes sedikit per hari?