Дополнение к моему предыдущему сообщению.
Провёл ещё один эксперимент с RT809H, на этот раз с NAND Samsung K9GAG08U0E.
После записи NAND я выполнил функцию Bad Block Detect. Были обнаружены те же физические bad-блоки, которые присутствовали до записи. После этого выполнил Verify — записанные данные остались на месте, содержимое NAND не было стёрто.
Таким образом, на K9GAG08U0E функция Bad Block Detect оказалась недеструктивной.
Это интересное отличие от моего предыдущего случая с H27U1G8F2CTR, где после выполнения Bad Block Detect оригинальная NAND стала полностью читаться как FF. Причём после этого не только RT809H, но и XGECU T48 считывал с микросхемы только FF.
Поэтому теперь я ещё больше склоняюсь к тому, что проблема может быть связана не с самой функцией Bad Block Detect в целом, а с конкретным алгоритмом RT809H для определённых типов NAND.
Получается:
H27U1G8F2CTR → Bad Block Detect → NAND полностью FF
K9GAG08U0E → Bad Block Detect → данные сохранились, Verify проходит
В обоих случаях использовался тот же программатор RT809H.
Возможно, эта информация будет полезна разработчикам для проверки алгоритма работы с H27U1G8F2CTR.