реклама на сайте
подробности

 
 
> SD-card: выход из строя, не определяется компьютером, Выработан ресурс? как проверить?
Ruslan1
сообщение May 24 2018, 09:08
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Здравствуйте!

В одном из устройств произошел массовый выход из строя SD-карточек (8 из 10 тестируемых), причем странно себя ведут:
в устройстве (интерфейс SDIO, софт на базе FatFs)- карточка детектируется, файлы с них считываются корректно, но при попытке записи выдает ошибку.
В компьютере- карточка вообще не детектируется. (проверено на разных компьютерах с разными ридерами).

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

Главный вопрос: как можно загнать карточку в такое "окирпичивание?"

Похоже на выработку ресурса: проблемы на всех карточках начались практически одновременно с разницей в 1-2 дня, после примерно 2 месяцев работы.
Как проверить эту версию? Есть ли какие-то средства чтобы проверить внутреннее здоровье SD-карточки, вроде того как это на SSD делается?

Ну и еще вопрос: Почему в устройстве эти SD карточки читаются (но не пишуться), а в компьютере даже не детектируется?

Каким софтом их поковырять? я кроме WinHex и не помню ничего приличного для внутреннего ковыряния дисков.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение May 29 2018, 20:46
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Ruslan1 @ May 24 2018, 12:08) *
Главный вопрос: как можно загнать карточку в такое "окирпичивание?"

Вообще, переход в read-only указывает на повреждение внутренних структур данных - тех, что отвечают за трансляцию адресов, выравнивание износа и т.п.
Возможные причины:
- низкое качество самих карт
- проблемы с питанием
- очень высокий износ из-за ошибок в софте МК

Случаются и совсем чудеса: был у меня лет 10 назад замечательный китайский кард-ридер, после общения с которым карты
совершенно разных производителей начинали жутко тормозить при записи (скорость падала примерно до ~25КБайт/с). Причина
так и осталась загадкой.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение May 30 2018, 07:52
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(aaarrr @ May 29 2018, 22:46) *
Вообще, переход в read-only указывает на повреждение внутренних структур данных - тех, что отвечают за трансляцию адресов, выравнивание износа и т.п.
Возможные причины:
- низкое качество самих карт
- проблемы с питанием
- очень высокий износ из-за ошибок в софте МК


Спасибо всем!
Уважаемый aaarrr собрал вместе то что озвучено в разных постах, именно из этого списка вероятностей я и исхожу.

Про низкое качество карточек- думаю стресс-тест провести (я их ем партиями по 100-200 штук, одну из партии всегда можно попробовать убить для тестов). Стресс-тест на запись прямо сейчас запущу, посмотрим сколько суток протянет (на писишке с USB3, чтоб побыстрее). (Upd: хороший тест еще поискать нужно, мда..)

Про питание- тоже возможно. Дело в том, что именно эти 10 приборов (из которых на многих SD карточка и "окирпичилась") питаются от одного общего внешнего блока питания (в других применениях устройства снабжены индивидуальными внешним БП). Через встроенный DCDC прибора в принципе много чего может пролезть короткого и злобного. Но опять же- это никак не сказалось на окружающей электронике на этой же плате, ни сбросов-зависаний процессора, ни каких-нибудь других проблем- только SD карточка.

Я сам склоняюсь к причине "очень высокий износ из-за ошибок в софте МК". Так как именно для этих 10 штук была разработана своя версия софта. Вроде бы не сильно отличается от стандартной применяемой в сотнях приборов, но все же.

Про "просто запланированный высокий износ":
Сделал счетчик записанных секторов- получилось что реально пишу около 41 сектора в секунду, это 3.5 миллиона секторов в сутки. Проверю точнее, но конкретно область FAT обновляю примерно раз в секунду.

Ну и риторический вопрос- имеет ли смысл следить, в какой сектор я пишу, или этот wear leveling все берет на себя?
Я так понимаю, при расчете нужно исходить от пустого пространства и ресурса на сектор?
У меня: примерно 10 гигабайт свободного пространства, и 2 гигабайта переписывается в сутки. Если выравнивание работает, то даже при ресурсе сектора "1 тысяча записей" должно продержаться 13 лет.

Конкретно у меня карточки микро-SD Сандиск 16G Ultra 10 класс (SDHC UHS-I)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 30 2018, 08:22
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Ruslan1 @ May 30 2018, 10:52) *
Сделал счетчик записанных секторов- получилось что реально пишу около 41 сектора в секунду, это 3.5 миллиона секторов в сутки.
...
У меня: примерно 10 гигабайт свободного пространства, и 2 гигабайта переписывается в сутки. Если выравнивание работает, то даже при ресурсе сектора "1 тысяча записей" должно продержаться 13 лет.

