Есть две карточки microSD — Samsung 128 EVO Plus и SanDisk Ultra 128 GB.
Изначальная задумка была — самые самые важные данные зашифровать и хранить на них в 2-х экземплярах. Ну и носить с собой одну в телефоне, допустим, другую дома.
Надеялся что технологии достаточно надежны, тем более 2 карты от двух производителей разных.
Так вот, записал на них данные с контролем хеша для каждого файла, написал прогу специальную. Записалось удачно. Примерно заняло чуть больше половины дискового пространства Через несколько дней буквально проверяю, может неделя-полторы не больше — и уже на каждой из microsSD есть по два битых файла Файлы разные.
Проверяю на SSD — все отлично, все целехонькое.
Так что идея моя оказалась ошибочной и в этом убедился на практике. Попробую еще подержать и посмотреть как быстро файлы портятся.
Здравствуйте, BSOD, Вы писали:
BSO>Как будьто сейчас можно купить другие карты?
Я Вас умоляю. Даже на Ali можно купить приличные карты, только придется поискать, подождать и понервничать. А уж в адекватных магазинах, нормальных производителей — и подавно.
BSO>Если пипл хавает одноразовое, то другого и не найдёшь — рыночек порешал.
Пипл и десять, и двадцать лет назад хавал одноразовое, однако ж все, кому нужно неодноразовое, его успешно находят.
Меня это удивляет потому, что это противоречит моим представлениям о том, как работает современная флеш-память. А именно: информация кодируется с избыточностью и хранятся контрольные суммы в блоках. Это значит, что прочитать неверные данные невозможно. Можно просто не прочитать какие-то данные, если они действительно испортились.
Но это поведение может наблюдаться, если оперативная память работает с ошибками.
Я бы в первую очередь несколько дней погонял оперативную память, чтобы исключить этот вариант.
А также записал бы всё на диски заново, но на этот раз проверил бы записанное, отключив устройство, перезагрузив компьютер и подключив бы его заново.
У меня есть несколько MicroSD карт. В принципе мне не лень, поэтому проведу такой же эксперимент. Запишу на эти карты шум в виде файлов размером в сто мегабайтов, а контрольные суммы буду хранить отдельно. И проверю через несколько дней.
Здравствуйте, Maniacal, Вы писали:
M>чем быстрее карточка, тем больше вероятность быстрой порчи карты
То, что всего за несколько дней испортились файлы сразу на двух разных картах, скорее наводит на мысль или о внешних воздействиях, или о косяках алгоритма проверки целостности.
ЕМ>Вы убедились на практике в том, что либо конкретные экземпляры карт имеют дефекты, либо условия их хранения не соответствуют нормам (высокие температуры, магнитные/электрические поля, электрические разряды и т.п.). Сама идея здесь совершенно ни при чем.
Как будьто сейчас можно купить другие карты?.. Если пипл хавает одноразовое, то другого и не найдёшь — рыночек порешал.
Здравствуйте, Shmj, Вы писали:
S>Есть две карточки microSD — Samsung 128 EVO Plus и SanDisk Ultra 128 GB.
Имхо, либо ты что-то где-то не так делаешь -- собственно, вопросы типа "а чего ты пытаешься сделать?" тебе регулярно задают во всех темах, которые ты наплодил про накопители; либо под видом брэндовых карточек тебе пропихивают фуфло ноунэйм'овое.
У меня микро SanDisk Ultra используются по три-четыре года в дашкамере, т.е. режим постоянной записи-перезаписи, никаких проблем никогда не было.
SanDisk'овые SD карты использую для фото. Учитыаая их стоимость, после заполнения карты копирую фотки на комп и/или nas и cloud, а карточки оставляю лежать в сейфе.
Несколько раз нужно было найти фотки двух-трехлетней давности, которые удалил в процессе отбора на компе, прекрасно все скопировалось с SD карт, пролежавших несколько лет в сейфе.
Здравствуйте, paucity, Вы писали:
P>Имхо, либо ты что-то где-то не так делаешь -- собственно, вопросы типа "а чего ты пытаешься сделать?"
А что не так? Просто взял фотки в количестве несколько тыс. штук размером емнип 80 Гб и скопировал на microSD -карту. Потом проверил целостность прогой — все ОК. Безопасно отключил карту.
Через несколько дней проверяю целостность — 2 файла повреждено из нескольких десятков тыс. Открыл один из файлов — и правда картинка искажена, половина выглядит фиолетовой.
Что тут можно было не так сделать?
P>либо под видом брэндовых карточек тебе пропихивают фуфло ноунэйм'овое.
Как проверить? Это большой оффлайн магазин, сетевой — выдают чек, все официально. Упаковка не была вскрыта — даже сохранилась.
P>У меня микро SanDisk Ultra используются по три-четыре года в дашкамере, т.е. режим постоянной записи-перезаписи, никаких проблем никогда не было.
Вы просто верите в это или как то проверяете целостность файлов? Если из 2 десятков тыс. фоток 2 будут повреждены — как быстро вы об этом узнаете?
P>Несколько раз нужно было найти фотки двух-трехлетней давности, которые удалил в процессе отбора на компе, прекрасно все скопировалось с SD карт, пролежавших несколько лет в сейфе.
Думаю что вы просто верите что все ОК и никак не проверяете целостность файлов.
Здравствуйте, Евгений Музыченко, Вы писали:
S>>Я открывал эти файлы и они действительно повреждены — искажено изображение. ЕМ>И с чего Вы решили, что повреждены именно ячейки памяти, а не кардридер или система ошибочно перезаписали эти блоки?
В общем, немного стыдно — но нужно признать что погорячился.
Похоже проблема в картридере. Сейчас проверил имена файлов и новый список не совпал со старым списком. А еще ж вспомнил что проблема с драйвером для Windows была, возможно не вполне совместимый драйвер.
Здравствуйте, vsb, Вы писали:
vsb>>У меня есть несколько MicroSD карт. В принципе мне не лень, поэтому проведу такой же эксперимент. Запишу на эти карты шум в виде файлов размером в сто мегабайтов, а контрольные суммы буду хранить отдельно. И проверю через несколько дней.
vsb>В общем 5 карточек. 16 goodram, 32 transcend, 16 blackvue и 2x128GB Samsung Pro. Сгенерировал на компьютере файлы по 100MiB примерно на 80-90% объёма, через shasum записал контрольные суммы и скопировал на каждую карту всё это. После этого перезагрузился и на каждой карте прогнал проверку контрольных сумм, проблем не возникло.
Сейчас проверил, на всех картах всё хорошо, пока потерь нет.
Здравствуйте, Shmj, Вы писали:
S>идея моя оказалась ошибочной и в этом убедился на практике.
Вы убедились на практике в том, что либо конкретные экземпляры карт имеют дефекты, либо условия их хранения не соответствуют нормам (высокие температуры, магнитные/электрические поля, электрические разряды и т.п.). Сама идея здесь совершенно ни при чем.
Здравствуйте, Shmj, Вы писали:
S>Так что идея моя оказалась ошибочной и в этом убедился на практике. Попробую еще подержать и посмотреть как быстро файлы портятся.
чем быстрее карточка, тем больше вероятность быстрой порчи карты
Здравствуйте, Евгений Музыченко, Вы писали:
S>>идея моя оказалась ошибочной и в этом убедился на практике. ЕМ>Вы убедились на практике в том, что либо конкретные экземпляры карт имеют дефекты, либо условия их хранения не соответствуют нормам (высокие температуры, магнитные/электрические поля, электрические разряды и т.п.). Сама идея здесь совершенно ни при чем.
Покупал в большом сетевом оффлайн магазине с гарантией — т.е. подделка маловероятна, вряд ли магазин с именем будет таким заниматься.
Производители — разные, но цена, класс памяти и скорость записи примерно одинаковые.
Я вот теперь не знаю что с ними делать. Для хранения данных не подходят вообще, ну никак. А на фотоаппарат мне так много не нужно.
Вернуть по гарантии тоже нельзя — что там 2 бита из 64 млрд. битов попортилось — как я понимаю, не гарантийный случай. Карты то в принципе работают...
Здравствуйте, Shmj, Вы писали:
S>Я вот теперь не знаю что с ними делать. Для хранения данных не подходят вообще, ну никак.
есть архиваторы с избыточностью для восстановления данных. winrar вроде умеет. причем там можно тюнить величину повреждений. Такие архивы можно хранить.
S>Вернуть по гарантии тоже нельзя — что там 2 бита из 64 млрд. битов попортилось — как я понимаю, не гарантийный случай. Карты то в принципе работают...
Если проблема воспроизводится, то почему бы и не попробовать сдать. Вот только в замен выдадут такие же
Также нельзя исключать bug в драйвере файловой системы и сбой памяти (нужен RAM с ECC коррекцией!).
_>есть архиваторы с избыточностью для восстановления данных. winrar вроде умеет. причем там можно тюнить величину повреждений. Такие архивы можно хранить.
Здравствуйте, m2user, Вы писали:
S>>Вернуть по гарантии тоже нельзя — что там 2 бита из 64 млрд. битов попортилось — как я понимаю, не гарантийный случай. Карты то в принципе работают...
M>Если проблема воспроизводится, то почему бы и не попробовать сдать. Вот только в замен выдадут такие же
Я сразу записал и сразу проверил целостность — все было ОК. Но полежало несколько дней и видимо где-то заряд потек и 2 битика таки исказились. Воспроизводить — нужно несколько дней.
M>Также нельзя исключать bug в драйвере файловой системы и сбой памяти (нужен RAM с ECC коррекцией!).
Но как? Ведь я проверил целостность сразу после записи — все было хорошо.
Здравствуйте, Евгений Музыченко, Вы писали:
S>>Я вот теперь не знаю что с ними делать.
ЕМ>Для начала — убедиться, что Ваш алгоритм проверки целостности не дает ошибок.
Там всего лишь стандартный SHА1-хеш. Сразу после записи все было хорошо. И на SSD все хорошо.
Здравствуйте, Shmj, Вы писали:
S>Я сразу записал и сразу проверил целостность — все было ОК. Но полежало несколько дней и видимо где-то заряд потек и 2 битика таки исказились.
Вы писали, что софт для проверки делали сами. В том, что он работает правильно, уверены абсолютно?
S>я проверил целостность сразу после записи — все было хорошо.
После записи отключали устройства, затем подключали снова и проверяли? Или проверяли, не отключая?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, Maniacal, Вы писали:
M>>чем быстрее карточка, тем больше вероятность быстрой порчи карты
ЕМ>То, что всего за несколько дней испортились файлы сразу на двух разных картах, скорее наводит на мысль или о внешних воздействиях, или о косяках алгоритма проверки целостности.
У меня было два плохих опыта по работе с Flash-памятью. Один раз с USB-стиком, каким-то контрафактным под брендом LG, где данные очень быстро пропадали и с очень скоростной SD-картой, коротая сдохла меньше. чем через месяц, насмерть вообще. Деньги вернули по гарантии (во втором случае).
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Вы писали, что софт для проверки делали сами. В том, что он работает правильно, уверены абсолютно?
Ну не буду же я крипто-библиотеки сам писать для этого — просто вызываю из стандартной .Net библиотеки функцию и получаю результат.
S>>я проверил целостность сразу после записи — все было хорошо. ЕМ>После записи отключали устройства, затем подключали снова и проверяли? Или проверяли, не отключая?
Вроде не отключал. В любом случае еще проверю — пусть полежит и посмотрим появятся ли новые битые файлы.
Здравствуйте, Shmj, Вы писали:
S>Ну не буду же я крипто-библиотеки сам писать для этого — просто вызываю из стандартной .Net библиотеки функцию и получаю результат.
Уверены, что все это работает так, как было задумано?
Заполните диск архивами с хорошим уровнем контроля целостности (7-ZIP, RAR), и проверьте через какое-то время.
S>Вроде не отключал.
Значит, какая-то часть данных (или даже все, если позволяет объем ОЗУ) читалась из кэша, а не с носителя.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Уверены, что все это работает так, как было задумано? ЕМ>Заполните диск архивами с хорошим уровнем контроля целостности (7-ZIP, RAR), и проверьте через какое-то время.
Да чего додумывать — я открыл этот файл с изображением — и там половина изображения стала фиолетовой с искажениями.
Карту вынимал только безопасно, естественно.
S>>Вроде не отключал. ЕМ>Значит, какая-то часть данных (или даже все, если позволяет объем ОЗУ) читалась из кэша, а не с носителя.
Вряд ли.
Ну да ладно — сейчас по 2 ошибки на каждом, посмотрим что будет через месяц.
Здравствуйте, Shmj, Вы писали:
ЕМ>>Значит, какая-то часть данных (или даже все, если позволяет объем ОЗУ) читалась из кэша, а не с носителя.
S>Вряд ли.
Что значит "вряд ли", когда это стандартное поведение системы?
Здравствуйте, Shmj, Вы писали:
S>Что тут можно было не так сделать?
Вам уже объяснили. Вы могли попробовать сделать все правильно и подождать снова. Но предпочли продолжать спорить.
S>Вы просто верите в это или как то проверяете целостность файлов?
Ну вот у меня есть пара UHS-I/3 microSD на 32 GB — Samsung Pro и Integral. Обеим лет по шесть. На Samsung раз в месяц-другой дописываю бэкапы с компьютера, удаляя старые по мере заполнения, на Integral лежат бэкапы TWRP с телефона, последний раз туда писал года два назад. Все с контрольными суммами, все целое.
S>Думаю что вы просто верите что все ОК и никак не проверяете целостность файлов.
А я думаю, что Вы весьма отдаленно представляете себе смысл понятий "вероятность" и "статистика".
Здравствуйте, Евгений Музыченко, Вы писали:
S>>Что тут можно было не так сделать? ЕМ>Вам уже объяснили.
Что именно правильно? Я просто скопировал фалы на microSD, прошелся по ним (только чтение), отключил карту безопасно и положил на несколько дней в ящик стола. Что тут можно не правильно сделать?
ЕМ>Вы могли попробовать сделать все правильно и подождать снова. Но предпочли продолжать спорить.
Я жду будут ли еще портится файлы — эксперимент еще не завершен.
S>>Вы просто верите в это или как то проверяете целостность файлов?
ЕМ>Ну вот у меня есть пара UHS-I/3 microSD на 32 GB — Samsung Pro и Integral. Обеим лет по шесть. На Samsung раз в месяц-другой дописываю бэкапы с компьютера, удаляя старые по мере заполнения, на Integral лежат бэкапы TWRP с телефона, последний раз туда писал года два назад. Все с контрольными суммами, все целое.
Возможно ранее делали более качественно.
S>>Думаю что вы просто верите что все ОК и никак не проверяете целостность файлов. ЕМ>А я думаю, что Вы весьма отдаленно представляете себе смысл понятий "вероятность" и "статистика".
Здравствуйте, vsb, Вы писали:
vsb>Я бы в первую очередь несколько дней погонял оперативную память, чтобы исключить этот вариант.
У меня не было ошибок системных, а при корявом ОЗУ они происходят.
Кроме того, подобную запись производил на SSD в двух экземплярах — на обеих дисках проверил целостность — все бит в бит.
vsb>А также записал бы всё на диски заново, но на этот раз проверил бы записанное, отключив устройство, перезагрузив компьютер и подключив бы его заново.
Да, видимо так и сделаю.
vsb>У меня есть несколько MicroSD карт. В принципе мне не лень, поэтому проведу такой же эксперимент. Запишу на эти карты шум в виде файлов размером в сто мегабайтов, а контрольные суммы буду хранить отдельно. И проверю через несколько дней.
Ну вот сейчас точно посмотрел — данных 60 Гб и 16 тыс. файлов.
Здравствуйте, Shmj, Вы писали:
S>Что тут можно не правильно сделать?
Я Вам дважды указал на то, для проверки того, что записано на носитель, носитель нужно отключить, затем подключить обратно, и только тогда проверять.
Кроме этого, Вы используете собственный наколенный способ проверки, который сделали только что. Перед тем, как делать смелые утверждения на основе результатов его работы, его требуется тщательно оттестировать. Вы этого не сделали.
И третье, что Вы делаете неправильно — это продолжаете упорно спорить вместо того, чтобы исправить очевидные ошибки.
S>Я жду будут ли еще портится файлы — эксперимент еще не завершен.
Эксперимент, поставленный без грамотного планирования, имеет нулевую ценность. Даже отрицательную, учитывая бессмысленно потраченные ресурсы.
Здравствуйте, vsb, Вы писали:
vsb>У меня есть несколько MicroSD карт. В принципе мне не лень, поэтому проведу такой же эксперимент. Запишу на эти карты шум в виде файлов размером в сто мегабайтов, а контрольные суммы буду хранить отдельно. И проверю через несколько дней.
В общем 5 карточек. 16 goodram, 32 transcend, 16 blackvue и 2x128GB Samsung Pro. Сгенерировал на компьютере файлы по 100MiB примерно на 80-90% объёма, через shasum записал контрольные суммы и скопировал на каждую карту всё это. После этого перезагрузился и на каждой карте прогнал проверку контрольных сумм, проблем не возникло.
Теперь самое главное — не забыть это всё сделать ещё раз через недельку...
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Я Вам дважды указал на то, для проверки того, что записано на носитель, носитель нужно отключить, затем подключить обратно, и только тогда проверять.
Вот сейчас проверил — уже 4 битых файла. При этом их никто не перезаписывал — только проверка.
Записал имена файлов, жду еще.
S>>Я жду будут ли еще портится файлы — эксперимент еще не завершен. ЕМ>Эксперимент, поставленный без грамотного планирования, имеет нулевую ценность. Даже отрицательную, учитывая бессмысленно потраченные ресурсы.
Как вы объясните что количество битых файлов увеличивается?
Здравствуйте, Shmj, Вы писали:
S>Как вы объясните что количество битых файлов увеличивается?
Возможно, это действительно порча данных. Но это крайне маловероятно, поскольку, как Вам уже объяснили, на таких носителях используются и контрольные коды, и даже избыточное кодирование с восстановлением ошибок. Поэтому вероятность того, что глючит Ваш наколенный алгоритм проверки, гораздо выше.
Здравствуйте, m2user, Вы писали:
M>Надо всю память прогонять через какой-нибудь memtest.
memtest и все подобное такие ошибки не ловят. И я не знаю теста, который бы ловил. Мне, чтобы поймать ошибки памяти в прошлом буке, пришлось делать свой.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Возможно, это действительно порча данных. Но это крайне маловероятно, поскольку, как Вам уже объяснили, на таких носителях используются и контрольные коды, и даже избыточное кодирование с восстановлением ошибок. Поэтому вероятность того, что глючит Ваш наколенный алгоритм проверки, гораздо выше.
Исключено. Я открывал эти файлы и они действительно повреждены — искажено изображение. Алгоритм там совершенно тупой — берем файл и получаем его SHA1-хеш, вносим в таблицу — при повторной проверке просто ищем хеши, которых нет в таблице.
Здравствуйте, Shmj, Вы писали:
S>Я открывал эти файлы и они действительно повреждены — искажено изображение.
И с чего Вы решили, что повреждены именно ячейки памяти, а не кардридер или система ошибочно перезаписали эти блоки?
S>Думаю что все современные карты низкого качества.
Глупости. Во-первых, все карты одновременно могут быть низкого качества лишь в случае глобального сговора, а это уже конспирология. Во-вторых, Ваш опыт слишком сильно выбивается из общей практики, чтобы его можно было считать заслуживающим доверия.
Здравствуйте, Shmj, Вы писали:
S>Похоже проблема в картридере.
Косячит только при чтении, или портит данные на карте?
S>проблема с драйвером для Windows была, возможно не вполне совместимый драйвер.
Если кардридер правильно поддерживает соответствующий USB Class, то с ним всегда работает один и тот же драйвер — USBSTOR. Собственные драйверы используют некоторые производители, опознавая кардридеры не по USB Class, а по USB VID/PID. А стандартный драйвер для класса не может быть "не вполне совместимым" — он может либо иметь ошибки (такое бывало), либо не иметь (после исправления и обновления).
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Косячит только при чтении, или портит данные на карте?
Сейчас проверил внешним кардридером — все файлы целые.
ЕМ>Если кардридер правильно поддерживает соответствующий USB Class, то с ним всегда работает один и тот же драйвер — USBSTOR. Собственные драйверы используют некоторые производители, опознавая кардридеры не по USB Class, а по USB VID/PID. А стандартный драйвер для класса не может быть "не вполне совместимым" — он может либо иметь ошибки (такое бывало), либо не иметь (после исправления и обновления).
Это не внешний а внутренний. Сначала он вообще не видел карту, потом что-то сделал с драйвером (уже не помню) и заработало. Хотя может и аппаратная проблема.
M>>Надо всю память прогонять через какой-нибудь memtest.
ЕМ>memtest и все подобное такие ошибки не ловят. И я не знаю теста, который бы ловил. Мне, чтобы поймать ошибки памяти в прошлом буке, пришлось делать свой.
Что делает Ваш тест памяти, если не секрет?
У меня была ситуация, когда сначала потестили память какой-то утилитой из под MS Windows. Она нашла ошибки. Потом запустили Memtest86, и он не нашел. Запустили опять утилиту и на этот раз она тоже не нашла.
Разбираться не стал, решил, что ложное срабатывание.
Здравствуйте, m2user, Вы писали:
M>Что делает Ваш тест памяти
Это не было отдельным приложением — я обошелся драйвером RAM-диска. Создавал диск, занимающий почти всю память, заполнял его архивами, и проверял их раз в пять-десять минут. Ошибки возникали минимум через несколько часов, на меньших интервалах все было чисто. Разумеется, все "готовые" тесты, включая хваленый MemTest86, их не находили.
Порывался сделать тест в виде отдельного приложения, но руки так и не дошли. Случай редкий, особой популярностью такое пользоваться не будет.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Это не было отдельным приложением — я обошелся драйвером RAM-диска. Создавал диск, занимающий почти всю память, заполнял его архивами, и проверял их раз в пять-десять минут. Ошибки возникали минимум через несколько часов, на меньших интервалах все было чисто. Разумеется, все "готовые" тесты, включая хваленый MemTest86, их не находили.
ЕМ>Порывался сделать тест в виде отдельного приложения, но руки так и не дошли. Случай редкий, особой популярностью такое пользоваться не будет.
Когда у меня глючила планка памяти, memtest86 тоже не нашёл. Я нашёл какую-то утилиту от MS (аналог), её на выходные оставил, в общем много часов она память гоняла и нашла в итоге проблему. Так сходу тоже ничего не находило, за один проход. Но глюки при работе были, не просто так я этим занимался.