MiklPolikov 0 5 сентября, 2016 Опубликовано 5 сентября, 2016 · Жалоба На microSD карту пишется поток данных. Поток непрерывный, буфера RAM нет, карта периодически останавливает обмен на доли секунды. Интерфейс SDIO 48МГц , на карте FAT32 , библиотека для работы c FAT FATFS. Вопрос: Можно ли избавится от задержек в обмене ? Может быть, в современных картах появились какие-то хитрые настройки для этого ? Может быть, есть карты со встроенным буфером RAM ? Заранее спасибо ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 5 сентября, 2016 Опубликовано 5 сентября, 2016 · Жалоба Нет, никак нельзя избавиться. Или организуйте буфер, или используйте менее "интеллектуальный" носитель. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 5 сентября, 2016 Опубликовано 5 сентября, 2016 · Жалоба Нет, никак нельзя избавиться. Или организуйте буфер, или используйте менее "интеллектуальный" носитель. Ну неужели время идёт, а карты работают с задержками как 10 лет назад ? Неужели не появилось ничего нового ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 5 сентября, 2016 Опубликовано 5 сентября, 2016 · Жалоба Наблюдал такое на STM32. Решилось переходом на DMA и буферезированной передачей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 5 сентября, 2016 Опубликовано 5 сентября, 2016 · Жалоба Ну неужели время идёт, а карты работают с задержками как 10 лет назад ? Неужели не появилось ничего нового ? Как раз 10 лет назад задержки были меньше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба Скорость записи может зависеть от того, как карта была отформатирована. Внутри карты действует понятие Allocation Unit (AU) и лучшая скорость записи достигается когда AU записывается один за другим, не пересекая при этом границу AU. Это связано с работой внутренних механизмов выравнивания износа и трансляции номеров блоков, которые в большинстве карт оперируют AU и могут поддерживать лишь небольшое количество одновременно "открытых" AU. При этом с точки зрения FatFS, чем больше кластер - тем меньше накладных расходов на запись FAT и т.п. Т.е. выше скорость. По части форматирования, см. статью. Есть и аналогичные статьи, которые можно найти по ключевым словам "sd card formatting for optimal performance". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба Вопрос: Можно ли избавится от задержек в обмене ? Заранее спасибо ! Можно. https://geektimes.ru/post/274416/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба Скорость записи может зависеть от того, как карта была отформатирована. Средняя скорость - да, может зависеть. Но задержки никуда не исчезнут. UPD. Посмотрел сслылку - это просто цирк: автор измеряет скорости работы кэша, и делает при этом выводы о размерах блока стирания и страниц карты. Можно. https://geektimes.ru/post/274416/ Да ну, "увидеть и оценить" == "избавиться"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба Да ну, "увидеть и оценить" == "избавиться"? В смысле как блондинка, если чего не знаю, то вероятность 50 на 50? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба В смысле как блондинка, если чего не знаю, то вероятность 50 на 50? На одной карте одни задержки, на другой - другие. В чем ценность "знания"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба На одной карте одни задержки, на другой - другие. В чем ценность "знания"? Знание в том, что точно есть карты без задержек. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 51 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба Знание в том, что точно есть карты без задержек. :laughing: А выравнивание износа они когда должны делать, если идет непрерывный поток? И запись на изношенные или свежие блоки явно не одно и то же время занимает :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 6 сентября, 2016 Опубликовано 6 сентября, 2016 · Жалоба Ну неужели время идёт, а карты работают с задержками как 10 лет назад ? Неужели не появилось ничего нового ? Задержки видел по 500мс и больше. За 10 лет карты сильнейшим образом подешевели. Вроде, MMC-карты в плане потоков выглядят лучше, но не по цене. Кста, карты со временем начинают "тупить" даже если работает только на чтение. Если найдете "крутую" карту с "ровными" характеристиками ожидания, то дайте знать. Могу поделиться некоторой статистикой, если надо. Наблюдал такое на STM32. Решилось переходом на DMA и буферезированной передачей. Доля обмена между картой и SDIO ничтожна по сравнению с ожиданием данных от карты. При "ожидании данных в 500мс" будет обмен между картой за 0.5мс или за 2мс уже не так важно. Знание в том, что точно есть карты без задержек. :laughing: Где можно взять такие карты? Производитель? Модель карты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 7 сентября, 2016 Опубликовано 7 сентября, 2016 · Жалоба Скорость записи может зависеть от того, как карта была отформатирована. Как бы она ни была отформатирована, но необходимость стирать блоки от этого никуда не исчезнет. Знание в том, что точно есть карты без задержек. :laughing: Ну конечно. Это изначально стёртые карты ;) А выравнивание износа они когда должны делать, если идет непрерывный поток? И запись на изношенные или свежие блоки явно не одно и то же время занимает :rolleyes: Перед записью блок данных флешь должен быть стёрт. Это физическое свойство флешь. Как бы карта ни была отформатирована, какова бы ни была свежесть блока, но, если он не стёрт, перед записью его надо стереть. А для флешь это самая затратная операция. И никуда от неё не деться. Ну или заранее, при проектировании, включить голову, посчитать требуемую скорость потока, посчитать задержки стирания и заложить флешку требуемой скорости стирания. Если скорости не хватает - можно заложить две флешки и тем самым или: повысить скорость записи или снизить задержки стирания при том же объёме буфера (пока стирается блок на одной флешке, пишется другая, потом меняются). Да и файловую систему для такой потоковой записи лучше не использовать. Где можно взять такие карты? Производитель? Модель карты? Это возможно только если их производитель встроил какой-то буфер в саму карту. Что маловероятно. Автору надо подумать насчёт добавления в устройство буферной памяти необходимого размера. Внешней. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 7 сентября, 2016 Опубликовано 7 сентября, 2016 · Жалоба Как бы она ни была отформатирована, но необходимость стирать блоки от этого никуда не исчезнет. Не могу согласиться, т.к. структура карты оптимизируется для эффективной работы ФС. Т.е. начало карты (область служебных данных) может быть разбито на мелкие блоки, а дальше разбивка может идти на блоки большего размера (область данных). Кроме того размещение блоков ФС на диске (выравнивание) непосредственно влияет на эффективность работы логики выравнивания износа, что неизбежно сказывается на общей скорости записи. Представьте, как карта может записать 32К, которые пересекают границу соседних 4М блоков? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться