|
Надежность FAT |
|
|
|
Dec 12 2015, 16:32
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 17-09-14
Из: Спб
Пользователь №: 82 840

|
Всегда использовал FAT от чена, еще во времена avr, да и сейчас на stm32. Ответственных задач не было, поэтому пристального внимания не уделял, да вроде все работало. Часто видел темы на форуме, мол либа кривая, не работает то или это, но как то лично с проблемами не сталкивался. Сейчас попался заказчик, который стал в позу, мол юзать либу не православно, при этом в винде карта памяти должна обнаруживаться как обычный съемный диск, без дополнительного софта, т.е. фат эмулировать нужно.
В качестве аргументов против: энергопотребление с либой выше, чем посекторное. Но следующий аргумент как то меня поверг в шок. Мол 100 лет назад он проводил тесты, которые показали, что если писать в один и тот же сектор, то на ~60 раз сектор "портится" и контроллер карты памяти начинает переносить данные, все это проявляется резким снижением скорости записи. Для меня этот пункт странный, но пока мне возразить нечем. В качестве предложения, заполнять карту равномерно, стирать только когда целиком заполнится.
Вроде бы и не проблема можно писать посекторно, но когда почитал по верхам про то как устроен FAT32, понял что это будет проблемой. Дело в том, что у меня файлы могут прилетать какие угодно, абсолютно любого размера. Корневой каталог в fat32 не фиксированный, нужно будет вычислять его, чтобы не записать в системные файлы, все фукции - создание/удаление директорий, запись/чтение и создание/удаление файлов мне нужны. Если я правильно понимаю, то по сути то что я напишу будет той же либой чена.
Собственно пока жду железо, чтобы проверить теорию плохого сектора, хотелось бы послушать мнение опытных в этом деле людей. Я заглядывал в исходники fat fs и ничего лишнего или слишком неумелого не увидел.
Вопросы: Я не предстваляю как можно будет сэкономить энергию, если буду делать тоже самое, что и библиотека, или даже не так - что можно делать иначе?. На чем основаны доводы о кривости этой библиотеки? Точнее даже ее ненадежности.
|
|
|
|
|
 |
Ответов
|
Dec 13 2015, 13:40
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Darti @ Dec 12 2015, 18:32)  Вопросы: Я не предстваляю как можно будет сэкономить энергию, если буду делать тоже самое, что и библиотека, или даже не так - что можно делать иначе?. На чем основаны доводы о кривости этой библиотеки? Точнее даже ее ненадежности. Да тут есть куча нюансов. Основной их которых отсутствие точной информации о внутренних алгоритмах работы контроллеров SD карт. Смотрите вот это исследование - https://lwn.net/Articles/428584/Из исследования кстати следует, что FAT32 это лучшая файловая система для SD карт, но беда именно FatFS может быть в неоптимальных форматировании, записи и кэшировании. Что в свою очередь приведет к большим интервалам времени (и следовательно энергии) на процесс называемый исследователями карт как "garbage collection" Кстати другой не очевидный вывод в том, что "вылизанные" вдоль и поперек старые FS не могут считаться надёжными на новых носителях.
|
|
|
|
Сообщений в этой теме
Darti Надежность FAT Dec 12 2015, 16:32 mantech Цитата(Darti @ Dec 12 2015, 19:32) Часто ... Dec 12 2015, 17:33 aaarrr Цитата(Darti @ Dec 12 2015, 19:32) Мол 10... Dec 12 2015, 17:36 mantech Цитата(aaarrr @ Dec 12 2015, 20:36) что е... Dec 12 2015, 18:09 Непомнящий Евгений Ну если заказчик оплатит вам написание и отладку с... Dec 13 2015, 12:29 controller_m30 Цитата(Darti @ Dec 12 2015, 19:32) Мол 10... Dec 13 2015, 15:12 AlexandrY Цитата(controller_m30 @ Dec 13 2015, 17:1... Dec 13 2015, 17:57  controller_m30 Цитата(AlexandrY @ Dec 13 2015, 20:57) Но... Dec 13 2015, 19:39   AlexandrY Цитата(controller_m30 @ Dec 13 2015, 21:3... Dec 13 2015, 19:53    controller_m30 Цитата(AlexandrY @ Dec 13 2015, 22:53) Зн... Dec 13 2015, 20:20 romas2010 Цитата(Darti @ Dec 12 2015, 19:32) Всегда... Dec 13 2015, 19:50 _3m Цитата(Darti @ Dec 12 2015, 19:32) Сейчас... Dec 13 2015, 21:09 AlexandrY Цитата(_3m @ Dec 13 2015, 23:09) Про энер... Dec 14 2015, 05:43  _3m Цитата(AlexandrY @ Dec 14 2015, 08:43) Та... Dec 14 2015, 06:48   AlexandrY Цитата(_3m @ Dec 14 2015, 08:48) Нереальн... Dec 14 2015, 06:56   mantech Цитата(_3m @ Dec 14 2015, 09:48) Нереальн... Dec 14 2015, 07:52    aaarrr Цитата(mantech @ Dec 14 2015, 10:52) Уж п... Dec 14 2015, 09:44 Genadi Zawidowski Цитатаstatic Wear Leveling.
Это можно узнать по ка... Dec 14 2015, 09:31 AlexandrY Цитата(Genadi Zawidowski @ Dec 14 2015, 11... Dec 14 2015, 10:08  Genadi Zawidowski Так скажите где описано. Dec 14 2015, 11:06   AlexandrY Цитата(Genadi Zawidowski @ Dec 14 2015, 13... Dec 14 2015, 13:44    jcxz Прочитал исходное сообщение и не понял - откуда от... Dec 15 2015, 12:05     mantech Цитата(jcxz @ Dec 15 2015, 15:05) может л... Dec 15 2015, 14:11      jcxz Цитата(mantech @ Dec 15 2015, 20:11) Ну х... Dec 15 2015, 18:01       aaarrr Цитата(jcxz @ Dec 15 2015, 21:01) Конечно... Dec 15 2015, 18:08        jcxz Цитата(aaarrr @ Dec 16 2015, 00:08) В пер... Dec 15 2015, 18:14         aaarrr Цитата(jcxz @ Dec 15 2015, 21:14) Есть та... Dec 15 2015, 18:43     aaarrr Цитата(jcxz @ Dec 15 2015, 15:05) Прочита... Dec 15 2015, 14:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|