Коллеги!
Считаю необходимым написать следующее:
ТЕОРИЯ
Буквально недавно, флэшки делались по технологии SLC - Single
Level Cell. Одна ячейка содержала один бит данных. 0 или 1. Но
ради повышения ёмкости, были изобретены микросхемы MLC - Multi
Level Cell. Там одна ячейка уже находится не в двух, а в
нескольких состояниях (как это сделано технологически - я не
разбирался). Так как из неё может быть считано не только 0 и 1, а
и промежуточные значения, одной ячейкой кодируют несколько битов.
Но за всё надо платить. Здесь платой является достоверность
считывания. Поэтому весь Инет пестрит статьями о том, что при
использовании SLC достаточно использовать код Хэмминга,
исправляющий 1 бит на блок (во флэшах обычно защищаемый блок
равен 256 байт), а вот при использовании MLC, Хэмминга
недостаточно. Нужно или Рида-Соломона, или БЧХ. Оба метода
исправляют гораздо больше битовых ошибок на блок.
Разумеется, все контроллеры, предназначенные для флэшек, теперь
содержат аппаратный вычислитель ECC. Старые - Хэмминга, новые -
Рида-Соломона, БЧХ или оба вместе.
Добавлю также, что фирма MICRON в документации снизила число
гарантированных стираний со ста тысяч до десяти тысяч.
Казалось бы, всё пока под контролем, чего шум-то поднимать? А шум
поднимать есть из-за чего
ПРАКТИКА
Мои знакомые, работающие в сервис-центре провели опыт. Купили
новый флэшак и стали прописывать его случайными сичлами, а затем
- считывать и сравнивать данные с исходными. Первое несравнение
появилось через вшивую сотню-другую считываний. При этом
сообщения об ошибке чтения от Windows не поступило!!! Потом ещё
несколько десятков раз всё читалось на ура, после чего - снова
несравнение. Правда, там контроллер был не самый распространённый
в мире (при покупке флэша не посмотришь, что внутри).
А недавно мне понадобилось перекидывать огромные (8-16 гигабайт)
файлы с одной машины на другую. Причём одна из машин не могла
быть подключена к сети. Объём же файлов не позволял напрямую
копировать их на флэш (там система FAT32, а в ней больше 4Г файл
не сделаешь). Выход - многотомные архивы.
И вдруг... Что такое? На очередном этапе перекидывания ошибка CRC
при распаковке. Наверное, рано вытащил флэшку. Уффф. Повторная
запись удалась. Ещё через несколько этапов - снова ошибка CRC.
Как говорил Чукча: "Однако тен-ден-ци-я". А сейчас - 100% ошибок
CRC... И это - при нескольких десятках итераций (я - не тестовая
программа, я бы задолбался ручками сотни раз писать). Флэшка,
конечно, не самая новая в мире, но и почти не замучанная. А
главное - на ОЧЕНЬ РАСПРОСТРАНЁННОМ КОНТРОЛЛЕРЕ ALCOR 6984. Такие
сейчас много в какие накопители ставят. Здрасьте, приехали...
ВЫВОДЫ
1) РЕкомендуется на флэшках хранить только данные, защищённые CRC.
Например, архивы. Что касается добавления информации для
восстановления, то я сегодня в RAR 5% добавил - не помогло. Может
что не так делал, конечно...
2) Отправляясь в дальнюю командировку, данные везём не менее, чем
на двух разных флэшках. Перед отъездом - проверяем целостность
всех критичных архивов
3) Новые технологии способны опошлить самую светлую идею.
(с) Владислав Шаклеин
PS не знаю, как связаться с администрацией. Может быть есть смысл
оформить в статью ?