Flash Wear Management в Android Automotive

Во внутренней памяти Android Automotive используется Embedded MultiMediaCard (eMMC) с тысячами циклов стирания/записи; в случае сбоя eMMC система может стать непригодной для использования. Поскольку транспортные средства имеют длительный срок службы (обычно более 10 лет), eMMC должна быть чрезвычайно надежной. На этой странице описывается поведение eMMC и то, как OEM-производители могут снизить риск сбоя eMMC (и, таким образом, избежать сбоя систем Android Automotive).

поведение eMMC

Устройства eMMC используют методы выравнивания износа, чтобы обойти ограничения на стирание/запись, упорядочивая данные и равномерно распределяя записи по системе (чтобы ни один отдельный блок не вышел из строя из-за интенсивной записи). Расчетный срок службы eMMC зависит от:

  • Количество записей . На телефонах объем данных, записываемых во внутреннюю память, может превышать 10 ГБ в день. Что касается автомобильных реализаций, у нас нет реальных данных о том, сколько данных будет записано из-за ограниченного количества приложений. Однако, когда пользователи транслируют высококачественную музыку и используют навигацию, мы наблюдаем 50 МБ данных, записываемых в eMMC каждую минуту. В будущем у нас могут появиться другие типы приложений с интенсивным записью, например, приложения для камеры на приборной панели, которые непрерывно записывают и сохраняют видео. Кроме того, некоторые автомобили будут использоваться совместно по нескольку часов в день. По этим и другим причинам мы ожидаем, что реализации Android Automotive будут иметь больше записей eMMC, чем телефон.
  • Напишите узоры . Запись и стирание выполняются блоками. Частая запись данных небольшими порциями изнашивает eMMC быстрее, чем запись того же объема данных реже и большими порциями.
  • Доступный размер eMMC . Больший размер хранилища означает, что алгоритм выравнивания износа может распределять записи по большему количеству блоков.
  • Методы выравнивания износа.
  • Экологические факторы . Примеры включают диапазон рабочих температур обычно от -20 до 85 градусов по Цельсию; температура за пределами этого диапазона может еще больше сократить срок службы eMMC.

Для eMMC с 16 ГБ полезного пространства и 3 тыс. циклов стирания/записи мы оцениваем следующее:

Ежедневно пишет 16 ГБ 32 ГБ
Расчетное время жизни 10 лет 5 лет

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

Чтобы обнаружить возможный сбой eMMC до того, как он действительно произойдет, необходимо обеспечить надлежащий мониторинг работоспособности хранилища как часть общего мониторинга работоспособности системы.

Реализация

Android O поддерживает функции, которые позволяют OEM-производителям защищать и контролировать внутреннее хранилище Android Automotive и продлевать срок его службы.

Ограничение сторонних приложений

Чтобы защитить внутреннее хранилище системы Android Automotive, Android O позволяет OEM-производителям настраивать, можно ли устанавливать сторонние приложения во внутреннее хранилище (приложения могут записывать только в раздел, на котором они были установлены). Для настройки установите следующую конфигурацию в оверлее ресурсов:

<bool name="config_allow3rdPartyAppOnInternal">false</bool>

Уменьшение износа флэш-памяти

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

  • После принятия SD-карта будет зашифрована и безопасна для хранения данных приложения.
  • Слот для SD-карты должен находиться в безопасном месте (пользователи не должны часто извлекать SD-карту).
  • SD-карту нельзя использовать для передачи данных между автомобильными системами и компьютером.
  • Извлечение SD-карты не повлияет на работающую систему. Однако его не следует удалять, если только он не нуждается в замене.

Чтобы сторонние приложения (созданные разработчиками автомобильных приложений) можно было установить на SD-карту, если этого требует автомобиль, разработчики автомобильных приложений должны включить android: installLocation =["auto" | "preferExternal"] в файле манифеста приложения.

Если автомобиль не позволяет устанавливать сторонние приложения во внутреннюю память (как описано в разделе Ограничение сторонних приложений ), без этого флага (или если настроен параметр installLocation =internalOnly ), установка приложения завершится ошибкой.

Получение метрик диска с помощью storaged

Android O представляет storaged — новую системную службу, которая сэмплирует и публикует показатели диска и eMMc, такие как информация об общем использовании диска, оценка срока службы eMMC и статистика ввода-вывода для каждого приложения. OEM-производители могут использовать эту информацию, чтобы предупредить пользователей о том, что внутреннее хранилище начинает выходить из строя или когда определенные приложения выполняют слишком много дисковых операций ввода-вывода. Дополнительные сведения см. в разделе Реализация storaged .

Проверка

Эта функция тестируется в тестах PackageManager .