Arhn - архитектура программирования

тома ubifs и разделы mtd

Я переношу продукт с файловой системы jffs2 на ubifs.

Предыдущий проект jffs2 содержит 3 раздела mtd (2 прямых и 1 прямой).

переход на ubifs - должен ли я создать:

  • Один раздел mtd и 3 тома
  • 3 раздела mtd, по 1 тому каждый

В основном я спрашиваю, должен ли я заменять разделы томами при переходе на ubifs? (насколько я понимаю, слой ubi будет управлять всей флэш-памятью, если это будет сделано)

Спасибо, Ран


Ответы:


1

Варианты существуют, и вот преимущества...

Один раздел mtd и 3 тома

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

3 раздела mtd, по 1 тому каждый

Обычно это менее желательно, но есть преимущества, и это может подойти некоторым пользователям. В основном наличие отдельного раздела повышает надежность монтирования одного тома. Если что-то случится с одним разделом MTD, вся флеш-память может стать непригодной для использования. Имея отдельные разделы MTD, систему MTD/UBI/UbiFS только для чтения можно использовать, когда файловая система чтения-записи не удалась.

Это действительно более выгодно для 3-го варианта,

несколько MTD со смешанными файловыми системами.

Можно поставить CramFS, RomFS на некоторые флешки, где производитель гарантирует надежность блока устройства. Это может быть загрузочная файловая система, которая является всем, что требуется для минимальной работы системы. Инструменты для управления этими разделами довольно просты (по сравнению с UBI/UbiFS) и могут быть реализованы в минимальном объеме кода. Некоторые системы имеют большую память DDR с меньшей встроенной SRAM. Загрузчики/вспышки могут иметь ограниченное пространство кода.

Тем не менее, недавно (последние два года) mtd-utils содержит код разбора UBI. Это может быть необходимо перенести на прошивальщик, код восстановления и т. д. Код восстановления может находиться в прикрепленном разделе initrd, который выполняет монтирование/отказоустойчивое восстановление разделов UBI/UbiFS.

u-boot содержит код для управления и манипулирования кодом UBI/UbiFS и использует двухэтапную загрузку (запуск из внутренней SRAM, настройка DDR и последующий перенос) на многих платформах, чтобы иметь богатую функциональность в загрузчике. . Сам u-boot должен находиться на другом устройстве ИЛИ в отдельном MTD, как указано выше.


Второй вариант 3 раздела mtd, по 1 тому на каждом, вероятно, наименее вероятен/желателен. Первый будет способствовать времени жизни системы/флеш-памяти. Последний предложит простоту более высокой надежности/восстановления. лучшее будет зависеть от того, какие данные находятся на разделах, и от ресурсов, отличных от Linux, которые у вас есть для восстановления данных. Счастливая среда — предоставить как можно больше флэш-памяти NAND для UBI и использовать тома, когда вам нужно логическое разбиение.

Обычно я задавался вопросом, зачем вообще использовать тома и просто объединять все данные в таком случае, но опять же, это зависит от характера данных.

30.10.2016
  • Спасибо за подробный ответ. Я выбрал объемный дизайн. 15.01.2017
  • Как правило, дизайн тома лучше, если вы верите в стек UBI/UbiFS. Некоторая надежность зависит от драйвера MTD. Если этот стек fs не дает сбоев (даже при странном циклическом включении питания), то дизайн тома всегда лучше. Разделы могут потребоваться только в конструкции с питанием от батареи с отказоустойчивыми требованиями. Разделы — это способ разработки драйвера MTD. 05.05.2020
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..