Jump to content

    

Отказоустойчивая ФС, направьте, пожалуйста, в нужном направлении

2 часа назад, haker_fox сказал:

Тест включал в себя запись и чтение файлов случайного размера из нескольких задач (ОС FreeRTOS), питание выключалось случайным образом, длительность теста - около 3 часов. Файлы либо не создавались, либо имели нулевой размер в момент "сбоя", но целостность ФС была соблюдена.

Ничего не хочу сказать про конкретную ФС, но критическое состояние (сбой питания в которое опасен разрушением) может иметь очень малую длительность. И вероятность попадания сбоя питания в такой момент может быть очень низкой. И случайный тест не только в 3 часа, но и в 333 часа не выявит никаких проблем. Условно говоря при записи файла может 99.999% процентов времени выполняются безопасные операции (запись секторов тела файла, изменение некоей теневой копии ФАТ и записи каталога), а 00.001% времени - например переключение копий ФАТ/записей каталога/или ещё чего.

Сколько за эти 3 часа критических состояний создали ваши тестовые задачи? Это уже не говоря о том, что для того, чтобы что-то порушилось может быть необходимым совпадение нескольких условий, которые сейчас у вас не проявились. Для Вас эта ФС - чёрный ящик. И Вы не можете достоверно протестировать её надёжность. Разве что если только полностью разберётесь в её исходном коде.  :wink2:

 

PS: Т.е. - надежда на её надёжность - всего лишь показатель вашего доверия её создателям. Не более того.

Share this post


Link to post
Share on other sites
11 minutes ago, jcxz said:

Ничего не хочу сказать про конкретную ФС, но критическое состояние (сбой питания в которое опасен разрушением) может иметь очень малую длительность. И вероятность попадания сбоя питания в такой момент может быть очень низкой. И случайный тест не только в 3 часа, но и в 333 часа не выявит никаких проблем. Условно говоря при записи файла может 99.999% процентов времени выполняются безопасные операции (запись секторов тела файла, изменение некоей теневой копии ФАТ и записи каталога), а 00.001% времени - например переключение копий ФАТ/записей каталога/или ещё чего.

Сколько за эти 3 часа критических состояний создали ваши тестовые задачи? Это уже не говоря о том, что для того, чтобы что-то порушилось может быть необходимым совпадение нескольких условий, которые сейчас у вас не проявились. Для Вас эта ФС - чёрный ящик. И Вы не можете достоверно протестировать её надёжность. Разве что если только полностью разберётесь в её исходном коде.  :wink2:

 

PS: Т.е. - надежда на её надёжность - всего лишь показатель вашего доверия её создателям. Не более того.

Не думали, что возможно эта файловая система тупо надёжнее в сравнении с FatFS?

ТС спасибо за обратную связь! 

Share this post


Link to post
Share on other sites
18 минут назад, miheyk сказал:

Не думали, что возможно эта файловая система тупо надёжнее в сравнении с FatFS?

Кто-то верует в загробную жизнь, кто-то в надёжность чего-то. Вера не требует доказательств. Но я атеист.

Share this post


Link to post
Share on other sites
10 hours ago, AlexandrY said:

Правда придется использовать  микроконтроллеры семейства Renesas Synergy

Вы теперь продвигаете новые МК?:bb:

10 hours ago, Kabdim said:

Спасибо что не поленились написать живой отзыв.

Пожалуйста! Буду рад, если это будет полезно!

Share this post


Link to post
Share on other sites
9 hours ago, jcxz said:

Разве что если только полностью разберётесь в её исходном коде.

Тоже самое можно сказать и о коде кольцевого буфера, и обо всём ПО, написанном собственноручно (да-да, именно собственноручно, ибо всё удержать в голове невозможно, и ошибки всё-равно совершаешь) и чужом.

9 hours ago, jcxz said:

Т.е. - надежда на её надёжность - всего лишь показатель вашего доверия её создателям. Не более того

Ну и что?:blum: Ещё приходится доверять стеку LwIP, ОС FreeRTOS, компилятору IAR... Извините, конечно, но я действительно не понимааю, что вы хотели сказать?

9 hours ago, miheyk said:

ТС спасибо за обратную связь! 

