реклама на сайте
подробности

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> microSD задержки при обмене, есть ли способы борьбы ?
MiklPolikov
сообщение Sep 5 2016, 21:50
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



На microSD карту пишется поток данных. Поток непрерывный, буфера RAM нет, карта периодически останавливает обмен на доли секунды.
Интерфейс SDIO 48МГц , на карте FAT32 , библиотека для работы c FAT FATFS.

Вопрос:
Можно ли избавится от задержек в обмене ? Может быть, в современных картах появились какие-то хитрые настройки для этого ? Может быть, есть карты со встроенным буфером RAM ?

Заранее спасибо !





--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 5 2016, 22:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Нет, никак нельзя избавиться. Или организуйте буфер, или используйте менее "интеллектуальный" носитель.
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Sep 5 2016, 22:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(aaarrr @ Sep 6 2016, 01:08) *
Нет, никак нельзя избавиться. Или организуйте буфер, или используйте менее "интеллектуальный" носитель.


Ну неужели время идёт, а карты работают с задержками как 10 лет назад ? Неужели не появилось ничего нового ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
segment
сообщение Sep 5 2016, 22:26
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 352
Регистрация: 10-08-06
Из: Санкт-Петербург
Пользователь №: 19 471



Наблюдал такое на STM32. Решилось переходом на DMA и буферезированной передачей.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 5 2016, 22:31
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(MiklPolikov @ Sep 6 2016, 01:21) *
Ну неужели время идёт, а карты работают с задержками как 10 лет назад ? Неужели не появилось ничего нового ?

Как раз 10 лет назад задержки были меньше.
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 6 2016, 04:31
Сообщение #6


Гуру
******

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



Скорость записи может зависеть от того, как карта была отформатирована. Внутри карты действует понятие Allocation Unit (AU) и лучшая скорость записи достигается когда AU записывается один за другим, не пересекая при этом границу AU. Это связано с работой внутренних механизмов выравнивания износа и трансляции номеров блоков, которые в большинстве карт оперируют AU и могут поддерживать лишь небольшое количество одновременно "открытых" AU.
При этом с точки зрения FatFS, чем больше кластер - тем меньше накладных расходов на запись FAT и т.п. Т.е. выше скорость.

По части форматирования, см. статью. Есть и аналогичные статьи, которые можно найти по ключевым словам "sd card formatting for optimal performance".


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 6 2016, 06:16
Сообщение #7


Ally
******

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



Цитата(MiklPolikov @ Sep 6 2016, 00:50) *
Вопрос:
Можно ли избавится от задержек в обмене ?
Заранее спасибо !


Можно. https://geektimes.ru/post/274416/
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 6 2016, 07:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(makc @ Sep 6 2016, 07:31) *
Скорость записи может зависеть от того, как карта была отформатирована.

Средняя скорость - да, может зависеть. Но задержки никуда не исчезнут.

UPD. Посмотрел сслылку - это просто цирк: автор измеряет скорости работы кэша, и делает при этом выводы о размерах блока стирания и страниц карты.

Цитата(AlexandrY @ Sep 6 2016, 09:16) *

Да ну, "увидеть и оценить" == "избавиться"?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 6 2016, 07:20
Сообщение #9


Ally
******

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



Цитата(aaarrr @ Sep 6 2016, 10:14) *
Да ну, "увидеть и оценить" == "избавиться"?


В смысле как блондинка, если чего не знаю, то вероятность 50 на 50?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 6 2016, 07:35
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(AlexandrY @ Sep 6 2016, 10:20) *
В смысле как блондинка, если чего не знаю, то вероятность 50 на 50?

На одной карте одни задержки, на другой - другие. В чем ценность "знания"?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 6 2016, 08:49
Сообщение #11


Ally
******

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



Цитата(aaarrr @ Sep 6 2016, 10:35) *
На одной карте одни задержки, на другой - другие. В чем ценность "знания"?


Знание в том, что точно есть карты без задержек. laughing.gif
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 6 2016, 11:46
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Sep 6 2016, 11:49) *
Знание в том, что точно есть карты без задержек. laughing.gif


А выравнивание износа они когда должны делать, если идет непрерывный поток? И запись на изношенные или свежие блоки явно не одно и то же время занимает rolleyes.gif
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 6 2016, 12:28
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 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) *
Знание в том, что точно есть карты без задержек. laughing.gif

Где можно взять такие карты? Производитель? Модель карты?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 7 2016, 10:21
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(makc @ Sep 6 2016, 10:31) *
Скорость записи может зависеть от того, как карта была отформатирована.

Как бы она ни была отформатирована, но необходимость стирать блоки от этого никуда не исчезнет.

Цитата(AlexandrY @ Sep 6 2016, 14:49) *
Знание в том, что точно есть карты без задержек. laughing.gif

Ну конечно. Это изначально стёртые карты wink.gif

Цитата(mantech @ Sep 6 2016, 17:46) *
А выравнивание износа они когда должны делать, если идет непрерывный поток? И запись на изношенные или свежие блоки явно не одно и то же время занимает rolleyes.gif

Перед записью блок данных флешь должен быть стёрт. Это физическое свойство флешь. Как бы карта ни была отформатирована, какова бы ни была свежесть блока, но, если он не стёрт, перед записью его надо стереть. А для флешь это самая затратная операция. И никуда от неё не деться.
Ну или заранее, при проектировании, включить голову, посчитать требуемую скорость потока, посчитать задержки стирания и заложить флешку требуемой скорости стирания. Если скорости не хватает - можно заложить две флешки и тем самым или: повысить скорость записи или снизить задержки стирания при том же объёме буфера (пока стирается блок на одной флешке, пишется другая, потом меняются).
Да и файловую систему для такой потоковой записи лучше не использовать.

Цитата(adnega @ Sep 6 2016, 18:28) *
Где можно взять такие карты? Производитель? Модель карты?

Это возможно только если их производитель встроил какой-то буфер в саму карту. Что маловероятно.
Автору надо подумать насчёт добавления в устройство буферной памяти необходимого размера. Внешней.
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 7 2016, 10:22
Сообщение #15


Гуру
******

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



Цитата(jcxz @ Sep 7 2016, 13:13) *
Как бы она ни была отформатирована, но необходимость стирать блоки от этого никуда не исчезнет.


Не могу согласиться, т.к. структура карты оптимизируется для эффективной работы ФС. Т.е. начало карты (область служебных данных) может быть разбито на мелкие блоки, а дальше разбивка может идти на блоки большего размера (область данных). Кроме того размещение блоков ФС на диске (выравнивание) непосредственно влияет на эффективность работы логики выравнивания износа, что неизбежно сказывается на общей скорости записи. Представьте, как карта может записать 32К, которые пересекают границу соседних 4М блоков?


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 12:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01492 секунд с 7
ELECTRONIX ©2004-2016