|
|
  |
microSD задержки при обмене, есть ли способы борьбы ? |
|
|
|
Sep 6 2016, 04:31
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Скорость записи может зависеть от того, как карта была отформатирована. Внутри карты действует понятие Allocation Unit (AU) и лучшая скорость записи достигается когда AU записывается один за другим, не пересекая при этом границу AU. Это связано с работой внутренних механизмов выравнивания износа и трансляции номеров блоков, которые в большинстве карт оперируют AU и могут поддерживать лишь небольшое количество одновременно "открытых" AU. При этом с точки зрения FatFS, чем больше кластер - тем меньше накладных расходов на запись FAT и т.п. Т.е. выше скорость. По части форматирования, см. статью. Есть и аналогичные статьи, которые можно найти по ключевым словам "sd card formatting for optimal performance".
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 6 2016, 07:14
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(makc @ Sep 6 2016, 07:31)  Скорость записи может зависеть от того, как карта была отформатирована. Средняя скорость - да, может зависеть. Но задержки никуда не исчезнут. UPD. Посмотрел сслылку - это просто цирк: автор измеряет скорости работы кэша, и делает при этом выводы о размерах блока стирания и страниц карты. Цитата(AlexandrY @ Sep 6 2016, 09:16)  Да ну, "увидеть и оценить" == "избавиться"?
|
|
|
|
|
Sep 6 2016, 12:28
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(MiklPolikov @ Sep 6 2016, 01:21)  Ну неужели время идёт, а карты работают с задержками как 10 лет назад ? Неужели не появилось ничего нового ? Задержки видел по 500мс и больше. За 10 лет карты сильнейшим образом подешевели. Вроде, MMC-карты в плане потоков выглядят лучше, но не по цене. Кста, карты со временем начинают "тупить" даже если работает только на чтение. Если найдете "крутую" карту с "ровными" характеристиками ожидания, то дайте знать. Могу поделиться некоторой статистикой, если надо. Цитата(Сега @ Sep 6 2016, 01:26)  Наблюдал такое на STM32. Решилось переходом на DMA и буферезированной передачей. Доля обмена между картой и SDIO ничтожна по сравнению с ожиданием данных от карты. При "ожидании данных в 500мс" будет обмен между картой за 0.5мс или за 2мс уже не так важно. Цитата(AlexandrY @ Sep 6 2016, 11:49)  Знание в том, что точно есть карты без задержек.  Где можно взять такие карты? Производитель? Модель карты?
|
|
|
|
|
Sep 7 2016, 10:21
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(makc @ Sep 6 2016, 10:31)  Скорость записи может зависеть от того, как карта была отформатирована. Как бы она ни была отформатирована, но необходимость стирать блоки от этого никуда не исчезнет. Цитата(AlexandrY @ Sep 6 2016, 14:49)  Знание в том, что точно есть карты без задержек.  Ну конечно. Это изначально стёртые карты  Цитата(mantech @ Sep 6 2016, 17:46)  А выравнивание износа они когда должны делать, если идет непрерывный поток? И запись на изношенные или свежие блоки явно не одно и то же время занимает  Перед записью блок данных флешь должен быть стёрт. Это физическое свойство флешь. Как бы карта ни была отформатирована, какова бы ни была свежесть блока, но, если он не стёрт, перед записью его надо стереть. А для флешь это самая затратная операция. И никуда от неё не деться. Ну или заранее, при проектировании, включить голову, посчитать требуемую скорость потока, посчитать задержки стирания и заложить флешку требуемой скорости стирания. Если скорости не хватает - можно заложить две флешки и тем самым или: повысить скорость записи или снизить задержки стирания при том же объёме буфера (пока стирается блок на одной флешке, пишется другая, потом меняются). Да и файловую систему для такой потоковой записи лучше не использовать. Цитата(adnega @ Sep 6 2016, 18:28)  Где можно взять такие карты? Производитель? Модель карты? Это возможно только если их производитель встроил какой-то буфер в саму карту. Что маловероятно. Автору надо подумать насчёт добавления в устройство буферной памяти необходимого размера. Внешней.
|
|
|
|
|
Sep 7 2016, 10:22
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(jcxz @ Sep 7 2016, 13:13)  Как бы она ни была отформатирована, но необходимость стирать блоки от этого никуда не исчезнет. Не могу согласиться, т.к. структура карты оптимизируется для эффективной работы ФС. Т.е. начало карты (область служебных данных) может быть разбито на мелкие блоки, а дальше разбивка может идти на блоки большего размера (область данных). Кроме того размещение блоков ФС на диске (выравнивание) непосредственно влияет на эффективность работы логики выравнивания износа, что неизбежно сказывается на общей скорости записи. Представьте, как карта может записать 32К, которые пересекают границу соседних 4М блоков?
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|