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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Новая компактная и высоконадежная файловая система для embedded, Поддерживается кучей плат на Kinetis
AlexandrY
сообщение Dec 31 2017, 08:55
Сообщение #1


Ally
******

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



Встроена в проект embed
https://os.mbed.com/blog/entry/littlefs-hig...ty-embedded-fs/

Смущает правда их фэйковое сравнение с FAT без FTL уровня.
Но в любом случае очень полезня вещь.
Go to the top of the page
 
+Quote Post
mantech
сообщение Dec 31 2017, 09:36
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Dec 31 2017, 11:55) *
Встроена в проект embed
https://os.mbed.com/blog/entry/littlefs-hig...ty-embedded-fs/

Смущает правда их фэйковое сравнение с FAT без FTL уровня.
Но в любом случае очень полезня вещь.


Главное преимущество ФАТ в том, что карточку или диск можно вставить в обычный комп и прочитать или записать на нее данные без установки драйверов и пр. Выравнивание износа в данном случае особо не играет роли, т.к. идет в самих карточках или дисках.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Dec 31 2017, 13:49
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(AlexandrY @ Dec 31 2017, 11:55) *
Смущает правда их фэйковое сравнение с FAT без FTL уровня.

насколько я понял, речь о том, что в Mbed OS поддержка FAT была включена с 2010 года, а в статье приведены преимущества LittleFS перед FAT, т.ч. не вижу тут фейка..
немного сомнений вызывают цифры 13k в ROM и 4к в RAM, но это надо читать доки на ограничения в библиотеке
Цитата
Но в любом случае очень полезня вещь.

конечно полезная, чем для очередного проекта изобретать ФС, проще взять готовую обкатанную библиотеку, пристегнуть и пользоваться, а не изобретать очередной велосипед..
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 2 2018, 09:00
Сообщение #4


Ally
******

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



Цитата(Jury093 @ Dec 31 2017, 15:49) *
а в статье приведены преимущества LittleFS перед FAT, т.ч. не вижу тут фейка..

Вы всем статьям в инете так безусловно верите? biggrin.gif
Главное чтоб на английском было написано?

Фэйк потому что FAT тестировали без FTL. Так могут делать только зеленые студенты.
Кстати, кто-то постарался и сделал симулятор на JavaScript - http://littlefs.geky.net/demo.html

Ложка дегтя в том, что LittleFS идет без корректирующих ошибки кодов, есть правда CRC, но и только, да и то без драйверов к аппаратным ускорителям.
Т.е. на какой-нибудь MLC NAND эта система будет работать крайне ненадежно.

Словом YFFS или Micrium FAT c FTL все еще в деле.
Просто с появлением гиперфлэшей проблема выбора FS несколько актуализируется.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 2 2018, 09:47
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Jan 2 2018, 12:00) *
Ложка дегтя в том, что LittleFS идет без корректирующих ошибки кодов, есть правда CRC, но и только, да и то без драйверов к аппаратным ускорителям.
Т.е. на какой-нибудь MLC NAND эта система будет работать крайне ненадежно.


В таком случае зачем она вообще нужна? Просто для того, чтоб была, что-ли?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 2 2018, 10:02
Сообщение #6


Ally
******

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



Цитата(mantech @ Jan 2 2018, 11:47) *
В таком случае зачем она вообще нужна? Просто для того, чтоб была, что-ли?

Если судить по их техническому описанию, то система очень быстро работает на запись, быстрее чем на чтение, если не брать в расчет задержки носителя.
Т.е. все SD карты с FAT остаются далеко позади и по надежности, по детерминированности и потреблению.
Хороший wear leveling видимо должен скомпенсировать отсутствие ECC, да и никто особенно на SPI Flash не заморачивается ECC если честно.

Что приятно - система на привязана к какой либо RTOS, работает и на bare metal, требует только драйвер блочного дивайса, т.е. легко работает поверх RAM, heap, любых флэшей и проч.
mbed привносит только POSIX API.

