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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Не лезет в память, как это исправить?
inventor
сообщение Oct 19 2015, 10:27
Сообщение #31


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



короч че спорить - все что делается - нужно делать с избытком.
у меня буферы с запасом минимум на 2 секунды - сбоев пока не было.
если сокрашаю время до полусекнды - начинает сбоить
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 19 2015, 10:30
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (jcxz @ Oct 19 2015, 13:10) *
Я уже посчитал какой размер буфера нужен для устойчивости к такой задержке.

Да.
QUOTE
У ТС в 10 раз больше. и при этом у него ещё и потери.....

Причем, напомню, что ТС начал разговор не задержек и не с потерь, а с дивного утверждения, что ему буфера нужны вообще для того, что-бы РЕЖЕ ПИСАТЬ, типа каких-то "сбоев" меньше.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 19 2015, 10:46
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(jcxz @ Oct 19 2015, 13:24) *
Если такая задержка появляется постоянно, значит это карта с ну очень мееееееееееееееееееееееееееееедленной потоковой скоростью записи.
Настолько медленная, что таких не существет sm.gif

Просто чуть выше была ссылка на некий документ, который регламентирует макс. длительность операции записи. Прочитали и возрадовались, но вроде бы этот документ не говорит, как часто происходит вот эта аномально долгая операция.
Кстати, потоковая скорость записи - она же усредняется по некоторому достаточно большому промежутку времени. И высокая скорость записи не противоречит возможности появления двух подряд операций записи по 250 мс, к примеру. А почему бы и нет? Мы же не знаем, какой именно алгоритм они туда заложили.
Выходит, официальный документ не гарантирует спокойной жизни. Приходится полагаться на свидетельства бывалых товарищей и прочие вести с полей.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 19 2015, 10:57
Сообщение #34


Гуру
******

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



Цитата(scifi @ Oct 19 2015, 16:46) *
Кстати, потоковая скорость записи - она же усредняется по некоторому достаточно большому промежутку времени. И высокая скорость записи не противоречит возможности появления двух подряд операций записи по 250 мс, к примеру. А почему бы и нет? Мы же не знаем, какой именно алгоритм они туда заложили.
Выходит, официальный документ не гарантирует спокойной жизни. Приходится полагаться на свидетельства бывалых товарищей и прочие вести с полей.

Как я понимаю - никаких поисков блоков контроллер карты не производит. Если имеется в виду обычная запись на карту без ФС в непрерывную последовательную цепочку секторов,
то длительные задержки (операции стирания) будут появляться среди коротких задержек (операций записи) с периодичностью равной отношению размера блока стирания к размеру блока записи (см. CSD).
Все эти счётчики износа - это что-то из более высокоуровневнего ПО (либо из SSD), контроллеры SD-карты, имхо, такое не реализуют.

Да, ещё насколько помню, карты умеют делать групповую запись, накапливая некоторое кол-во секторов во внутреннем буфере и потом записывая скопом. Здесь тоже может быть некоторая неравномерность задержек.
Но всё равно - потоковая скорость записи при непрерывной линейной записи секторов, должна быть константой на некотором интервале усреднения.
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Oct 19 2015, 11:11
Сообщение #35


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Цитата(jcxz @ Oct 19 2015, 13:57) *
Как я понимаю - никаких поисков блоков контроллер карты не производит. Если имеется в виду обычная запись на карту без ФС в непрерывную последовательную цепочку секторов,
то длительные задержки (операции стирания) будут появляться среди коротких задержек (операций записи) с периодичностью равной отношению размера блока стирания к размеру блока записи (см. CSD).
Все эти счётчики износа - это что-то из более высокоуровневнего ПО (либо из SSD), контроллеры SD-карты, имхо, такое не реализуют.


Вроде всё с точностью до наоборот.
Современные карты (SDXC) требуют extFAT, потому как "wear leveling" не производят.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 19 2015, 13:38
Сообщение #36


Гуру
******

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



Цитата(Копейкин @ Oct 19 2015, 17:11) *
Вроде всё с точностью до наоборот..

Приведите соответствующий раздел спецификации SD, где указано что она это делает.
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Oct 19 2015, 15:05
Сообщение #37


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Цитата(jcxz @ Oct 19 2015, 17:38) *
Приведите соответствующий раздел спецификации SD, где указано что она это делает.

Вот здесь привести документ или цитату не могу.
Честно скажу, информация косвенная.
Основана на предупреждении с упаковки новой карточки SDXC, где было сказано
использовать FAT32 недопустимо, только extFAT.
extFAT создана для FLASH носителей требующих выранивание износа и т.п.
Тогда как SDSC/SDHC прекрасно обходились FAT16/32.
Go to the top of the page
 
