|
microSD задержки при обмене, есть ли способы борьбы ? |
|
|
|
 |
Ответов
|
Sep 7 2016, 19:52
|

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

|
По-моему Вы путаете уровни, т.к. спецификация задает параметры карт, видимые для внешнего мира. В т.ч. логическую организацию и систему команд. Но делать из этого вывод о физической структуре и методах работы внутренних алгоритмов карты в корне неверно, т.к. это более низкий уровень, скрытый за упомянутой системой команд. Число циклов перезаписи современных MLC/TLC NAND Вы знаете, почему же карты живут несколько дольше? Вот статья 2003 года, отчасти подтверждающая мои слова про наличие механизмов выравнивания износа.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 8 2016, 07:00
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(makc @ Sep 8 2016, 01:52)  По-моему Вы путаете уровни, т.к. спецификация задает параметры карт, видимые для внешнего мира. В т.ч. логическую организацию и систему команд. Но делать из этого вывод о физической структуре и методах работы внутренних алгоритмов карты в корне неверно, т.к. это более низкий уровень, скрытый за упомянутой системой команд. Да я допускаю что внутри там может быть более сложная организация. Я и писал что возможно там есть буферизация потока записываемых блоков (о чём косвенно свидетельствует алгоритм работы команды многоблочной записи). Но в спецификации это явно не указано! Т.е. - не указано что карта должна это делать. Какой-то конкретный производитель может конечно захотеть и реализовать внутри всё что угодно: и вести статистику использования блоков и даже перемещать самые популярные блоки не только по всему массиву блоков, но и в отдельную память, например FRAM и многое другое. Но только - зачем ему оно надо? Тратить ресурсы на более сложную разработку, тратить лишние вентили на весь этот механизм, может их лучше потратить на доп. ячейки флешь и сделать бОльшую ёмкость? Ведь главная цель изготовителя - извлечение прибыли и уменьшение издержек. И если оно не требуется спецификацией, то может кто так и будет делать, то такие карты ТСу ещё найти надо. Цитата(makc @ Sep 8 2016, 01:52)  Число циклов перезаписи современных MLC/TLC NAND Вы знаете, почему же карты живут несколько дольше? И что? Число циклов перезаписи не говорит, что по достижении этого значения, блок сразу откажет. Это минимальное число стираний которое блок должен выдержать, а в реале может в разы больше выдержать. Вот я сейчас разбираюсь с регенерацией SDRAM. Так вот провожу испытания - выключаю регенерацию и измеряю сколько данные продержатся без регенерации. По даташиту регенерацию надо выполнять не реже чем раз в 64мсек, т.е. хранение данных без регенерации более 64мсек не гарантировано. А в реале (заполняю всю SDRAM 32МБ псевдослучайными значениями и через заданное время проверяю всю целиком) разрушение данных наблюдаю только после отключения регенерации на 3-4 сек и более. Если на 1 сек отключить регенерацию, то данные 100%-но сохраняются.
|
|
|
|
|
Sep 8 2016, 08:40
|
Группа: Участник
Сообщений: 9
Регистрация: 29-11-14
Пользователь №: 83 894

|
Некоторое время назад выкладывал мини-отчет по производительности записи на SD в непрофильной теме: http://electronix.ru/forum/index.php?showt...32833&st=31Краткий вывод - от задержек в десятки и даже сотни мс не избавиться, но при правильной организации структуры памяти можно радикально уменьшить их количество.
|
|
|
|
|
Sep 12 2016, 08:33
|

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

|
Цитата(MiklPolikov @ Sep 12 2016, 11:22)  IlyaSergeev, большое спасибо ! Выравнивание адреса на 0x8000 заметно улучшило дело ! . Но редкие нерегулярные задержки 400мс при использовании FATFS остались. FATFS написан неэффективно и чуть что лезет писать в FAT, причём пишет совсем понемногу. Поэтому для оптимизации доступа имеет смысл сделать промежуточный слой доступа к носителю (типа кэша), который будет накапливать эти модификации и потом редко записывать единым блоком. И, кстати, стоит обратить внимание на то, как FatFS сконфигурирован. Надеюсь у Вас _FS_TINY == 0 ?
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 12 2016, 08:47
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(makc @ Sep 12 2016, 11:33)  FATFS написан неэффективно и чуть что лезет писать в FAT, причём пишет совсем понемногу. Поэтому для оптимизации доступа имеет смысл сделать промежуточный слой доступа к носителю (типа кэша), который будет накапливать эти модификации и потом редко записывать единым блоком. И, кстати, стоит обратить внимание на то, как FatFS сконфигурирован. Надеюсь у Вас _FS_TINY == 0 ? Т.е. предлагаете делать прослойку типа SmartDrv в старом мс-досе?? А вы в курсе, что при этом можно очень легко нарушить целостность файловой системы при сбое или отключении питания? Сколько было потрачено сил и убеждений в свое время, чтоб не жали на ресет по делу и без дела в старых компах... Хотя да, на древних винтах ускорение было заметным.
|
|
|
|
|
Sep 12 2016, 11:17
|

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

