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

 
 
> 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
Ответов
k155la3
сообщение May 30 2018, 10:22
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Маловероятно, конечно, но.
- Нет ли "просадки" питания на карту в момент записи и не находится ли оно на пороге работоспособности по напряжению.
- Соблюдаются ли временные диаграммы (если таковые имеются) при записи.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение May 31 2018, 08:48
Сообщение #3


Гуру
******

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



Я понимаю, что внутренние используемые механизмы в карточке могут значительно увеличить время жизни карточки. Но мне нужно понять на что минимально рассчитывать, как это оценить.


Вопрос №1
как можно посчитать степень износа, если предположить что :
размер стираемого блока-128К
размер используемого диска- 16GB, то есть 125К блоков
время жизни блока - 1000 стираний

Тогда в худшем случае (на каждое обновление переносится целый блок):
количество обновлений = 125К блоков * 1000 стираний = 125M = 125e6

при количестве обновлений 1 в секунду: получаем время жизни карточки 125e6 секунд, это 1446 дней.

Это правильная оценка?
-------------------------------------------

Вопрос: №2
Что именно я должен считать обновлением, чтобы определить насколько сильно я изнашиваю эту карту?

Ведь нельзя считать таким обновлением просто добавление информации на то место сектора/страницы/блока, которое до этого было 0xFF ?

Я считаю, что обновление- это изменение, которое требует стирания блока. Я прав?
(Хороший пример такого обновления- это запись в FAT при изменении файла)
-------------------------------------------

Вопрос №3:
А как контроллер Флеш поймет, что данные в хвосте блока это мусор, а не данные, которые нужно переносить? Видимо, никак. И тогда получается, что на каждую запись сектора карточка будет тащить целый новый блок?
Как этого можно избежать? Почистить неиспользуемые сектора в FF? Дать команду стирания чего-нибудь там?
Есть какой-то способ помочь карточке, иначе ведь совсем катастрофа с ресурсом?

У меня, кстати, получается именно эта проблема: я писал по 40 секторов в секунду. Если предположить что контроллер карточки каждый раз занимался переносом блоков, то получаю ресурс 36 дней, что очень похоже на мой случай (у меня вышло немного больше, но может и ресурс блока немного больше чем 1К стираний).
-------------------------------------------

Вопрос №4:
Кэширование и запись на карточку большими кусками, скажем, 128К, поможет?
Upd: поиск помог найти вот это, буду копать туда:
Цитата
Alex11, Jul 14 2014, 22:27
Мы довольно много экспериментировали с SD в разных режимах. Во-первых, там есть команда мультисекторной записи. При этом небольшая пауза возникает только после записи многих секторов (но не факт, что после всех, запрошенных в команде). Кроме того, особенно при работе с не свежеформатированной карточкой, у нее возникают паузы до 0.5 сек на внутренние нужды - стирание блоков и переписывание частично заполненных. Реально помогает только запись блоками по 64 - 128 кБ в зависимости от карты.
Go to the top of the page
 
+Quote Post
controller_m30
сообщение May 31 2018, 17:13
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(Ruslan1 @ May 31 2018, 11:48) *
Вопрос №1
как можно посчитать степень износа, если предположить что :
размер стираемого блока-128К
размер используемого диска- 16GB, то есть 125К блоков
время жизни блока - 1000 стираний

Тогда в худшем случае (на каждое обновление переносится целый блок):
количество обновлений = 125К блоков * 1000 стираний = 125M = 125e6

при количестве обновлений 1 в секунду: получаем время жизни карточки 125e6 секунд, это 1446 дней.

Полностью проверить это допущение займёт всё те же 1446 дней - а это долго.

Можно сделать тест на износ только одного блока 128К, но при разных условиях. Понадобится две карты.
Тест 1.
Однократно заполнить все сектора карты данными, чтобы отнять у встроенного контроллера ресурс для перестановки блоков. И "протереть дырку" в каком-либо блоке 128К. Подсчитать количество перезаписей до отказа карты.
Тест по идее получится коротким - около 1000 перезаписей.

Тест 2.
Сделать то же самое, но с новой, неформатированной картой, где у контроллера имеется огромный ресурс для перестановок. И попробовать "протереть дырку" теперь.
Предположительно, "дырка протрётся" либо после 125К перезаписей, либо после 125К х 1000. Это будет зависеть от "понимания" контроллером карты что такое резервный блок: тот который просто не писался ни разу (тогда ресурс 125К), или тот который не писался ни разу пользователем (тогда ресурс 125К х 1000).
Возможен ещё вариант - просто 1000 записей. Будет означать, что контроллер не умеет переставлять блоки.

В зависимости от результатов можно будет предложить разные варианты использования карты. Например, если будет результат 125Кх1000, то достаточно будет отформатировать карту 16Гб, как будто она 8Гб, а оставшиеся нетронутыми блоки отдать контроллеру для перестановок. В этом случае не придётся вообще ничего менять в ПО.
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   Цитата(Ruslan1 @ May 24 2018, 12:08) Глав...   May 29 2018, 20:46
|- - Ruslan1   Цитата(aaarrr @ May 29 2018, 22:46) Вообщ...   May 30 2018, 07:52
|- - aaarrr   Цитата(Ruslan1 @ May 30 2018, 10:52) Сдел...   May 30 2018, 08:22
||- - jcxz   Цитата(aaarrr @ May 30 2018, 11:22) Нет т...   May 30 2018, 08:43
||- - 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
- - jcxz   Цитата(Ruslan1 @ May 31 2018, 11:48) (Хор...   May 31 2018, 11:29
|- - Ruslan1   Цитата(jcxz @ May 31 2018, 13:29) Почему ...   May 31 2018, 12:04
- - 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 Текстовая версия Сейчас: 29th July 2025 - 23:38
Рейтинг@Mail.ru


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