+Quote Post
megajohn
сообщение Oct 19 2015, 15:28
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(jcxz @ Oct 19 2015, 16:38) *
Приведите соответствующий раздел спецификации SD, где указано что она это делает.



The controller in Delkin’s Industrial SLC microSD cards implements an
efficient bad block management algorithm to detect the factory-produced bad blocks and manage
any bad blocks that appear with use.

http://delkinoem.com/oem-engineering-specs...icroSD-Spec.pdf


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
inventor
сообщение Oct 19 2015, 15:57
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



я не понимаю к чему спор, мы выпускали сейсмооборудование -
предыдущий разработчик делал 2-е резервирование
в случае сбоя. т.е. ставил 2 SD карты
что там пишут прооизводители - это все реклама
практика - критерий истыны: чем реже пищешь тем надежнее
Go to the top of the page
 
+Quote Post
Alex11
сообщение Oct 19 2015, 17:14
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Мы пишем на карточки разнообразные звук и видео в очень больших объемах. Эффекты наблюдаются при этом самые потрясающие. В том числе и задержки записи (карточка уходит в Busy) до 3 секунд. На девственно чистой карте этих задержек нет. Там есть максимум специфицированные 250 мс или около того. После того, как карта будет записана полностью, часть файлов стерта и записана снова, и так еще пару раз - начинаются большие задержки. Некоторые новые карточки сделаны аккуратно и не имеют этого эффекта. Увеличение размеров буферов помогает, но не сильно. Для борьбы с ним найден единственный разумный способ - при стирании файлов карточке нужно сказать, что место этого файла свободно. (Команда Erase на карту) Свежие версии файловых систем под Linux (fat и ext4) это поддерживают, и в сочетании с правильным указанием параметров при создании разделов и монтировании (выравнивание разделов и элементов файловой системы на 16 МБ) это приводит к отсутствию больших задержек при записи даже при большой скорости.
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Oct 19 2015, 17:29
Сообщение #41


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



Цитата(Alex11 @ Oct 19 2015, 21:14) *
Для борьбы с ним найден единственный разумный способ - при стирании файлов карточке нужно сказать, что место этого файла свободно. (Команда Erase на карту) Свежие версии файловых систем под Linux (fat и ext4) это поддерживают, и в сочетании с правильным указанием параметров при создании разделов и монтировании (выравнивание разделов и элементов файловой системы на 16 МБ) это приводит к отсутствию больших задержек при записи даже при большой скорости.

Спасибо, весьма полезная информация.
А про выравнивание по 16Мб - это откуда?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 19 2015, 17:44
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Alex11 @ Oct 19 2015, 20:14) *
Для борьбы с ним найден единственный разумный способ - при стирании файлов карточке нужно сказать, что место этого файла свободно. (Команда Erase на карту)

А чего было "искать"? Естественно, что нужно flash стирать перед использованием, тогда не придется делать этого в процессе записи. Естественно, что при использовании классических файловых систем и сооответсвенно "форматировании" это не делается, ибо либо ничего не делается, либо при полном форматировании заполняется тестовым паттерном.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 19 2015, 21:26
Сообщение #43


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата
Да, ещё насколько помню, карты умеют делать групповую запись

Групповая запись экономит время, но ещё лучше перед командой групповой записи выдать команду с информацией о размере планируемой записи. Цитату не приведу, у себя пока блочную запись не использую. При записи на карту потока 48 кГц-моно-16 бит заметные задержки (выражающиеся в росте количества буферов, ожидающих записи на карту) иногда происходят, как и у других участников, на время до секунды-полутора, при использовании 96 килобайт буферов потерь данных из-за пропусков практически не происходит (но бывает). Карты на малые объёмы (2/4 GB) меньше страдают задержками.
Интерфейс (4 бит или MMC/SPI) не влияет.



Сообщение отредактировал Genadi Zawidowski - Oct 19 2015, 21:29
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 19 2015, 21:45
Сообщение #44


Гуру
******

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



Цитата(Genadi Zawidowski @ Oct 20 2015, 00:26) *
...ещё лучше перед командой групповой записи выдать команду с информацией о размере планируемой записи.

Вот сколько не пробовал на SD и SDHC, не попадались мне карты, которые этой информацией пользовались бы.
То есть разницы просто не наблюдается, увы sad.gif
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 19 2015, 21:55
Сообщение #45


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Значит, я не много потерял, не внедряя это в свой код.
Go to the top of the page
 
+Quote Post

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

 


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


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