Только начал использовать и статистики по надежности пока нет. Пишут что 100.000 циклов. Если использовать ECC то должно намного больше, а если еще сделать предварительное кэширование, изоляцию битых страниц и блоков + циклическая запись для равномерного распределения обращений, то вообще должно получиться супер. Все только программно. Коды ECC в spare. После RAW чтения, коррекция одиночных выпаданий битов в основной 2048 области (например 1-н бит на 256 байт, или даже 2 бита). Пользовательские данные в spare защищены своим ECC, меньшей длины. Блоки у которых 1-й байт spare нуль (правильнее число бит <7, т.к. теоретически в нем тоже могут быть выпадания бит) программно не использовать. После стирания блока, при выдаче плохого статуса, самому пометить как плохой. Статус при записи бесполезен, т.к. возможные битовые ошибки могут быть исправлены кодом ECC, а он выдаст что это ошибка. Надо еще раз прочитать с коррекцией и сравнить с оригиналом. После всех этих операций NAND проживет дольше всего устройства. Хотя думаю очень многие просто используют не напрягаясь, и в этом случае все в итоге халявно.
|