Для IoT можно сказать почти идеальная файловая система.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 2 2018, 11:00
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Jan 2 2018, 13:02) *
Если судить по их техническому описанию, то система очень быстро работает на запись, быстрее чем на чтение, если не брать в расчет задержки носителя.
Т.е. все SD карты с FAT остаются далеко позади и по надежности, по детерминированности и потреблению.
Хороший wear leveling видимо должен скомпенсировать отсутствие ECC, да и никто особенно на SPI Flash не заморачивается ECC если честно.


"очень быстро работает на запись, быстрее чем на чтение" - очень интересно и бесполезно одновременно, ибо задержки носителя на несколько порядков выше, исключение только ОЗУ, но накой для него ФС biggrin.gif

"все SD карты с FAT остаются далеко позади и по надежности" - очень спорный аргумент, про индустриальные карты слышали? laughing.gif

"да и никто особенно на SPI Flash не заморачивается ECC если честно" - ясно дело, ЕСС нужен для нанда, особенно 2х уровневые ячейки, а уж про TLC - так этот кусок говна, который нужно было вообще запретить к выпуску, и подавно...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 2 2018, 12:04
Сообщение #8


Ally
******

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



Цитата(mantech @ Jan 2 2018, 13:00) *
"очень быстро работает на запись, быстрее чем на чтение" - очень интересно и бесполезно одновременно, ибо задержки носителя на несколько порядков выше, исключение только ОЗУ, но накой для него ФС biggrin.gif
"все SD карты с FAT остаются далеко позади и по надежности" - очень спорный аргумент, про индустриальные карты слышали? laughing.gif

В IoT не так важно сколько длится запись на ноcителе по сравнению с тем сколько выполняется код в файловой системе.
Поскольку в IoT это в основном транзакции записи, то скорость (читай длительность процедур записи FS) имеет большое значение и для потребления и для планирования ресурсов в реалтайме.

Индустриальные карты конечно очень хороши, но их полную скрость не поддерживает даже i.MX RT, спецификации на систему команд недоступны.
Оптимизированы они преимущественно на чтение.
Опять же они на полной скорости (208 MHz) дают Random Write только 2.6 MB/s потому как SLC

В тоже время HyperFlash на NOR дает гарантированные 1 MB/s, но на чтение в i.MX RT работает с частотой DDR 166 MHz и 8 бит, может использоваться одновременно как память программ.
Тут еще надо сказать LittleFS поддерживает device chaining, т.е. может писать в 2,3... HyperFlash как в одну файловую систему, таким образом увеличить скорость записи.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 2 2018, 12:48
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Jan 2 2018, 15:04) *
Поскольку в IoT это в основном транзакции записи, то скорость (читай длительность процедур записи FS) имеет большое значение и для потребления и для планирования ресурсов в реалтайме.


Вот с этого момента поподробнее, зачем постоянная запись чего-то куда-то??
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 2 2018, 14:00
Сообщение #10


Ally
******

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



Цитата(mantech @ Jan 2 2018, 14:48) *
Вот с этого момента поподробнее, зачем постоянная запись чего-то куда-то??

Ну как же.
IoT - это в основном сенсоры.
Запись сигналов, логов, настроек.
Запись идет часто и мелкими транзакциями требующими детерминированное время, а в сеть уже уходит редкими и крупными блоками допускающими задержки.
Контроллеры моторов скажем очень критичны к детерминизму записи логов.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 2 2018, 14:10
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Jan 2 2018, 17:00) *
Ну как же.
IoT - это в основном сенсоры.
Запись сигналов, логов, настроек.
Запись идет часто и мелкими транзакциями требующими детерминированное время, а в сеть уже уходит редкими и крупными блоками допускающими задержки.
Контроллеры моторов скажем очень критичны к детерминизму записи логов.


