SD-Card Life при использовании ее для хранения структуры данных

StackOverflow https://stackoverflow.com/questions/1214293

  •  06-07-2019
  •  | 
  •  

Вопрос

Я придумал структуру данных на основе диска для хранения входящих данных в реальном времени, это не в памяти, потому что массив может заполниться и вызвать сбой jvm. Структура данных и алгоритм прекрасно работают. Единственный вопрос, который сильно влияет на жизнь SD-карты?

Я знаю, что на SD-картах ограничено чтение и запись, но насколько они ограничены. Повлияет ли запись на SD-карту, скажем, в среднем на 20 минут за сеанс, сильно повлияет на SD-карту до такой степени, что пользователь видит, что это приложение убило ее?

Это было полезно?

Решение

Количество записей на карте составляет 100 000. Это число удалений секторов флэш-памяти, которое может быть намного больше, чем сектор диска.

Я нашел следующий документ с расчетами: STEC SMALL LARD CINGS И РАСЧЕТ ЖИЗНИ

Один из примеров: Срок службы = 2 000 000 x (512 МБ # 100 МБ M 128 КБ) / (50 МБ day 10 / день) = 4513 лет

Поэтому, если вы выполняете разумную работу по проектированию (то есть не открываете / закрываете файлы для каждого записываемого вами байта, поскольку это может вызвать сбросы и, следовательно, запись), я бы даже не стал создавать очень обширные тесты ... .

Другие советы

Я думал, что вспомнил, что современная флеш-память хороша для сотен тысяч переписываний. Насколько мне известно, количество операций чтения не ограничено.

Если вам от этого легче, Windows Vista поддерживает функцию ReadyBoost, которая позволяет выделять пространство для кэша на USB-накопителе для повышения производительности. Я думаю, если вам удастся как-то выровнять записи, у вас все будет хорошо.

Кроме того, некоторые модули флэш-памяти имеют встроенные контроллеры со встроенной оптимизацией записи, поэтому они будут пытаться выполнять запись в различные области памяти при последующих операциях записи. Вы, вероятно, не можете рассчитывать на это, хотя, если вы не узнаете наверняка, имеет ли ваша конкретная карта памяти встроенный контроллер (SD, в частности, не имеет встроенного контроллера, но, возможно, у него все еще есть какой-то другой механизм, с помощью которого это выравнивает записи).

РЕДАКТИРОВАТЬ: вот ссылка, которая объясняет износ памяти и «выравнивание износа»; более подробно: http://en.wikipedia.org/wiki/Flash_memory#Memory_wear

Я купил одну из ранних версий eeepc, в которой в качестве «жесткого диска» использовалась SD-карта, и поэтому я был заинтересован в обсуждении этого вопроса, особенно потому, что у меня была модель 2 Гб, я настроил внутренний оперативный диск, чтобы охватить его. 4 ГБ SD-карта. Трудно получить реальные достоверные данные, но все информированные варианты, которые я могу найти, говорят о том, что это не должно быть проблемой в течение разумного срока службы машины (и, конечно, мой eeepc довольно успешно работал в файловой системе ext3 на SD-карта - т.е. много активности - абсолютно без проблем - так как я ее взломал).

Мнение кажется, что современные SD-карты должны дать вам не менее 100 000 циклов, поэтому я думаю, что вы вполне можете ожидать, что все будет в порядке, если срок службы вашего устройства составляет всего несколько лет. Однако ваш единственный способ убедиться в этом - настроить некоторые тесты, в которых ваша программа будет непрерывно записывать в партию образцов карточек и проверять, не пройдут ли они в течение трех месяцев или около того. Я бы также спросил производителей напрямую.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top