Нет такого понятия, как ресурс сектора. Флеш стирается блоками, а здесь все плохо: у карты 16G будет порядка 125 тысяч блоков,
а ресурс каждого - несколько тысяч записей.

Цитата(Ruslan1 @ May 30 2018, 10:52) *
Конкретно у меня карточки микро-SD Сандиск 16G Ultra 10 класс (SDHC UHS-I)

Я бы проверил на ПК скорость записи. У подделки она наверняка будет сильно занижена.
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 30 2018, 08:43
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(aaarrr @ May 30 2018, 11:22) *
Нет такого понятия, как ресурс сектора. Флеш стирается блоками, а здесь все плохо: у карты 16G будет порядка 125 тысяч блоков,
а ресурс каждого - несколько тысяч записей.

Тогда лучше отказаться от ФС, создать несколько кольцевых буферов блоков данных (по количеству значений времени жизни блока данных) и размер этих кольцевых буферов сделать разным. Например нужно иметь блок_данных_тип_1 (TTL=15мин), блок_данных_тип_2 (TTL=30мин), блок_данных_тип_3 (TTL=1час). Соответственно создаём:
очередь_1 = N*4 блоков_данных; очередь_2 = N*2 блоков_данных; очередь_3 = N блоков_данных. И число N подбираем таким, чтобы был занят весь объём карты.
Каждая очередь - выравнена на целое число блоков_стирания + 1 блок_стирания.
И если частота генерации разных типов блоков одинакова, то получим равномерный износ. Без закладывания на внутренние механизмы карты.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ruslan1   SD-card: выход из строя, не определяется компьютером   May 24 2018, 09:08
- - jcxz   Цитата(Ruslan1 @ May 24 2018, 12:08) Есть...   May 24 2018, 11:17
|- - Ruslan1   Цитата(jcxz @ May 24 2018, 13:17) А в чём...   May 24 2018, 13:49
|- - Ruslan1   Скажите пожалуйста, какие могут быть варианты для ...   May 29 2018, 15:56
|- - aaarrr   Цитата(Ruslan1 @ May 29 2018, 18:56) Как ...   May 29 2018, 16:25
|- - jcxz   Цитата(Ruslan1 @ May 29 2018, 18:56) Если...   May 29 2018, 20:07
||- - aaarrr   Цитата(jcxz @ May 30 2018, 11:43) Тогда л...   May 30 2018, 08:53
||- - Ruslan1   Точно. Сильно стормозил. Флеш-то про сектора не зн...   May 30 2018, 09:30
|- - HardEgor   Цитата(Ruslan1 @ May 30 2018, 14:52) Про ...   May 30 2018, 09:16
- - Alex11   У современных карточек снаружи не нужно следить за...   May 30 2018, 08:19
- - k155la3   Маловероятно, конечно, но. - Нет ли "просадки...   May 30 2018, 10:22
- - Ruslan1   Я понимаю, что внутренние используемые механизмы в...   May 31 2018, 08:48
- - jcxz   Цитата(Ruslan1 @ May 31 2018, 11:48) (Хор...   May 31 2018, 11:29
|- - Ruslan1   Цитата(jcxz @ May 31 2018, 13:29) Почему ...   May 31 2018, 12:04
- - controller_m30   Цитата(Ruslan1 @ May 31 2018, 11:48) Вопр...   May 31 2018, 17:13
- - aaarrr   Цитата(controller_m30 @ May 31 2018, 20:1...   May 31 2018, 18:14
- - jcxz   Цитата(aaarrr @ May 31 2018, 21:14) но ло...   May 31 2018, 19:42
|- - aaarrr   Цитата(jcxz @ May 31 2018, 22:42) ...вмес...   May 31 2018, 20:02
|- - Ruslan1   Цитата(jcxz @ May 31 2018, 21:42) А может...   Jun 1 2018, 09:18
|- - jcxz   Цитата(Ruslan1 @ Jun 1 2018, 12:18) Дейст...   Jun 1 2018, 09:47
|- - controller_m30   Цитата(Ruslan1 @ Jun 1 2018, 12:18) С пус...   Jun 1 2018, 12:20
- - controller_m30   Цитата(aaarrr @ May 31 2018, 21:14) Думае...   May 31 2018, 21:25


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th August 2025 - 08:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016