Chip NAND flash memiliki beberapa mekanisme bawaan untuk mendeteksi kegagalan pada operasi tulis dan hapus, dan akan memberi tahu pengontrol jika ada yang gagal. Dalam hal ini, pengontrol dapat mencoba lagi, atau memperlakukan blok itu sebagai buruk dan memetakannya dari algoritma level-keausannya. Setiap halaman di perangkat NAND juga memiliki area cadangan di samping area data utama, yang ditujukan untuk metadata seperti ECC dan bentuk deteksi kesalahan dan toleransi lainnya. Pengontrol dapat memutuskan skema toleransi kesalahan sendiri menggunakan area cadangan. Kode Hamming adalah salah satu skema umum, meskipun ada beberapa, termasuk bit paritas sederhana dan kode Reed-Solomon. Jika beberapa hal tidak cocok dengan operasi baca, sekali lagi, controller bebas untuk melakukan apa yang diinginkan. Idealnya, ini juga akan memetakan blok-blok ini keluar dari algoritma leveling keausan, dan Anda hanya akan kehilangan kapasitas sedikit demi sedikit sampai "terlalu banyak" blok gagal, di mana "terlalu banyak" tergantung pada algoritma dan ukuran struktur perangkat keras dalam pengontrol. Banyak desain pengontrol potongan pertama hanya menyatakan kesalahan pada sistem operasi.
Perhatikan bahwa ini bukan masalah khusus MLC; meskipun sel MLC mungkin lebih rentan terhadap kesalahan baca, karena harus ada margin yang lebih kecil untuk kesalahan, sel SLC gagal dengan sebagian besar mekanisme yang sama, dan dapat ditangani oleh pengontrol dengan cara yang sama.
SSD menggunakan sesuatu yang disebut "wear leveling", di mana drive menyimpan statistik tentang penggunaan sektor dan pada titik tertentu atau ketika mendeteksi masalah, ia akan memindahkan sektor ke cadangan, seperti halnya yang terjadi pada hard drive biasa.
sumber