|
Покритикуйте плз. задумку |
|
|
|
 |
Ответов
|
Mar 5 2011, 08:59
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113

|
Если устойство с внутренней автономностью, то почему не писать на FAT, организованный поверх NAND ? Тогда можно прикрутить готовый MSD. Как я понял, надо писать 8кГц 16бит, т.е. 16кбайт/сек, что мало, а значит не надо бояться накладных расходов на запись в FAT.
PS: А вообще, эмулировать FAT интересней :-) Сам сталкивался с такой задачей, но пока решал что FAT на флешке проще, хотя идеи есть :-)
Сообщение отредактировал codier - Mar 5 2011, 09:02
|
|
|
|
|
Mar 5 2011, 09:44
|
Частый гость
 
Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436

|
Цитата(codier @ Mar 5 2011, 11:59)  Если устойство с внутренней автономностью, то почему не писать на FAT, организованный поверх NAND ? Тогда можно прикрутить готовый MSD. Как я понял, надо писать 8кГц 16бит, т.е. 16кбайт/сек, что мало, а значит не надо бояться накладных расходов на запись в FAT. А поверх NAND, это как?
|
|
|
|
|
Mar 5 2011, 16:41
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113

|
Цитата(Paramedic @ Mar 5 2011, 12:44)  А поверх NAND, это как? AlexandrY написал варианты. NAND - это просто носитель, ничто не запрещает на нём реализовать секторы, а на них FAT, да и любую файловую систему. Я с NAND не работал, про проблему выроботки ресурса на нём деталей не знаю, но выше уже знающие люди написали. Собственно, любой формат хранения данных, если они каким-то образом идентифицируются - это файловая система в её глобальном понимании, так что любой свой "велосипед" ничем не хуже, разве что делать надо. Насчёт эмуляции FAT (говорю в приложении к FAT16) идеи такие: 1. Все секторы, что не данные генерить "на лету" 2. MBR и Bootsector можно хранить во флеше контроллера 3. Допущение: Запись данных осуществляется непрерывным блоком (как на ленту) -> Если выровнять блоки по размеру кластера (64-128 кбайт для больших флешек), то больших проблем с генерацией "на лету" собственно таблицы FAT быть не должно. 4. Небольшое торможение при генерации на лету служебных секторов не смущает, т.к. делается Host системой один раз. Если блоки не выравнивать, то тоже можно, но геморней Пните меня где я ошибаюсь..
Сообщение отредактировал codier - Mar 5 2011, 16:42
|
|
|
|
|
Mar 5 2011, 17:25
|
Частый гость
 
Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436

|
Цитата(codier @ Mar 5 2011, 19:41)  AlexandrY написал варианты. NAND - это просто носитель, ничто не запрещает на нём реализовать секторы, а на них FAT, да и любую файловую систему. Я с NAND не работал, про проблему выроботки ресурса на нём деталей не знаю, но выше уже знающие люди написали. Собственно, любой формат хранения данных, если они каким-то образом идентифицируются - это файловая система в её глобальном понимании, так что любой свой "велосипед" ничем не хуже, разве что делать надо. Проблема выработки есть. Более того есть проблема необходимости использовать ECC для обхода битых битов. Чем дальше растёт плотность упаковки данных, тем проблема более актуальна. SD карта решает проблему, у неё встроенный контроллер ECC и прочие прелести - но жрёт сильно больше голой NAND. Сразу писать в ФАТ для нашего случая это слишком большие накладные расходы , избыточное решение. Собственно уже писал, что характеристика диктофонов в плане потребления экстремальные, и каждый "лишний" такт заметен. Цитата(codier @ Mar 5 2011, 19:41)  Насчёт эмуляции FAT (говорю в приложении к FAT16) идеи такие: 1. Все секторы, что не данные генерить "на лету" 2. MBR и Bootsector можно хранить во флеше контроллера 3. Допущение: Запись данных осуществляется непрерывным блоком (как на ленту) -> Если выровнять блоки по размеру кластера (64-128 кбайт для больших флешек), то больших проблем с генерацией "на лету" собственно таблицы FAT быть не должно. 4. Небольшое торможение при генерации на лету служебных секторов не смущает, т.к. делается Host системой один раз. Если блоки не выравнивать, то тоже можно, но геморней Пните меня где я ошибаюсь.. Данные выровнены по страницам флэш, а размер страницы кратен стандарному сектору в 512 байт - с этим проблем нет. Я так понимаю что в случае с MSD не всегда можно понять по запросу хоста служебный блок файловой системы он запрашивает или звуковые данные...
|
|
|
|
|
Mar 5 2011, 18:16
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113

|
Цитата(Paramedic @ Mar 5 2011, 20:25)  Данные выровнены по страницам флэш, а размер страницы кратен стандарному сектору в 512 байт - с этим проблем нет. Я так понимаю что в случае с MSD не всегда можно понять по запросу хоста служебный блок файловой системы он запрашивает или звуковые данные... Почему же не понятно? Структура FAT фиксированная. Всё что вне Data Area - служебный блок. Проверка только 1 - на адрес начала данных во 2-ом кластере в FAT. Если адрес не совпадает, то идём в "медленный" код и генерим системные блоки.
|
|
|
|
Сообщений в этой теме
Paramedic Покритикуйте плз. задумку Mar 4 2011, 18:09 kovigor Цитата(Paramedic @ Mar 4 2011, 22:09) Ест... Mar 4 2011, 18:52 AlexandrY Цитата(Paramedic @ Mar 4 2011, 20:09) Осо... Mar 4 2011, 21:55 aaarrr Цитата(AlexandrY @ Mar 5 2011, 00:55) Т.е... Mar 4 2011, 22:33 sasamy Цитата(AlexandrY @ Mar 5 2011, 00:55) Стр... Mar 5 2011, 02:04  Paramedic Понятно, что сделать всё, вместе с записью звука н... Mar 5 2011, 08:22   sasamy Цитата(Paramedic @ Mar 5 2011, 11:22) А т... Mar 5 2011, 18:50    Paramedic Цитата(sasamy @ Mar 5 2011, 21:50) Хотело... Mar 6 2011, 14:16     sasamy Цитата(Paramedic @ Mar 6 2011, 17:16) Sam... Mar 6 2011, 15:18      aaarrr Цитата(sasamy @ Mar 6 2011, 18:18) Ну вот... Mar 6 2011, 15:42       sasamy Цитата(aaarrr @ Mar 6 2011, 18:42) Так не... Mar 6 2011, 16:02  AlexandrY Цитата(sasamy @ Mar 5 2011, 04:04) Только... Mar 5 2011, 13:45   sasamy Цитата(AlexandrY @ Mar 5 2011, 16:45) Хе-... Mar 5 2011, 14:22    AlexandrY Цитата(sasamy @ Mar 5 2011, 16:22) После ... Mar 5 2011, 15:56 AlexandrY Цитата(codier @ Mar 5 2011, 10:59) Если у... Mar 5 2011, 09:32     AlexandrY Цитата(codier @ Mar 5 2011, 20:16) Почему... Mar 5 2011, 18:55      aaarrr Цитата(AlexandrY @ Mar 5 2011, 21:55) Во ... Mar 5 2011, 19:03      codier Цитата(AlexandrY @ Mar 5 2011, 21:55) Я б... Mar 5 2011, 19:54 ukpyr Можно cy7c68013 + контроллер с параллельным портом... Mar 5 2011, 15:11 sasamy Цитата(ukpyr @ Mar 5 2011, 18:11) Можно c... Mar 5 2011, 15:52 akimych Вообще говоря эмуляция FAT-а на чтение не должна б... Mar 5 2011, 17:37 akimych Какие чипы используются не было озвучено, но в тех... Mar 5 2011, 23:23 aaarrr В случае SD/(e)MMC и прочих стандартных носителей ... Mar 6 2011, 16:12 Paramedic Цитата(aaarrr @ Mar 6 2011, 19:12) В случ... Mar 6 2011, 17:21
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|