![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Файловая система JFFS2 на SPI EEPROM ST Micro m45p80 на 1 MB.
Ядро 2.6.28.10, armv5tejl, самопальный порт BSP c 2.6.16.4 (кстати, я ещё не писал что портировал SPI драйвера в дополнение к своим старым изыскам и добавил возможность отключения MTD_CONCAT в оригинальный вендорский код :) ).
Форматирую устройство, заливаю файловую систему.
192KB занято файловой системой (из 1024KB - уже круто).
Начинаю создавать мелкие файлы, дохрена мелких (14b) файлов. На счётчике 4337 заканчивается место. Это 59КB реальных данных. "df -B 1 ." показывает бред (осталось 72KB), du утверждает что записано 2.1MB.
Отключаю компрессию - результат идентичный.
Считаем payload - порядка 164 байта на файл. Это алилуйя.
Напрягаю мозг - и отключаю JFFS2_SUMMARIZE. Теперь влазит 6030 файлов (82KB данных)
Но начинается неведомое - эти файлы теперь невозможно поменять. Удалить - можно , поменять - нельзя (no free space on device).
И мёртвые с косами вдоль дорог стоят.
Ядро 2.6.28.10, armv5tejl, самопальный порт BSP c 2.6.16.4 (кстати, я ещё не писал что портировал SPI драйвера в дополнение к своим старым изыскам и добавил возможность отключения MTD_CONCAT в оригинальный вендорский код :) ).
Форматирую устройство, заливаю файловую систему.
192KB занято файловой системой (из 1024KB - уже круто).
Начинаю создавать мелкие файлы, дохрена мелких (14b) файлов. На счётчике 4337 заканчивается место. Это 59КB реальных данных. "df -B 1 ." показывает бред (осталось 72KB), du утверждает что записано 2.1MB.
Отключаю компрессию - результат идентичный.
Считаем payload - порядка 164 байта на файл. Это алилуйя.
Напрягаю мозг - и отключаю JFFS2_SUMMARIZE. Теперь влазит 6030 файлов (82KB данных)
Но начинается неведомое - эти файлы теперь невозможно поменять. Удалить - можно , поменять - нельзя (no free space on device).
И мёртвые с косами вдоль дорог стоят.
no subject
Date: 2010-05-27 09:39 pm (UTC)nand(mtd) не является block devices-ом
no subject
Date: 2010-05-27 09:46 pm (UTC)no subject
Date: 2010-05-27 09:52 pm (UTC)no subject
Date: 2010-05-27 10:14 pm (UTC)no subject
Date: 2010-05-27 10:23 pm (UTC)no subject
Date: 2010-05-27 10:27 pm (UTC)теперь вопрос - почему нельзя тупо сэмулировать блок и поверху ляпнуть нормальную фс?
no subject
Date: 2010-05-27 10:33 pm (UTC)В типичном ssd или flash-ке до 16 процессоров стоит на работу с nand-ом, управляемым firmware кодом на 1-2Mb.
no subject
Date: 2010-05-28 01:09 am (UTC)no subject
Date: 2010-05-28 08:25 am (UTC)но есть нюансы
1) запись на MTD состоит из цикла ERASE + WRITE, причём минимальные блоки весьма не маленькие. На моей EEPROM erase block size - 64K (и это стандартно)
2) малое количество циклов записи. На моём устройстве производитель гарантирует 10 000 циклов записи блока. Из этого следуют экзотические файловые системы, которые считают наличие бэдов на NAND - штатной ситуацией.
3) эти файловые системы (исходя из сложности задачи) - имеют большую внутреннюю сложность и значительный payload на файло
no subject
Date: 2010-05-28 11:33 am (UTC)терь понятно - быстроизнашивоемое говножелезо со штатными (и постоянно растущими) бэдами. нахера оно такое надо - нипаняяяятна.
no subject
Date: 2010-05-28 12:38 pm (UTC)no subject
Date: 2010-05-28 03:43 pm (UTC)в эмбеде сейчас за каждый доллар на устройстве душатся, соревнуются кто себестоимость железа удешевит ещё на 50 центов. Для партий на сотни тысяч и миллионов штук (а вся масса бытовой электроники такова) - это очень серьёзная разница.