Algoritma Leveling Keausan Flash NAND

Aug 27, 2022

Karena jumlah operasi tulis memori flash terbatas, jika 100.000 operasi tulis telah dilakukan pada beberapa unit, keandalan penulisan unit ini tidak dapat dijamin, dan beberapa unit mungkin gagal. Misalnya, beberapa log sistem data manajemen sering ditulis ulang, sementara beberapa data file statis hampir tidak pernah ditulis ulang. Jika tidak dikontrol, beberapa blok akan rusak terlebih dahulu karena penghapusan berulang, dan beberapa blok belum ditulis ulang, Untuk mengatasi masalah ini, operasi tulis didistribusikan secara merata ke semua sel memori flash untuk membuat keseimbangan secara keseluruhan untuk menghindari kegagalan sel individu. Wear leveling adalah algoritma yang banyak digunakan untuk mengatasi masalah ini.

Perataan keausan adalah untuk menyediakan mekanisme pemetaan blok untuk menyebarkan kehilangan tulis di antara blok yang berbeda. Ini tidak akan menyebabkan beberapa blok ditulis terlebih dahulu dan membatalkan seluruh disk SSD. Sebaliknya, beberapa blok yang dicadangkan akan menggantikan blok yang gagal sebelum masa pakai yang diharapkan. Algoritma ini membuat masa pakai seluruh perangkat sama dengan masa pakai maksimum flash.

Umumnya, algoritma penyimpanan file berbasis halaman digunakan untuk mewujudkan perataan keausan. Tidak ada korespondensi satu-ke-satu antara alamat fisik dan alamat logis memori flash. Ketika SSD menerima permintaan penulisan data, SSD tidak akan menulis secara berurutan, tetapi menemukan unit dengan penulisan paling sedikit. Oleh karena itu, ketika secara dinamis mengalokasikan blok fisik untuk menulis data, prioritas yang sesuai akan dialokasikan sesuai dengan penggunaan setiap blok, sehingga dapat menyeimbangkan masa pakai setiap sel dari seluruh memori.