На здоровье)))

Share this post


Link to post
Share on other sites
9 hours ago, jcxz said:

Сколько за эти 3 часа критических состояний создали ваши тестовые задачи?

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

Share this post


Link to post
Share on other sites
14 hours ago, haker_fox said:

была использована Reliance Edge

Я правильно понимаю, что выравниванием износа у них занимается отдельный слой - FlashFX, а эта Reliance при записи в условный логический сектор 1 так и пишет всегда в физическую страницу 1 ?

А на FlashFX во-первых, системные требования конские, а во-вторых, вместо кнопки "download" - "contact sales" ;-)

Share this post


Link to post
Share on other sites
8 minutes ago, esaulenka said:

Я правильно понимаю, что выравниванием износа у них занимается отдельный слой - FlashFX, а эта Reliance при записи в условный логический сектор 1 так и пишет всегда в физическую страницу 1 ?

Тонко замечено.
Ни Reliance Edge ни FatFS под SPI NOR работать не могут, по крайней мере достаточно долго.
Т.е. либо была все таки не SPI NOR либо тестирование сбоев проводилось когда flash только читалась.

Очень подозрительная история. 

 :negative:

Опять же кстати, в ThreadX есть add-on под названием LevelX, который позволяет ей надежно работать поверх NOR и NAND, опять же бесплатно.  

Share this post


Link to post
Share on other sites
48 minutes ago, esaulenka said:

Я правильно понимаю, что выравниванием износа у них занимается отдельный слой - FlashFX

Как я понял, там нет механизма выравнивания износа, и вся работа по созданию драйвера ложится на плечи разработчика.

Share this post


Link to post
Share on other sites
39 minutes ago, AlexandrY said:

Очень подозрительная история. 

Специфика работы прибора такова, что на него записываются файлы контента (около 5 Мб) при изготовлении, затем файлы на него пишутся в лучшем случае раз в месяцы. Всего 3 файла событий. Так, что для нашего устройства износ не самая актуальная тема.

41 minutes ago, AlexandrY said:

Т.е. либо была все таки не SPI NOR

mx25l256

Share this post


Link to post
Share on other sites
6 часов назад, haker_fox сказал:

Тоже самое можно сказать и о коде кольцевого буфера, и обо всём ПО, написанном собственноручно (да-да, именно собственноручно, ибо всё удержать в голове невозможно, и ошибки всё-равно совершаешь) и чужом.

Не то же самое. В ПО, написанном собственноручно, зачем разбираться? Если оно ваше, то Вы должны в нём ориентироваться по определению. И даже через долгое прошедшее время в своём коде разобраться на порядок проще, чем в чужом.

Это первое, а во-вторых: алгоритм кольцевого буфера не то что на порядок, а может быть даже и на 2 порядка проще чем ФС. Соответственно вероятность незамеченных багов в нём так же меньше.

Цитата

Ну и что?:blum: Ещё приходится доверять стеку LwIP, ОС FreeRTOS, компилятору IAR... Извините, конечно, но я действительно не понимааю, что вы хотели сказать?

А разве от их работы зависит надёжность хранения/модификации данных? По-крайней мере в такой степени как от неизвестной ФС?

И во-вторых: то что Вы назвали, используют очень много людей, и чем больше пользователей - тем больше вероятность обнаружения и исправления багов. И кроме того: серьёзные коммерческие вещи по определению должны писаться более профессиональными командами разработчиков (с отлаженным процессом тестирования) чем какое-то мало кому нужное ПО).

Хотя даже вот в таком распространённом инструменте как IAR, до сих пор находятся и находятся баги. Вот как раз на днях я создал тему про очередной найденный баг IAR.

А уж брать чьё-то малоизвестное ПО и тащить в свой код, толком не протестировав даже - это имхо как играть в русскую рулетку. Да ещё когда барабан заряжает кто-то неизвестный тебе.  :suicide2:

Может повезёт, может - нет и выстрелит. А если уж выстрелит, то на поиски бага в чужом запутанном коде потратите в 100500 раз больше времени чем в своём.

 

PS: Уж извините - но у нас с Вами видимо несколько разные понятия о надёжности ПО....  :unknw:

Share this post