На счет накопления некоторого кол-ва измерений датчиков согласен, но эти данные очень хорошо структурируются и нет смысла в ФС для записи этих структур. К тому же удобнее эти данные хранить в буферах ОЗУ. Логи? зачем они в датчике, вообще не понимаю, разве, что для отладки и в ОЗУ. Настройки - тоже не факт, да и постоянная запись тут точно не нужна, чаще чтение..

Сообщение отредактировал mantech - Jan 2 2018, 14:11
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 2 2018, 15:19
Сообщение #12


Ally
******

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



Цитата(mantech @ Jan 2 2018, 16:10) *
На счет накопления некоторого кол-ва измерений датчиков согласен, но эти данные очень хорошо структурируются и нет смысла в ФС для записи этих структур. К тому же удобнее эти данные хранить в буферах ОЗУ. Логи? зачем они в датчике, вообще не понимаю, разве, что для отладки и в ОЗУ. Настройки - тоже не факт, да и постоянная запись тут точно не нужна, чаще чтение..

Все это нужно в связи с новой парадигмой - незаканчивающаяся разработка на стороне клиента.
Поэтому логи несут в себе критически важную отладочную информацию.
Данные датчиков передаются в облака в формате JSON. Какой смысл их структурировать если эти структуры никому не нужны, т.е. их никто не планирует и не специфицирует.
Серверы сами распарсят формат JSON, а структуры, фильтры, выборки создаются уже каждым пользователем под свои нужды с помощью языка запросов серверу.



Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 2 2018, 15:41
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Jan 2 2018, 18:19) *
Данные датчиков передаются в облака в формате JSON. Какой смысл их структурировать если эти структуры никому не нужны, т.е. их никто не планирует и не специфицирует.


Т.е. вы не знаете, что измеряете и зачем... Интересная парадигма, хорошо, что это не моя специфика biggrin.gif
ЗЫ. Вот такой бардак бывает только тогда, когда есть какая-то "хотелка" манагеров, а нормального проработанного стандарта нет, это можно объяснять всякими парадигмами и т.п. но суть именно эта.

Сообщение отредактировал mantech - Jan 2 2018, 15:44
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 2 2018, 16:00
Сообщение #14


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(mantech @ Jan 2 2018, 15:10) *
На счет накопления некоторого кол-ва измерений датчиков согласен, но эти данные очень хорошо структурируются и нет смысла в ФС для записи этих структур.

Думаю, Александр имеет ввиду частую запись большого кол-ва маленьких чанков данных. Например, данные с датчиков логятся в локальную БД типа SqLite. Там в секунду может быть туча INSERT'ов.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 2 2018, 16:17
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alexunder @ Jan 2 2018, 19:00) *
Думаю, Александр имеет ввиду частую запись большого кол-ва маленьких чанков данных. Например, данные с датчиков логятся в локальную БД типа SqLite. Там в секунду может быть туча INSERT'ов.

Так это уже серверное хозяйство, разговор про сами датчики.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 2 2018, 18:24
Сообщение #16


Ally
******

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



Цитата(alexunder @ Jan 2 2018, 18:00) *
Думаю, Александр имеет ввиду частую запись большого кол-ва маленьких чанков данных. Например, данные с датчиков логятся в локальную БД типа SqLite. Там в секунду может быть туча INSERT'ов.

Ну нет, SQLite как раз и есть принуждение к структурированности от которой я бы хотел избавиться.
Это планирование таблиц, столбцов, типов данных, реляционных связей ...
Зачем?
Файловые системы типа LittleFS сами по сути очень эффективные базы данных. А текстовые файлы гораздо гибче жестких таблиц.
Собираем данные в неструктурированном виде в файлы, много файлов с названиями-ключами , а файлы передаем в облака. LittleFS поверх NOR flash позволяет очень мелко гранулировать сектора.
А там уж базы данных типа MongoDB размолотят это каждому по потребностям.
Go to the top of the page
 
+Quote Post
krux
сообщение Jan 2 2018, 20:13
Сообщение #17


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

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



