. 1 3 4 5 6 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z А Б В Г Д Е З И К Л М Н О П Р С Т У Ф Х Ц Ч
Ya Ym

YAFFS

YAFFS (Yet Another Flash File System) — файловая система, разработанная специально для использования на NAND-накопителях, автор — Чарльз Мэннинг из Новой Зеландии. Работает со страницами памяти (авторы называют это кусок (chunk)), размером в 512 байт + 16 служебных байт. Старые модели флеш-памяти позволяли выполнять всего 2 или 3 цикла перезаписи, при отказе записи на страницу YAFFS помечала её как сбойную, выставляя байт в служебной области.

Yaffs снабжает каждый свой кусок (chunk) дополнительной информацией, которую в числе прочего размещает в spare области NAND’ы. Эту дополнительную информацию авторы файловой системы зовут тегами (tags). Список тэгов, для каждого куска следующий:

  • Object Id (obj_id) — Идентификатор объекта, которому принадлежит кусок (chunk’а). В роли объекта, как правило выступают файлы.
  • Chunk Id (chunk_id) — Идентификатор куска (chunk’а), он несет в себе информацию в каком месте файла этот кусок лежит. Так если Chunk Id = 0, то в этом куске скорее всего заголовок файла со служебной информацией, если 1, то первый кусок с содержимым файла.
  • Deletion Marker (is_deleted) — Маркер удаления. Это, пожалуй, самый интересный тэг. Если он взведен, то это значит, что информация в этом куске (chunk’е) уже не актуальна. Почему не актуальна? Вероятнее всего файл был изменен или удален.
  • Byte Count: (n_bytes) — Количество байт данных в этом куске. Их не может быть больше, чем максимальный размер куска равный размеру страницы, но вполне возможно, что может быть и меньше.
  • Serial Number (serial_number) — Уникальный серийный номер куска (chunk’а), нужен на случай, если chunk_id и obj_id совпадут с другим chunk’ом.

Преимущества файловой системы YAFFS:
1. Высокая производительность при работе с большими файлами.
2. Эффективное управление памятью, что позволяет уменьшить потребление ресурсов.
3. Поддержка различных типов устройств памяти, включая NAND-флэш и NOR-флэш.
4. Надежная защита данных благодаря механизму коррекции ошибок.
5. Возможность работы с большим количеством файлов и каталогов.
Недостатки файловой системы YAFFS:
1. Ограниченная поддержка для различных операционных систем, что может ограничить ее использование в некоторых средах.
2. Необходимость дополнительных настроек для оптимальной работы на конкретном устройстве.
3. Отсутствие поддержки расширений файловой системы, что может усложнить интеграцию с другими приложениями.
4. Низкая скорость записи файлов на некоторых типах устройств памяти.
5. Возможность потери данных при сбое или повреждении флэш-памяти.
Для исправления этих недостатков была разработана файловая система YAFFS2.
YAFFS2 разработана на базе YAFFS, формат данных остался таким же для обратной совместимости. Главное отличие — новая версия файловой системы позволяет в современных моделях флеш-памяти пропускать страницы, помеченные для однократной записи. Также YAFFS2 использует ещё более абстрактные определения флеш-памяти, которые позволяют использовать эту файловую систему с большим количеством типов памяти с разнообразной геометрией, правилами определения сбойных секторов и другими особенностями.

Обсуждение закрыто.