Способы хранения объектов файловой системы

Существует два способа хранения объектов файловой системы. Конкретный способ выбирается в зависимости от особенностей применения карты и ее приложений и определяется на фазе инициализации карты ее поставщиком(На ST23YL18 данная возможность отсутствует).

 

5.4.1 Базовый вариант файловой системы

Базовый вариант предполагает преимущественно однократную инициализацию файловой структуры приложений карты, при необходимости — с доинициализацией структуры и/или с предоставлением возможности полной очистки карты. Данный способ хранения обеспечивает несколько более высокую скорость инициализации, доступа к данным и чуть меньшие накладные расходы EEPROM.

 

5.4.2 Расширенный вариант файловой системы

Расширенный вариант предполагает многократную полную или частичную инициализацию приложений карты. Данный способ хранения обеспечивает возможность фрагментированного хранения объектов файловой системы, организации структуры файловой системы для ее многократного частичного изменения, т. е. когда карта применяется в режиме «дискеты».

Возникающие при таком использовании «кусочки» свободного пространства EEPROM могут быть полностью или частично «склеены» в более крупные фрагменты с помощью процедуры дефрагментации.

Процедура дефрагментации вызывается автоматически, согласно предварительно заданным параметрам, или явно - пользователем карты командой FS_MAINTANANCE. В качестве параметров (ограничений) дефрагментации используются:
Wmax – предельное количество перемещаемых при дефрагментации данных (не более 64Кбайт)
Nmax – предельное количество фрагментов, из которых может состоять объект файловой системы(не более 255 фрагментов).

Ограничения Wmax и Nmax позволяют также запретить выполнение процедуры дефрагментации и фрагментирование объектов файловой системы соответственно (см. GET DATA).

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

 

 

.