|
Файловая система "Reliance Edge" - кто-то щупал?, современная альтернатива FatFs в многозадачках? |
|
|
|
Jun 11 2018, 15:21
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
копаюсь в оптимизации FatFs для FreeRTOS, ну "открыл" для себя такую страницу на сайте FreeRTOS : Reliance Edge Fail-Safe File System, A Transactional Embedded File System for FreeRTOSПоют красиво, но вот что-то я не нашел тех кто ее реально прикручивал. FatFs хороший, но делался во времена байтов, а не мегабайтов. Нужно что-то делать с буферизацией, да и ресурсы сейчас уже не так важны как раньше- можно и побольше ОЗУ/ПЗУ потратить, в угоду удобству-скорости-надежности в случае многозадачки. Тут они и сравнение дают с тем же FatFs. Лицензия не самая хорошая GNU GPLv2, но вроде и продают под коммерческие продукты. Правда, непонятно сколько стоит: нужно писать и конкретно спрашивать, такое ощущение что цена будет зависеть от персональной толщины моего фейса. Не хочется быть первопроходимцем с набиванием шишек на личной голове и остальных частях тела, может кто-то уже составил мнение об этом продукте? Кто-то может похвалить или поругать?
|
|
|
|
|
 |
Ответов
|
Jun 12 2018, 06:06
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(AlexandrY @ Jun 11 2018, 22:03)  Тут в закромах лежит transaction-based highly reliable file system (HRFS) в дистрибутиве VxWorks. Вот это реально неубиваемая FS. А Datalight скорее всего ловит на приманку. Reliance Nitro и FlashFX Tera они уже за так не раздают. Спасибо, посмотрю. До позавчера я просто использовал то, что много лет назад заменило мою самописную поддержку FAT, и это в настоящее время FatFs. Когда нужны были оптимизации - то добавлял костыли в виде оптимизации(буферизация в основном) на уровне "до вызова функций FatFs". Но вдруг нашлось полчаса времени подумать, и оказалось, что "хочется чего-то универсального". Главная хотелка- это надежный и реалтаймовый отклик в случае работы с группой разных файлов (например, десятком), из разных задач. При этом необходимо оптимизировать запись для увеличения ресурса носителя (SD-карточки), то есть вести запись ну хотя бы блоками по 2 килобайта, если данных меньше- то ничего не пишется до накопления. Думал сделать задачу, которой в очередь пихать данные и запросы на данные, а она уже имеет свою буферизацию для накопления, и когда нужно вызывает функцию FatFs. Нужно иметь неслабую очередь, и независимо от нее буферы по числу файлов (ну или структуру стандартных сегментов). Захотелось посмотреть уже готовую прослойку, обеспечивающую со стороны клиента "просто реалтаймовый доступ к файлам", а со стороны железа - оптимальный доступ к носителю. И эта прослойка сама подумает о надежности сохранения данных и прочих "мелочах". Сейчас меня интересует конкретика: контроллер уровня STM32F4, операционка FreeRTOS, свободной RAM могу взять 1 мегабайт для этой файловой системы (в будущем может и больше получится). То есть ембеддед, без потуг на универсальность и расширяемость. Вот и наткнулся на эту "прослойку". Единственный мой аргумент "за"- это то что она рекламируется на сайте FreeRTOS, ну и бренд все-таки  Хочу просто вставить что-то как замену FatFs в уже существующий проект, потратив на это как можно меньше своего времени. Может, и не туда смотрю, есть что-то не такое новое и не такое революционное. Upd: ну и приятно если при этом можно остаться честным человеком, то есть соблюсти условия лицензии. Кстати, они на Гитхабе есть.
|
|
|
|
|
Jun 12 2018, 06:22
|

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

|
Цитата(Ruslan1 @ Jun 12 2018, 09:06)  Кстати, они на Гитхабе есть. Эта FS несовместима с FAT. Т.е. придется делать еще в навесок свой файловый менеджер чтобы хоть как-то администрировать эту FS. Вот на этом они видимо и играют. Ждут когда к ним придут за остальным. С тем же успехом можно взять YAFFS2. У упомянутого дистрибутива VxWorks кстати есть DosFs (совместимая с FAT) с кэшированием и тоже с защитой от сбоев. Но пожалуй я посмотрю эту FS.
|
|
|
|
|
Jun 12 2018, 06:42
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(AlexandrY @ Jun 12 2018, 08:22)  Эта FS несовместима с FAT. Т.е. придется делать еще в навесок свой файловый менеджер чтобы хоть как-то администрировать эту FS. Вот на этом они видимо и играют. Ждут когда к ним придут за остальным. С тем же успехом можно взять YAFFS2.
У упомянутого дистрибутива VxWorks кстати есть DosFs (совместимая с FAT) с кэшированием и тоже с защитой от сбоев. Да, несовместима, но они пишут что дают утилиту для работы: Цитата Data Exchangeability If the media used with Reliance Edge is removable, such as a USB drive or a SD card, data on that media can be copied to and from a Windows-based computer using the Reliance Edge Image Copier/Image Builder command line utilities. И в Developer's Guide тоже есть раздел про это. Но нужно компилировать. Просто готовый "экзешник для винды" не дают. Вероятно, результат зависит от выбранных опций.
|
|
|
|
|
Jun 12 2018, 06:59
|

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

|
Цитата(Ruslan1 @ Jun 12 2018, 09:42)  Да, несовместима, но они пишут что дают утилиту для работы:
И в Developer's Guide тоже есть раздел про это. Но нужно компилировать. Просто готовый "экзешник для винды" не дают. Вероятно, результат зависит от выбранных опций. Да, я уже понял, что без регистрации у них ничего не взять, даже утилиту для конфигурации. И при этом получить проект под не пойми какую среду разработки. Тогда уж лучше Micrium. У них FAT с кэшем, терминальной оболочкой для менеджмента , журналированием, FTL движком под NAND. И дают бесплатно, в исходниках и все сразу.
|
|
|
|
|
Jun 12 2018, 07:13
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(AlexandrY @ Jun 12 2018, 08:59)  Да, я уже понял, что без регистрации у них ничего не взять, даже утилиту для конфигурации. И при этом получить проект под не пойми какую среду разработки. Тогда уж лучше Micrium. У них FAT с кэшем, терминальной оболочкой для менеджмента , журналированием, FTL движком под NAND. И дают бесплатно, в исходниках и все сразу. Ну, это не аргумент. СлабО любой емейл действующий указать, а в разделе "фирма" и "телефон" прочерки поставить? У меня под спам два емыла выделено, еще два для общения, и еще два для тестов  А NAND мне сейчас не нужен, так что не аргумент. И цены микриумовские меня так испугали еще лет 15 назад, что я к ним стараюсь больше не подходить. Ну и "ФАТ с кэшем" это как-то недостаточно революционно, если все равно менять (мало дополнительных плюшек при похожем объеме нужных для перехода работ).
|
|
|
|
|
Jun 12 2018, 07:53
|

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

