SD-Card Life при использовании ее для хранения структуры данных - PullRequest
2 голосов
/ 31 июля 2009

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

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

Ответы [ 3 ]

2 голосов
/ 04 августа 2009

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

Я нашел следующий документ с расчетами: МАЛЕНЬКИЕ КАРТЫ STEC УРОВНЯ ВЫНОСА И РАСЧЕТ ЖИЗНИ

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

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

2 голосов
/ 31 июля 2009

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

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

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

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

1 голос
/ 31 июля 2009

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

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

...