я-таки извиняюсь, но зачем и нафига самому датчику что-то хранить? он измерил, выплюнул в эфир, и дальше не его дело что-то там с этими данными анализировать.
дальше есть сборщик логов с собственными мозгами.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Jan 2 2018, 21:07
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(AlexandrY @ Jan 3 2018, 01:24) *
Собираем данные в неструктурированном виде в файлы, много файлов с названиями-ключами , а файлы передаем в облака. LittleFS поверх NOR flash позволяет очень мелко гранулировать сектора.

Не очень понятно, зачем на IoT файловая система? Пишем часто мелкими блоками последовательно во flash, а при редкой передаче большой блок заворачиваем в любую обертку и передаём. И никаких проблем с секторами, "протертыми ячейками" и файловыми системами.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 2 2018, 22:14
Сообщение #19


Ally
******

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



Цитата(krux @ Jan 2 2018, 22:13) *
я-таки извиняюсь, но зачем и нафига самому датчику что-то хранить? он измерил, выплюнул в эфир, и дальше не его дело что-то там с этими данными анализировать.
дальше есть сборщик логов с собственными мозгами.

Ок, назовем это не датчиками, а интеллектуальными агрегаторами информации.
Обсуждать зачем я тут не склонен.
Создайте для этого другую тему если вам интересно.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 2 2018, 22:55
Сообщение #20


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(AlexandrY @ Jan 2 2018, 19:24) *
Ну нет, SQLite как раз и есть принуждение к структурированности от которой я бы хотел избавиться.
Это планирование таблиц, столбцов, типов данных, реляционных связей ...

Нет там особого принуждения, есть разные способы нормализации БД, можно вообще все в одну таблицу складывать и делать нужный VIEW.
Тогда тем более непонятна цель всего вышеописанного, зачем датчикам что-то логить? Исключение если под датчиком мы понимаем некий блок, как в современных авто, где уже чуть ли не каждая лампочка логит события.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 3 2018, 07:16
Сообщение #21


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(HardEgor @ Jan 3 2018, 00:07) *
Не очень понятно, зачем на IoT файловая система? Пишем часто мелкими блоками последовательно во flash, а при редкой передаче большой блок заворачиваем в любую обертку и передаём. И никаких проблем с секторами, "протертыми ячейками" и файловыми системами.


Александр же объяснил - это такая парадигма, где все никак не структурировано, иными словами - навалено кучей все, что можно...
ИМХО - бред, конечно полный, все это началось, когда ПХПшники начали программировать МК, ясно дело, со своим подходом к этому, потом пошло дальше, всякие mqtt, json и пр. притянутые за уши "стандарты", лишь бы не делать так, как полагается в данном типе устройств. ПЧПшники-то этого не умели, да и не нужно им этого было, а изучать, как правильно делают программисты на МК ох как неохота было - это ж совсем другая парадигма .. laughing.gif

Сообщение отредактировал mantech - Jan 3 2018, 07:19
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 3 2018, 15:03
Сообщение #22


Ally
******

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



Цитата(mantech @ Jan 3 2018, 09:16) *
... все это началось, когда ПХПшники начали программировать ...
... ПЧПшники-то этого не умели, ...

Это когнитивное искажение типа "Субъективное придание значимости"
Я файловые системы стал применять сразу как только в компиляторах появилась возможноть ретаргетинга.
Файловые операции органично присутствуют в синтаксисе C-и с самого его рождения.
PHP-шники скорее клюнут на SQLlite и прочую тяжеловесную оснастку.
Я не могу себе позволить вещи с непрогнозируемым временнем исполнения и неясными зависимостями.
Даже FAT из-за своей непрогнозируемости редко подходит.
Go to the top of the page
 
+Quote Post
SSerge
сообщение Jan 4 2018, 12:00
Сообщение #23


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(AlexandrY @ Jan 3 2018, 22:03) *
Файловые операции органично присутствуют в синтаксисе C-и с самого его рождения.

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


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 06:35
Рейтинг@Mail.ru


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