|
Цитата(Ruslan1 @ Jun 12 2018, 10:13)  Ну, это не аргумент. СлабО любой емейл действующий указать, а в разделе "фирма" и "телефон" прочерки поставить? У меня под спам два емыла выделено, еще два для общения, и еще два для тестов  А NAND мне сейчас не нужен, так что не аргумент. И цены микриумовские меня так испугали еще лет 15 назад, что я к ним стараюсь больше не подходить. Ну и "ФАТ с кэшем" это как-то недостаточно революционно, если все равно менять (мало дополнительных плюшек при похожем объеме нужных для перехода работ). Убивает скорее то, что надо будет каждый раз конвертировать образ файловой системы какой-то убогой утилитой командной строки. А образ то может быть гигабайтный. Это не вариант. Я применял FAT-ы от Keil, Nucleus, MQX, Micrium (6-и летней давности), FatFS и они все показывали плохой риалтайм, хотя у большинства был кэш. Может быть последние SD карты класса V90 что-то меняют, но подешевеют они не скоро. Зато Serial NAND нынче очень быстрые и дешевые.
|
|
|
|
|
Jun 13 2018, 06:37
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(jcxz @ Jun 13 2018, 08:17)  Автор хочет чтобы всё уже был и ничего не дописывать: Итого, есть два пути: #1: использовать любую (надежную но нестандартную) файловую систему, и в параллель поддерживать программу (устройство) для доступа к ее файлам на компьютере. #2: использовать FAT32. (1) требует значительных усилий в начале и дает выигрыш в качестве хранения данных, но зато проигрывает в комфорте. а еще в варианте (1) любая проблема очень сложно отлаживается, если оно не работает с ходу и нужно разбираться руками что на крточке не так: в отличии от FAT, такую карточку просто так не посмотришь на PC с помощью разных удобных программок. Так как никаких программок-то и нет. Есть над чем думать. Наверное, все-таки нужно думать про вариации (2). То есть тот же FAT, но с невидимым конечному пользователю "костылем" внутри, например с журналированием как у Микриума.
|
|
|
|
|
Jun 13 2018, 07:17
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Ruslan1 @ Jun 13 2018, 09:37)  Итого, есть два пути: #1: использовать любую (надежную но нестандартную) файловую систему, и в параллель поддерживать программу (устройство) для доступа к ее файлам на компьютере. #2: использовать FAT32.
(1) требует значительных усилий в начале и дает выигрыш в качестве хранения данных, но зато проигрывает в комфорте. а еще в варианте (1) любая проблема очень сложно отлаживается, если оно не работает с ходу и нужно разбираться руками что на крточке не так: в отличии от FAT, такую карточку просто так не посмотришь на PC с помощью разных удобных программок. Так как никаких программок-то и нет.
Есть над чем думать. Наверное, все-таки нужно думать про вариации (2). То есть тот же FAT, но с невидимым конечному пользователю "костылем" внутри, например с журналированием как у Микриума. В основном так и бывает, например мне больше по душе стандартные ФС, в абсолютно надежную ФС не верю в принципе, проще обеспечить инфраструктуру (резервный источник питания, дублирование и т.п.) для стандартной ФС, чем городить не пойми чего, делать обертки-плагины и пр дурь, для НАНДа - тут было б совсем по-другому, но стараюсь с ним не связываться.
|
|
|
|
|
Jun 13 2018, 07:27
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(mantech @ Jun 13 2018, 10:17)  В основном так и бывает, например мне больше по душе стандартные ФС, в абсолютно надежную ФС не верю в принципе, проще обеспечить инфраструктуру (резервный источник питания, дублирование и т.п.) для стандартной ФС, чем городить не пойми чего, делать обертки-плагины и пр дурь Резервный источник питания только для ФС?  Вот уж действительно - дурь. И даже там где он есть, он не поможет от reseta из-за помехи. Надёжность (если говорить об устойчивости к сбоям питания/сбросам) несложно реализуется добавлением к стандартной FAT простой функции журналирования всех write-операций. Можно и FatFS доработать (сделать обёртку для неё).
|
|
|
|
|
Jun 13 2018, 08:47
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(jcxz @ Jun 13 2018, 10:27)  Надёжность (если говорить об устойчивости к сбоям питания/сбросам) несложно реализуется добавлением к стандартной FAT простой функции журналирования всех write-операций. Можно и FatFS доработать (сделать обёртку для неё). Допустим, что в качестве носителя microSD или EMMC. Как это сделать надежно и просто, если размер EU (EraseUnit) на них несколько МБ? При этом атомарность записи на носитель никем, как я понимаю, не гарантируется, т.к. мы не знаем как работает внутренний механизм выравнивания износа. Цитата(Ruslan1 @ Jun 13 2018, 11:05)  Неужели никто еще не сделал? Как бы это сделать с минимальными телодвижениями, не изобретая велосипед? смотреть в Микриуме? Быстро, качественно и недорого. Выбирайте 2 из трех.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
Сообщений в этой теме
Ruslan1 Файловая система "Reliance Edge" - кто-то щупал? Jun 11 2018, 15:21 jcxz Цитата(Ruslan1 @ Jun 11 2018, 18:21) Поют... Jun 11 2018, 15:42 Ruslan1 Цитата(jcxz @ Jun 11 2018, 17:42) В FatFS... Jun 11 2018, 16:22         Ruslan1 Цитата(mantech @ Jun 12 2018, 16:34) Прос... Jun 12 2018, 14:58          AlexandrY Цитата(Ruslan1 @ Jun 12 2018, 17:58) Я их... Jun 12 2018, 20:35           segment Цитата(AlexandrY @ Jun 12 2018, 23:35) Ес... Jun 13 2018, 08:55            AlexandrY Цитата(segment @ Jun 13 2018, 11:55) Кто-... Jun 13 2018, 08:57             Ruslan1 Цитата(jcxz @ Jun 13 2018, 09:27) Надёжно... Jun 13 2018, 08:05              jcxz Цитата(Ruslan1 @ Jun 13 2018, 11:05) Как ... Jun 13 2018, 09:43               makc Цитата(jcxz @ Jun 13 2018, 12:43) Я думаю... Jun 14 2018, 05:05                jcxz Цитата(makc @ Jun 14 2018, 08:05) Поэтому... Jun 14 2018, 07:40                 mantech Цитата(jcxz @ Jun 14 2018, 10:40) Так что... Jun 14 2018, 08:46                  jcxz Цитата(mantech @ Jun 14 2018, 11:46) дела... Jun 14 2018, 09:20             mantech Цитата(jcxz @ Jun 13 2018, 10:27) Резервн... Jun 14 2018, 05:15        aaarrr Цитата(Ruslan1 @ Jun 12 2018, 11:16) ...и... Jun 12 2018, 14:55
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|