|
TrueFFS - Файловая система для Flash, ищу SDK |
|
|
|
May 8 2008, 23:43
|

Участник

Группа: Свой
Сообщений: 55
Регистрация: 9-04-05
Из: г. Минск
Пользователь №: 3 984

|
Цитата(Alex11 @ May 8 2008, 21:46)  Господа, нет ли у кого SDK от TrueFFS или каких-то соображений как правильно делать блочное устройство на NAND Flash, чтобы равномерно использовать ресурс NAND и можно было реализовать на микроконтроллере с небольшим объемом RAM. Посмотрите в сторону YAFFS2 ( http://www.yaffs.net/), как раз разрабатывалась для NAND с учетом использования ресурса, если только удовлетворит требованиям по RAM. Там так же есть вариант интерфейса Direct позволяющий использовать эту ФС без ОС.
|
|
|
|
|
May 9 2008, 08:26
|
Группа: Новичок
Сообщений: 4
Регистрация: 28-02-07
Пользователь №: 25 754

|
Вот еще ФС http://logfs.org/. Еще менее требовательна к RAM. Правда не уверен что она работает без ОС. И еще одна легковесная ФС http://sourceforge.net/projects/uffs/. Работает без ОС.
|
|
|
|
|
May 9 2008, 17:52
|

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

|
Сами то пробовали? Там просто мусор лежит. Точнее нечто невменяемое и абсолютно без всяких драйверов. Цитата(si21 @ May 9 2008, 03:13)  Посмотрите в сторону YAFFS2 ( http://www.yaffs.net/), как раз разрабатывалась для NAND с учетом использования ресурса, если только удовлетворит требованиям по RAM. Там так же есть вариант интерфейса Direct позволяющий использовать эту ФС без ОС.
|
|
|
|
|
May 10 2008, 04:28
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 12-12-05
Пользователь №: 12 125

|
Цитата(GetSmart @ May 10 2008, 03:37)  А какой размер сегмента у 4 ГБ NAND-a?  Точнее, размер сектора. Цитата с http://sourceforge.net/projects/uffs/ : Цитата UFFS typically consumes less then 200K ram for 1Gb(page 512)/4Gb(page 2K) NAND flash. Так что, памяти требует на 2 порядка больше...
|
|
|
|
|
May 10 2008, 07:53
|

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

|
Если нужна эмуляция FAT или POSIX API подобных систем на NAND, то без огромной RAM не обойтись. Но если просто нужна какая-то файловая ограниченная система, то можно придумать вариант вообще без всяких ремапингов в RAM. Например как Serial Flash File System из этого проекта http://aly.ogmis.lt/OpenProjects/ADP_LPC2148/ADP_LPC.htmНужна будет только модификация процедуры поиска свободного блока. Свободные блоки должны будут выбираться только по направлению вперед, и wear-leveling получится тогда автоматически. Причем совершенно не будет волновать проблема статических файлов. Цитата(Alex11 @ May 10 2008, 09:42)  Сектор - 4К, стираемый блок - 64 сектора.
|
|
|
|
|
May 10 2008, 14:40
|

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

|
Не знаю какой вы сакральный смысл вкладываете в понятие "блочное устройство" Но по моему вас должно волновать больше API, т.е. собственно как вы будете натягивать сторонний софт на эту файловую систему. Чаще всего софт полагается по файловые системы типа FAT, где можно одновременно открыть много файлов, есть понятия директорий, путей и операций над ними и т.д. И это критично, поэтому примитивные сиcтемы могут и не подходить Но если приложение пишется для какого-нибудь PIC-а или ATмеги то вполне можно положить и на "блочность" устройства и на API и юзать линейную журнальную FS. Как уже сказал в такого типа FS wear-leveling получается почти автоматом. Цитата(Alex11 @ May 10 2008, 17:17)  FAT или что-то другое - дело десятое, проблема в том, что нужно блочное устройство. Т.е. при линейной адресации сверху к набору блоков был ремапинг на структуру NAND со сменой блоков, чтобы не допускать записи в один и тот же много раз.
|
|
|
|
|
May 10 2008, 20:55
|
Гуру
     
Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965

|
To AlexandrY: Если бы все ограничивалось только одним моим устройством, то проблем бы не было с любой файловой системой. Блочное - в том смысле, что приходящая сверху команда - это прочитать столько-то данных начиная с блока номер такой-то или записать такие-то данные начиная с блока номер такой-то. Т.е. собственно файловая система не так интересна. Сверху на все это должен быть натянут FAT, но это уже не большая проблема. To GetSmart: Скорость, как всегда, тоже имеет значение. Вообще, будет некий регистратор, который пишет файлы на встроенный NAND, а затем подключается к PC и изображает из себя massstorage device с возможностью читать и удалять выборочно файлы. Можно, конечно, сделать PTP - там будет все сильно легче, но микрософт грозится снять его с поддержки. Очень не хочется через пару лет под очередные виндюки переписывать все по новой. Проц будет ARM7, но рама там 64К всего, а еще надо на дело оставить.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|