|
Цитата(mantech @ Sep 12 2016, 11:47)  Т.е. предлагаете делать прослойку типа SmartDrv в старом мс-досе?? Да, что-то вроде, только более специализированной и заточенное под конкретную задачу. Цитата А вы в курсе, что при этом можно очень легко нарушить целостность файловой системы при сбое или отключении питания? Сколько было потрачено сил и убеждений в свое время, чтоб не жали на ресет по делу и без дела в старых компах... Хотя да, на древних винтах ускорение было заметным. Естественно в курсе, но FAT и так не является отказоустойчивой ФС, по определению. И состояние ФС не гарантируется при отключении питания во время выполнения операции записи. С этой точки зрения мое предложение не ухудшает характеристик получаемого результата. Цитата(jcxz @ Sep 12 2016, 13:38)  Вы с логикой дружите???  Я без понятия откуда Вы это взяли. Я с логикой вполне дружу. Взял я это из Вашего же сообщения в этой теме: Цитата(jcxz @ Sep 7 2016, 20:37)  И вообще - где все эти операции перемещения/перераспределения/...? В SD-карте? Вы уверены? Где блоки разного размера и выравнивание износа? Вы не путаете с какими-то другими типами flash-памяти? Из спецификации SD: .... Или Вы этого не писали? Цитата Ведь это Вы утверждаете наличие неких механизмов внутри SD, поэтому я и спрашиваю - есть документальные подтверждения или это только Ваши домыслы ничем не подкреплённые? Я давал подтверждения выше по теме. В ответ Вы мне написали, что: Цитата Но в спецификации это явно не указано! Т.е. - не указано что карта должна это делать. Какой-то конкретный производитель может конечно захотеть и реализовать внутри всё что угодно: и вести статистику использования блоков и даже перемещать самые популярные блоки не только по всему массиву блоков, но и в отдельную память, например FRAM и многое другое. Я же пытаюсь Вам объяснить, что спецификация физического уровня, на которую Вы ссылались, и не может специфицировать данный аспект реализации карт памяти. В связи с чем и поинтересовался, что может быть есть другая спецификация или раздел, где описываются требования к реализации внутренних структур и алгоритмов карты, т.к. я такой спецификации не знаю. Цитата А Вы пробовали? 1000 раз стёрли и на 1001-й раз получили отказ?  Пробовали не с картами памяти, с флешом типа NAND. Требования выравнивания износа при использовании NAND взялись не из воздуха, а из практической необходимости. О чем я Вам и пытаюсь уже несколько раз сказать. Цитата И исходя из чего же производитель назначает этот самый гарантийный срок? Вы считаете это как-то связано с числом циклов перезаписи??  Безусловно. И с механизмами, реализованными в носителях. В противном случае поток рекламаций сведёт на нет всю выручку. А крупные производители умеют считать деньги. К вопросу о надёжности поинтересуйтесь рекомендациями того же Micron'а относительно eMMC. Пару слайдов прикрепил к этому сообщению. Цитата Что именно Вы хотели этим сказать? Ровно то, что и сказал: Ваши слова не аргумент возможно огромного числа циклов перезаписи или огромного запаса надёжности, заложенного производителем "на всякий случай". Цитата Да - условия эксплуатации карт разные и могут меняться. А время жизни (число циклов) задано для наихудшей комбинации этих условий. В реальности же большинство карт эксплуатируются бОльшую часть времени как Вы сказали "на теплом столе". В таких условиях на этом самом "теплом столе" число циклов перезаписи может быть в разы больше минимального, заявленного изготовителем. Число циклов перезаписи, на сколько я понимаю физику процесса, определяется в большей степени деградацией ячейки памяти, которая происходит по нескольким причинам, в т.ч. и при стирании (наиболее сильно). Но нужно понимать, что к разрушению данных во флеше приводит даже чтение, что роднит его с DRAM, в некотором смысле.
Эскизы прикрепленных изображений
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
Сообщений в этой теме
MiklPolikov microSD задержки при обмене Sep 5 2016, 21:50 aaarrr Нет, никак нельзя избавиться. Или организуйте буфе... Sep 5 2016, 22:08 MiklPolikov Цитата(aaarrr @ Sep 6 2016, 01:08) Нет, н... Sep 5 2016, 22:21  aaarrr Цитата(MiklPolikov @ Sep 6 2016, 01:21) Н... Sep 5 2016, 22:31 Сега Наблюдал такое на STM32. Решилось переходом на DMA... Sep 5 2016, 22:26 makc Скорость записи может зависеть от того, как карта ... Sep 6 2016, 04:31 jcxz Цитата(makc @ Sep 6 2016, 10:31) Скорость... Sep 7 2016, 10:21  makc Цитата(jcxz @ Sep 7 2016, 13:13) Как бы о... Sep 7 2016, 10:22   jcxz Цитата(makc @ Sep 7 2016, 16:22) Представ... Sep 7 2016, 11:02    makc Цитата(jcxz @ Sep 7 2016, 14:02) И что из... Sep 7 2016, 12:03     jcxz Цитата(makc @ Sep 7 2016, 18:03) При этом... Sep 7 2016, 17:37 AlexandrY Цитата(MiklPolikov @ Sep 6 2016, 00:50) В... Sep 6 2016, 06:16 aaarrr Цитата(makc @ Sep 6 2016, 07:31) Скорость... Sep 6 2016, 07:14 AlexandrY Цитата(aaarrr @ Sep 6 2016, 10:14) Да ну,... Sep 6 2016, 07:20  aaarrr Цитата(AlexandrY @ Sep 6 2016, 10:20) В с... Sep 6 2016, 07:35   AlexandrY Цитата(aaarrr @ Sep 6 2016, 10:35) На одн... Sep 6 2016, 08:49    mantech Цитата(AlexandrY @ Sep 6 2016, 11:49) Зна... Sep 6 2016, 11:46 adnega Цитата(MiklPolikov @ Sep 6 2016, 01:21) Н... Sep 6 2016, 12:28     MiklPolikov Цитата(makc @ Sep 12 2016, 11:33) Надеюсь... Sep 12 2016, 08:44       jcxz Цитата(makc @ Sep 12 2016, 17:17) Я же пы... Sep 12 2016, 14:11        makc Цитата(jcxz @ Sep 12 2016, 17:11) Да ну... Sep 12 2016, 16:09         jcxz Цитата(makc @ Sep 12 2016, 22:09) И тем н... Sep 12 2016, 17:07          makc Цитата(jcxz @ Sep 12 2016, 20:07) Скажу, ... Sep 12 2016, 17:23     jcxz Цитата(makc @ Sep 12 2016, 14:33) (типа к... Sep 12 2016, 13:47      MiklPolikov Цитата(jcxz @ Sep 12 2016, 16:47) Если-б ... Sep 12 2016, 13:51       _4afc_ Цитата(jcxz @ Sep 8 2016, 11:00) Какой-то... Sep 12 2016, 14:18        jcxz Цитата(_4afc_ @ Sep 12 2016, 20:18) Приве... Sep 12 2016, 14:37       jcxz Цитата(MiklPolikov @ Sep 12 2016, 19:51) ... Sep 12 2016, 14:24       _4afc_ Цитата(MiklPolikov @ Sep 12 2016, 17:51) ... Sep 12 2016, 14:25 Alex11 Чтобы минимизировать задержки при длительной запис... Sep 8 2016, 16:43 MiklPolikov Показалась интересной мысль про то что карта трати... Sep 8 2016, 19:40  aaarrr Цитата(MiklPolikov @ Sep 8 2016, 22:40) С... Sep 8 2016, 19:51   MiklPolikov Цитата(aaarrr @ Sep 8 2016, 22:51) А врем... Sep 8 2016, 21:01   jcxz Цитата(aaarrr @ Sep 9 2016, 01:51) А врем... Sep 12 2016, 04:50    makc Цитата(jcxz @ Sep 12 2016, 07:50) Ещё раз... Sep 12 2016, 08:08     jcxz Цитата(makc @ Sep 12 2016, 14:08) Дайте, ... Sep 12 2016, 10:38 jorikdima многократно тема поднималась тут. Сам сталкивался,... Sep 8 2016, 20:01 makc Их есть, например, Serial SRAM and Serial NVSRAM
... Sep 12 2016, 14:05 MiklPolikov Цитата(makc @ Sep 12 2016, 17:05) Их есть... Sep 12 2016, 14:19  _4afc_ Цитата(MiklPolikov @ Sep 12 2016, 18:19) ... Sep 12 2016, 23:06   MiklPolikov Цитата(_4afc_ @ Sep 13 2016, 02:06) не зн... Sep 12 2016, 23:17    _4afc_ Цитата(MiklPolikov @ Sep 13 2016, 03:17) ... Sep 12 2016, 23:33     MiklPolikov Цитата(_4afc_ @ Sep 13 2016, 02:33) Вы же... Sep 12 2016, 23:44      _4afc_ Цитата(MiklPolikov @ Sep 13 2016, 03:44) ... Sep 13 2016, 00:23       MiklPolikov Цитата(_4afc_ @ Sep 13 2016, 03:23) вопро... Sep 13 2016, 00:59        _4afc_ Цитата(MiklPolikov @ Sep 13 2016, 04:59) ... Sep 13 2016, 01:29   jcxz Цитата(_4afc_ @ Sep 13 2016, 05:06) Если ... Sep 13 2016, 04:59 mantech Цитата(makc @ Sep 12 2016, 17:05) Их есть... Sep 12 2016, 17:00  jcxz Цитата(makc @ Sep 12 2016, 20:05) Но тут ... Sep 12 2016, 17:49 makc FRAM по надежности (числу циклов перезаписи) ... Sep 12 2016, 18:11 jcxz Цитата(makc @ Sep 13 2016, 00:11) FRAM по... Sep 13 2016, 04:29  makc Цитата(jcxz @ Sep 13 2016, 07:29) Что зна... Sep 13 2016, 04:41  _4afc_ Цитата(jcxz @ Sep 13 2016, 08:29) Задержк... Sep 13 2016, 06:43  mantech Цитата(jcxz @ Sep 13 2016, 07:29) Да и то... Sep 13 2016, 10:20   jcxz Цитата(mantech @ Sep 13 2016, 16:20) Сорр... Sep 13 2016, 11:47
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|