Link to post
Share on other sites
24 minutes ago, jcxz said:

Вы должны в нём ориентироваться по определению

Ну чтож, разбираться и ориентироваться - вещи разные.

26 minutes ago, jcxz said:

а может быть даже и на 2 порядка проще чем ФС

Я и не говорю, что алгоритм сложнее. Я сказал, что кроме логов, нужно ещё сохранять и контент, и я принял решение использовать ФС. Можно было разделить флешку драйвером на два куска, один использовть для буфера, другой для фски. Но я принял другое решение.

28 minutes ago, jcxz said:

По-крайней мере в такой степени как от неизвестной ФС?

Ну да, зависит, но не в такой степени. Однако, если кто-нибудь из них надумает записать что-то по произвольному адресу... знаю, знаю... правильные люди используют MPU. Вот только так глобавльно переделывать проект мне никто не даст.

29 minutes ago, jcxz said:

используют очень много людей

Но когда-то и эти продукты никто не использовал, а затем решил попробывать один, другой, сотни, тысячи. Может быть и мне стать первопроходцем в использовании этой фски.

30 minutes ago, jcxz said:

PS: Уж извините - но у нас с Вами видимо несколько разные понятия о надёжности ПО....

Я такие выводы опасаюсь делать дистанционно. Ведь мы с вами незнакомы, я не видел вашего лица, я не общался с вами лично. Здесь на форуме мы о друг друге можем судить весьма субъективно на основании малюсенького кусочка информации, додумывая недостающее.

Share this post


Link to post
Share on other sites
35 минут назад, haker_fox сказал:

Ну чтож, разбираться и ориентироваться - вещи разные.

Вы не разбираетесь в СВОЁМ коде???!  :shok:  Ну тогда мне нечего больше сказать.....

35 минут назад, haker_fox сказал:

Я и не говорю, что алгоритм сложнее. Я сказал, что кроме логов, нужно ещё сохранять и контент, и я принял решение использовать ФС. Можно было разделить флешку драйвером на два куска, один использовть для буфера, другой для фски. Но я принял другое решение.

Я же не говорю, что нужно совсем обходиться без ФС. Я, например, писал её сам. Когда было нужно. И был уверен в своём коде. А когда обнаруживались проблемы - оперативно их искал и исправлял.

Вы поймите, что когда используете чужой код и продаёте свои устройства с этим кодом своим клиентам, то нужно быть готовым, при проявлении багов в этом коде, самостоятельно сесть и разобраться и найти эти баги в чужом коде. Не надеясь, что написатель сего кода сможет найти время и желание разбираться в ваших проблемах. Если это не так, и разбираться в чужом коде Вы не готовы, то использовать такой код для ответственных применений НЕЛЬЗЯ!

35 минут назад, haker_fox сказал:

Но когда-то и эти продукты никто не использовал, а затем решил попробывать один, другой, сотни, тысячи. Может быть и мне стать первопроходцем в использовании этой фски.

....и собрать все шишки? :biggrin:  Да ещё без уверенности, что если какой-то баг будет обнаружен, то он после этого будет исправлен. А не получите в ответ что-то типа: "Этот баг нам известен, но в дорожной карте наших работ не запланировано работ по его исправлению. Попробуйте наш новый продукт."  :dash2:

Share this post


Link to post
Share on other sites
3 hours ago, haker_fox said:

 Всего 3 файла событий. Так, что для нашего устройства износ не самая актуальная тема.

mx25l256

Ну так вы применили файловую не по спецификации.  Это уже системная ошибка. 
Только зачем о ней рассказывать всему интернету? :sarcastic_hand:

Share this post


Link to post
Share on other sites
9 minutes ago, jcxz said:

Не надеясь, что написатель сего кода сможет найти время и желание разбираться в ваших проблемах. Если это не так, и разбираться в чужом коде Вы не готовы, то использовать такой код для ответственных применений НЕЛЬЗЯ!

Неважно чужой код или не чужой.
Важно как он задокументирован и насколько он адаптирован к рефакторингу. 
Просто взглянув на код и сопроводительную доку я могу сразу сказать "чужой" код или не "чужой"
Но тут речь идет просто о грубом нарушении условий эксплуатации.  

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now