Книга: Программирование мобильных устройств на платформе .NET Compact Framework

Какой способ хранения данных лучше использовать: флэш-память или файл в ОЗУ?

Какой способ хранения данных лучше использовать: флэш-память или файл в ОЗУ?

Для долговременного хранения информации на мобильных устройствах обычно используется одна из двух стратегий: флэш-память или файл в системном ОЗУ. Флэш-память — это память, в которой данные могут храниться в течение длительного времени, не требуя постоянного подвода питания. Конструктивно флэш-память может выполняться либо в виде съемной карты (например, Secure Digital, Compact Flash), либо в виде встроенного элемента устройства. В настоящее время флэш-память большой емкости встречается довольно часто; карты емкостью 512 Кбайт уже не являются диковинкой, причем их емкость продолжает расти. Кроме того, флэш-память потребляет меньше электроэнергии по сравнению с ОЗУ, поскольку не должна непрерывно выполнять электрическое обновление. В то же время, доступ к флэш-памяти осуществляется медленнее, чем к энергозависимой памяти; особенно это касается записи данных. Кроме того, биты информации, которые хранятся во флэш-памяти, из-за процессов старения обычно могут обновляться лишь ограниченное число раз; в типичных случаях значение этого показателя составляет несколько сотен тысяч записей, и хотя это число очень большое, оно, однако, не является бесконечным. Несмотря на то что в отношении повышения гибкости флэш-памяти достигнут существенный прогресс, она уступает в этом ОЗУ. В настоящее время флэш-память можно использовать вместо жесткого диска, но не вместо энергозависимого программного ОЗУ.

Следует отметить, что SIM-карты в мобильных телефонах для GSM-связи также имеют флэш-память, предусмотренную для хранения ограниченного объема данных. Это пространство традиционно использовалось для хранения адресной книги мобильного телефона, но в современных телефонах большая часть этих данных хранится в памяти телефона, которая обеспечивает более быстрый и гибкий доступ. SIM-карты по-прежнему оказываются полезными в качестве памяти для хранения такой специфической "секретной" информации, как криптографические сертификаты и ключи, однако, в силу доступности других разновидностей универсальной флэш-памяти, для хранения информации общего назначения они используются все реже и реже.

Флэш-память можно считать аналогичной жесткому диску, в котором отсутствуют подвижные элементы. Ключи памяти USB, которые можете вставлять в ПК, также представляют собой флэш-память. Как и для жестких дисков, для флэш-памяти обычно также предусматривается построенная поверх нее файловая система, что обеспечивает быстрый структурированный доступ к данным.

Другой распространенный способ долговременного хранения информации на устройствах предусматривает использование файловых систем на основе ОЗУ. В отличие от файловых систем, основанных на флэш-памяти, файловые системы ОЗУ используют часть доступной памяти устройства. Хранилища в ОЗУ характеризуются меньшим временем доступа как при чтении, так и при записи данных, но потребляют значительно больше электроэнергии по сравнению с флэш-памятью. Файловые системы, хранимые в ОЗУ, требуют питания даже тогда, когда устройство выключено; если извлечь батарею или она разрядится, то содержимое файловой системы будет утеряно. Это делает файловые системы в ОЗУ более уязвимыми по сравнению с флэш-системами. На многих устройствах, включая системы Windows CE/Pocket PC, файлы, как правило, сохраняются в файловых системах ОЗУ с использованием алгоритмов сжатия. Тем самым эффективно увеличивается емкость файловой системы, но увеличивается время обработки, поскольку чтение и запись потоков данных должны сопровождаться работой алгоритма сжатия. Файловые системы ОЗУ работают быстро — значительно быстрее, чем флэш-память, но все же медленнее, чем осуществляется обработка данных, хранящихся непосредственно в памяти.

Устройства могут поддерживать файловые системы одновременно и во флэш-памяти, и в ОЗУ точно так же, как настольные системы могут поддерживать несколько жестких дисков. Используемые модели долговременного хранения данных могут существенно различаться между собой даже для близких по типу мобильных устройств. Так, на Pocket PC и смартфонах используются разные модели долговременных хранилищ. По умолчанию на Pocket PC используется файловая система на основе ОЗУ; именно по этой причине на устройствах Pocket PC устанавливаются значительно более мощные батареи, чем на смартфонах. На смартфонах главным образом используются файловые системы на основе флэш-памяти. Как Pocket PC, так и смартфоны поддерживают динамическую вставку карт флэш-памяти в процессе работы; благодаря этому устройства имеют возможность доступа к музыкальным файлам, рисункам и любым другим данным, хранящимся на картах

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

Оглавление книги


Генерация: 1.480. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз