HPC.ru lite - Все форумы
Форум: Периферия и карты памяти CF, SD, MMC
Тема: USB Flash как основное хранилище данных терминала
[Ответить]
hash [23.02.2007 18:00] USB Flash как основное хранилище данных терминала:
Здравствуйте! Наша компания производит терминалы по приему наличных платежей марки FastPay. В наших терминалах использованно много технологий собственной разработки (мы не те кто скупает горами комплектуху, собирает, ставит туда винду и продает как можно скорей), в частности основное хранилище данных - USB Flash Pretec I-disk Aqua (либо Wave,Tiny) 512MB. Накопитель разбит на 2 раздела, с первого грузится образ сжатой системы linux, на 2-ом находится само ПО тоже нашего производства и данные в виде базы SqLite и конфигурационных файлов. Таким образом Накопитель вашего производства - основное хранилище данных платежного терминала FastPay, и пока совсем не разочаровал нас своей надежностью и быстродействием, за что Вам отдельное спасибо.
Вопросы:
1) Какую файловую систему вы посоветуете для раздела с данными, как самую надежную для носителей вашего производства (сейчас это XFS)
2) Всё работает, но не может не волновать тот факт, что блоки flash накопителя со временем способны "выгорать". Как предостеречь нашу продукцию от связанных с этим последствий?
3) Какие обслуживающие операции можно выполнять чтобы поддерживать данные на "живых" блоках и помечать устаревшие?
4) Как обеспечить так сказать равномерное расходование циклов записи?
5) Портят ли накопитель циклы чтения?
С Уважением,
Директор компании Информ-Системы
Игнатьев Алексей Николаевич
fuzzy-bear [23.02.2007 21:08] :
2) Не стоит так бояться, если страшно - регулярно менять носитель (он стоит копейки, если хочется еще сэкономить, можно собственно флешку заменить ридером и менять только карты - затраты мизерные по сравнению с остальными).
5) Точно не портят.
Darkcat [23.02.2007 22:34] :
Насколько я помню...
3) это проблемы контроллера, он сам разберется.
4) тоже самое.
5) нет.
fenec [24.02.2007 11:20] :
обратитесь лучше к специализированным консультантам...
з.ы. на чем на чем, но на этом экономить не надо
hash [24.02.2007 17:28] :
Итак, спасибо большое за разьяснение почти всех пунктов, в принципе я и ждал ответов специалистов, но только после выходных, но люди почти на все вопросы ответили.
осталось:
1) Оптимальная файловая система в данной ситуации?
2) Периодически менять флэшку - мы так и решили, тем более в таком устройстве она окупается быстро, только с какой периодичностью её менять? Как вычислить?
Ozone [26.02.2007 13:11] :
1) Вопрос сложный.
Никакая файловая система не спасет, если сдохнет контроллер флэшки. Поэтому, если нужна сверхнадежность, используйте три флэшки и мажоритирование.
2) Обычно, производители гарантируют 100 тыс. циклов записи/стирания на страницу флэш-памяти. Если принимаются специальные меры для равномерного «истирания» флэш-памяти, то эта цифра может быть увеличена в несколько раз. Вот и считайте сами исходя из своих алгоритмов.
В принципе, это также можно определить экспериментально, если флэшку не жалко. Запрограммировать контроллер, чтобы постоянно перезаписывал одну и туже страницу и так до первого сбоя.
hash [18.03.2007 00:02] :
Большое спасибо за разьяснения, а можно подробней про "мажоритирование". Я конечно догадываюсь что это какое-то подобие RAID, но всё таки хочется узнать у специалистов что это и как организовывается...
Ozone [24.03.2007 11:21] :
Мажоритирование (или иногда мажорирование) – простейший метод повышения надежности в цифровой электронике, суть которого в выборе значения (бита) по совпадению двух из трех копий.
Некоторые типы RAID делают, нечто подобное.
Jay [26.03.2007 16:18] :
Сам занимаюсь подобными вещами, но пока на базе FreeBSD. Там проблемы с файловой системой не стоит - она ставится только на UFS 
На линуксе, если хочется надежности - то я бы посоветовал ext3. XFS я бы не советовал в таком применении.. это серверная ФС, которая не очень любит выключения по питанию.
Кроме того, рекомендую весь софт и системные данные, кототорые не надо перезаписывать в рабочем режиме (так сказать, firmware) сложить на одну флешку (можно IDE-шную) - она проработает стабильно весь срок службы терминала. А все изменяемые данные (база SQLite, в частности) - уже на USB-flash. Можно ставить две флешки и проводить регулярное (раз в час/12 часов/сутки) резервное копирование, например, rsync'ом (или обычным cp, если там один-два файла).
Кроме того, рекомендую рассмотреть возможность вынесения основной работы на RAM-диск. Хотя в случае платежного терминала, это чревато.. но подумать можно. Мне в этом отношении проще - я делаю, в основном, маршрутизаторы 
[Ответить]