Sementara caching memang menyebabkan beberapa hal ini, itu bukan satu-satunya faktor. Jika caching adalah satu-satunya faktor, maka kita akan berharap kecepatan tulis turun dengan cepat dari beberapa ratus MB / s ke kecepatan tulis aktual drive dengan sangat cepat, dan tetap di sana selama sisa penulisan. Namun, ini bukan yang saya amati ketika melakukan transfer besar ke dan dari disk (misalnya membakar gambar boot). Sebaliknya, apa yang saya amati adalah bahwa kecepatan secara bertahap menurun selama seluruh operasi.
Perlambatan ini disebabkan oleh remanensi data pada chip flash yang digunakan untuk menyimpan data yang mengharuskan beberapa blok ditulis lebih dari satu kali.
Di dalam chip flash, ada blok data yang dapat ditulis. Saat menulis, hanya ada dua hal yang dapat dilakukan komputer: ia dapat menghapus seluruh blok, atau mengubah beberapa (atau semua) bit dalam satu blok dari 0 menjadi 1.
Namun, beberapa blok tersebut lebih baik daripada yang lain, terutama di flash drive berkualitas rendah, dan sebagai hasilnya ketika menulis data baru, beberapa bit kadang-kadang dapat kembali ke 0 sendiri setelah ditulis, dan tidak bisa berubah. Jadi, ketika menulis ke blok, OS perlu memeriksa untuk memastikan bahwa semua data ditulis dengan benar, dan jika tidak harus mengulang blok dengan menulis data yang sama ke blok yang sama dua atau tiga kali sampai data menempel.
Jadi, ketika komputer Anda menulis banyak data ke flash drive, berikut adalah penjelasan (tidak sepenuhnya akurat, tetapi cukup baik) untuk bagaimana melakukannya:
- Ambil set balok pertama yang akan ditulis, dan tulis semuanya.
- Baca kembali semua blok yang baru saja kita tulis, dan buat daftar yang tidak cocok
- Tulis set blok berikutnya, bersama dengan yang tidak ditulis dengan benar terakhir kali.
- Ulangi 2-3 hingga semua blok telah ditulis dengan benar.
Ketika komputer menulis ke drive, itu melaporkan tingkat di mana ia menulis blok ke drive untuk pertama kalinya. Karena itu juga harus menulis ulang blok sebelumnya pada saat yang sama, total throughput yang dapat digunakan untuk blok perawan turun karena jumlah penulisan ulang yang juga perlu terjadi meningkat. Dengan demikian, kecepatan tulis jelas berkurang dari waktu ke waktu.