Перейти к содержанию
    

надежная файловая система для SD (чтоб не появлялись bad blocks или чтоб была малочуствительна к ним)

18 minutes ago, jcxz said:

Просто везёт. Запустите миллион ваших устройств, работающих 24/7 и непрерывно пишущих на диск.... и проблемы посыпятся потоком.

Ну, хорошая случайность должна быть тщательно подготовлена.

Я специально боролся за уменьшение времени нахождения карточки в состоянии записи: открываю файлы для записи только на короткое время, и использую быстрые карточки. Ну и с интерфейсом поработал для оптимизации.  Еще есть резервная батарея дла  шутдауна, и некорректное выключение запрещено инструкцией. То есть уже застраховался от резких выключений как мог, и ради этого точно не буду менять файловую систему. 

Но это, конечно, всегда вопрос статистики.

 

18 minutes ago, jcxz said:

Если нет уверенности, что выравнивание износа работает в карте, то почти единственный путь (если всё-же такие карты использовать) - реализовать собственный слой выравнивания износа на уровне low-level IO.

Тут уже стратегия: если писать софт-то и деньги и слава крутого программера мне, а если покупать супер-карточку-то все бонусы (и слава и деньги) уходят в зрительный зал  к производителю карточек. Тоже немаловажный аргумент в принятии решения :) Но, думаю, лень победит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, jcxz сказал:

Одинаково - разрушается содержимое.

Совсем даже нет. Почитайте статью во вложении: Memory forensic data recovery utilising RAM cooling methods.pdf

Да, время сохранения данных в памяти зависи от температуры, но тем не менее даже при комнатной температуре содержимое не пропадает мгновенно и в некоторых случаях это нужно учитывать. Например, если программа полагается на флаги в ОЗУ, сбрасываемые при пропадании питания. Если они будут размещены в динамической памяти, то есть далеко ненулевая вероятность, что при кратковременном пропадании питания они сохранятся и это может сломать логику восстановления.

3 часа назад, Ruslan1 сказал:

Тут уже стратегия: если писать софт-то и деньги и слава крутого программера мне, а если покупать супер-карточку-то все бонусы (и слава и деньги) уходят в зрительный зал  к производителю карточек. Тоже немаловажный аргумент в принятии решения :) Но, думаю, лень победит.

Лень не единственный фактор для принятия решения. Если исходить из концепции черного ящика по отношению к логике работы алгоритма выравнивания износа в карте, то в общем случае невозможно разработать надежный алгоритм выравнивания поверх ненадежного неизвестного. Поэтому выход только один: нести деньги производителю правильных карточек. :beach:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, makc said:

что при кратковременном пропадании питания они сохранятся и это может сломать логику восстановления.

Добавить супервизор по питанию, который гарантированно сбросит процессор. А тот выполнить startup и инициализирует ячейки памяти согласно стандарту языка Си. Нет?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, Ruslan1 сказал:

Но, думаю, лень победит.

Ну вообщем решать-то вам, единственное, смотрю 3 страницы обсуждения что лучше безопасное отключение или доработка ФС журналами вплоть до портирования ext4... Про себя скажу, когда-то давно, при разработке 1го устройства а сд карте при бесконтрольных отключениях клиентами во время записи, постоянно возникали проблемы с картой и фс, что я сделал - просто добавил небольшой аккумулятор и схему подзарядки, проблем не стало от слова вообще. Никаких журналов я не делал, обычная fatfs, и хорошие сд карты, вот и думайте...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

52 минуты назад, haker_fox сказал:

Добавить супервизор по питанию, который гарантированно сбросит процессор. А тот выполнить startup и инициализирует ячейки памяти согласно стандарту языка Си. Нет?)

Вариант. Есть и другие варианты. Но речь шла лишь о том, что разное ОЗУ ведёт себя по-разному в условиях пропадания питания и это может негативно сказаться на работе ФС/ПО и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, makc сказал:

Вариант. Есть и другие варианты. Но речь шла лишь о том, что разное ОЗУ ведёт себя по-разному в условиях пропадания питания и это может негативно сказаться на работе ФС/ПО и т.п.

Да никак это не скажется: по вектору сброса процессор перейдёт на начало прошивки, выполнит стартап-код, который инициализирует ОЗУ необходимыми значениями.

А что там было до сбоя питания - без разницы, всё равно это мусор, независимо от того выжили какие-то биты или нет. Ведь гарантии нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

погуглил немного, понял что SLC или pSLC хочу.

про pSLC раньше как-то и не знал, вполне достойная замена для TLC (в 10-20 раз больше ресурс ячейки).

В разных местах эту pLC по разному называют: enhanced MLC(eMLC), superMLC, iSLC, advanced MLC (aMLC)

Даже на дижикее цены уже начинаются от 8 долларов за 4GB. Я, как бы культурно сказать, удивлен. Думал сильно дороже: до 20-30 баксов за штуку вполне устраивает но оказвается можно сильно бюджетней найти.

Вот подсказку себе сохранил:

image.thumb.png.d7aaa7e5bc7b603e50200d1962df5ffb.png

 

И еще в интернете есть мнение (маркетологи, блин) The multi-level cell ( MLC ) is a memory element capable of more than a single bit of information

Так что назовут память TLC (или QLC) в описании как MLC и не поморщатся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Ruslan1 сказал:

погуглил немного, понял что SLC или pSLC хочу.

SLC, конечно, идеальный вариант, но только когда это предназначено ну для очень ценной информации, имхо... А то, если энергообеспечение позволяет, так может дешевле оказаться писать резервную копию на вторую карточку MLC. А вот с pSLC совсем непонятно: за счёт чего она дешевле, если тоже только один бит в ячейке хранит? Вам удалось выяснить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, Herz said:

SLC, конечно, идеальный вариант, но только когда это предназначено ну для очень ценной информации, имхо... А то, если энергообеспечение позволяет, так может дешевле оказаться писать резервную копию на вторую карточку MLC. А вот с pSLC совсем непонятно: за счёт чего она дешевле, если тоже только один бит в ячейке хранит? Вам удалось выяснить?

Вижу что именно pSLC можно купить, причем очень бюджетно, а SLC дорогое и редкое.  В теории, им достаточно просто взять MLC/TLC и писать не каждую ячейку, а сразу группу, составлющую этот cell. Скорее, на уровне матрицы адресации  ячеек это сделано. Нет, в физику не вдавался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, Herz said:

А вот с pSLC совсем непонятно: за счёт чего она дешевле, если тоже только один бит в ячейке хранит? Вам удалось выяснить?

Ну вот у меня лежит флешка от ISSI типа IS21ES08G, она из коробки размером 8Гб в режиме MLC,

затем некой неизвестной мне командой её можно перевести в режим pSLC вроде как размера 4Гб,

причём почему-то говорят что только один раз.

 

Думаю pSLC дешевле т.к. MLC более массовый сейчас чем SLC.

 

Вот только когда брал я этот ISSI из-за pSLC не ожидал что он при подаче питания, вплоть до окончания инициализации,

а это более 1000мС, жрёт на 150мВт больше чем SanDisk - угробит аккумулятор....

 

Ну и как pSLC получить из MLC - пока загадка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нашел в интернете супербюджетные Кингстон pSLC, 8 гиг за примерно 15 баксов в розницу (не алиэкспресс). Если это так, то бОльшая часть вопроса решена. Мне их 30k записей хватит (сейчас у меня в лучшем случае MLC и 5k, но не уверен: официально неизвестно, Сандиск это такой сандиск...).

Чесный SLC тоже можно найти 1 Гиг за 25 баксов, тоже не так чтобы разорение, но мне и pSLC хватит. 

И да, правильно тут пишут- индастриал нужно смотреть, эта надпись важна.

 

Натыкался еще в интернете на карты от Кактус - они очень странные цифры дают: 2 миллиона на  SLC и 100k на pSLC.  Соотношение  ожидаемое, но сами величины непонятные. Но фирма не однодневка, думаю просто методы подсчета у них свои.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А существует ли для SD, хотя бы промышленных, система самоконтроля типа SMART как для харддисков и SSD накопителей? Чтобы можно было статистику использования флеша  и прогнозируемое время работы  контролировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, khach said:

А существует ли для SD, хотя бы промышленных, система самоконтроля типа SMART как для харддисков и SSD накопителей? Чтобы можно было статистику использования флеша  и прогнозируемое время работы  контролировать.

Да, есть карты с такой опцией, но не все. Вот тут неплохой обзор для начала:

https://www.hdsentinel.com/how_to_monitor_sd_card_health_status.php

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Ruslan1 said:

Да, есть карты с такой опцией, но не все. Вот тут неплохой обзор для начала:

Большое спасибо, теперь бы найти спецификации протокола а лучше реализацию его на гитхабе, да еще чтобы с FatFS не конфликтовало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

59 minutes ago, khach said:

Большое спасибо, теперь бы найти спецификации протокола а лучше реализацию его на гитхабе, да еще чтобы с FatFS не конфликтовало.

Я не думаю что там что-то суперхитрое. Например, в первой попавшейся документации от Свиссбит на их серию 46u написано, что это есть в SSR регистре (картинка ниже).

image.thumb.png.9be36bef0dc9a7f81ea67048bda40b79.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...