mend0za: (kotik)
[personal profile] mend0za
Файловая система 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).

И мёртвые с косами вдоль дорог стоят.

Date: 2010-05-27 09:39 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
для тех, кто не вкурсе
nand(mtd) не является block devices-ом

Date: 2010-05-27 09:46 pm (UTC)
From: [identity profile] theiced.livejournal.com
ах ебать меня ананасом. ссылко гони на описание, а то я за говном этим не слежу.

Date: 2010-05-27 09:52 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
http://en.wikipedia.org/wiki/Flash_memory

Date: 2010-05-27 10:14 pm (UTC)
From: [identity profile] theiced.livejournal.com
а почему не блок?

Date: 2010-05-27 10:23 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
Подключается напрямую к проуессору по шине, физическое представление у её такое. Например у ssd винчестера или обычно usb-флешки есть специальный контроллер и процессор, который делает из её block device. В embedded часто подключается напрямую к CPU, безо всяких контроллеров.

Date: 2010-05-27 10:27 pm (UTC)
From: [identity profile] theiced.livejournal.com
ну вот это и стоило сразу сказать.

теперь вопрос - почему нельзя тупо сэмулировать блок и поверху ляпнуть нормальную фс?

Date: 2010-05-27 10:33 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
Высокая нагрузка на CPU + падение скорости записи ориентировочно в 10 раз.

В типичном ssd или flash-ке до 16 процессоров стоит на работу с nand-ом, управляемым firmware кодом на 1-2Mb.

Date: 2010-05-28 01:09 am (UTC)
From: [identity profile] theiced.livejournal.com
кошмары какие.

Date: 2010-05-28 08:25 am (UTC)
From: [identity profile] mend0za.livejournal.com
блок эмулируется и так (/dev/mtdblock* поверх /dev/mtd*), что позволяет монтировать файловые системы с этих устройств.

но есть нюансы

1) запись на MTD состоит из цикла ERASE + WRITE, причём минимальные блоки весьма не маленькие. На моей EEPROM erase block size - 64K (и это стандартно)
2) малое количество циклов записи. На моём устройстве производитель гарантирует 10 000 циклов записи блока. Из этого следуют экзотические файловые системы, которые считают наличие бэдов на NAND - штатной ситуацией.
3) эти файловые системы (исходя из сложности задачи) - имеют большую внутреннюю сложность и значительный payload на файло




Date: 2010-05-28 11:33 am (UTC)
From: [identity profile] theiced.livejournal.com
так и знал что нефиг мельникова слушать :)

терь понятно - быстроизнашивоемое говножелезо со штатными (и постоянно растущими) бэдами. нахера оно такое надо - нипаняяяятна.

Date: 2010-05-28 12:38 pm (UTC)
From: [identity profile] ex-biespart.livejournal.com
Хоць бы таму, што цана меншая.

Date: 2010-05-28 03:43 pm (UTC)
From: [identity profile] mend0za.livejournal.com
дёшево, сердито и простая схема электронного подключения

в эмбеде сейчас за каждый доллар на устройстве душатся, соревнуются кто себестоимость железа удешевит ещё на 50 центов. Для партий на сотни тысяч и миллионов штук (а вся масса бытовой электроники такова) - это очень серьёзная разница.




Profile

mend0za: (Default)
mend0za

June 2023

S M T W T F S
    123
45678910
11 121314151617
18192021222324
252627282930 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 28th, 2025 09:06 am
Powered by Dreamwidth Studios