LINUX.ORG.RU

История изменений

Исправление NiTr0, (текущая версия) :

С другой стороны, многие изношеные флешки/карточки спокойно портят данные, но не переходят в RO, считая что у них всё в порядке

а рандомная запись в них при этом идет, или они только на чтение юзаются?

И я не помню, в каком-то стандарте написано, что при отсутствии резервных блоков контроллер должен переходить в RO?

нет резервных блоков - все ушли на бэды, значит ресурс исчерпался, значит - лочиться и блокировать запись, не дожидаясь пока данные развалятся.

Уже три месяца прошло и считываются одинаковые данные, то есть как исходно, сразу после записи отдельные байты в отдельных секторах «мутировали», так всё и остаётся

а оно в принципе не должно читаться, должно ошибку выбивать. но может китайцы в своих контроллерах для удешевления или для того чтобы флэшки по гарантии не возвращали с такими мелочами не заморачиваются)))

Запросто, у флешек/карточек короткие CRC и нет сложной системы перекрёстных контрольных сумм, как у SSD, чтобы контроллер не загружать расчётами, и они просто не замечают, когда в блоке куча бит поменяла значения.

нет, там есть избыточность. потому как утекание заряда на нанд флэши это естественный документированный процесс, и без избыточности нанд нежизнеспособна. обнаружить нескорректированную ошибку эти алгоритмы тоже могут. а вот почему, вероятно, они не выдают ошибку чтения - я уже написал выше)))

Исходная версия NiTr0, :

С другой стороны, многие изношеные флешки/карточки спокойно портят данные, но не переходят в RO, считая что у них всё в порядке

а рандомная запись в них при этом идет, или они только на чтение юзаются?

И я не помню, в каком-то стандарте написано, что при отсутствии резервных блоков контроллер должен переходить в RO?

нет резервных блоков - все ушли на бэды, значит ресурс исчерпался, значит - лочиться и блокировать запись, не дожидаясь пока данные развалятся.

Уже три месяца прошло и считываются одинаковые данные, то есть как исходно, сразу после записи отдельные байты в отдельных секторах «мутировали», так всё и остаётся

а оно в принципе не должно читаться, должно ошибку выбивать. но может китайцы в своих контроллерах для удешевления или для того чтобы флэшки по гарантии не возвращали с такими мелочами не заморачиваются)))