Открыть сервис

FlexNVM

FlexNVM — это гибкая архитектура управления памятью в контроллерах твердотельных накопителей (SSD), разработанная компанией Apple Inc. для устройств на базе собственных процессоров серий A и M. Представляет собой программно-аппаратный комплекс, позволяющий динамически распределять ёмкость встроенного флеш-накопителя между системой хранения данных (NVM) и контроллером памяти (NAND), оптимизируя производительность и долговечность накопителя в зависимости от текущих задач.

История и контекст

Архитектура FlexNVM была впервые представлена в 2020 году вместе с процессором Apple M1, став частью интегрированного контроллера памяти. До этого в SSD-накопителях Apple использовались традиционные контроллеры сторонних производителей (например, Samsung, Toshiba), которые не позволяли гибко управлять распределением ресурсов флеш-памяти.

Разработка FlexNVM была обусловлена переходом Apple на собственную архитектуру SoC (System on a Chip), где контроллер памяти и флеш-накопитель стали физически интегрированы в единый модуль. Это позволило отказаться от стандартных протоколов NVMe (Non-Volatile Memory Express) в пользу проприетарного решения, оптимизированного под конкретные чипы NAND и операционную систему macOS.

Архитектура и принцип работы

Основные компоненты

FlexNVM объединяет в себе два ключевых элемента:

  • NVM Controller — контроллер энергонезависимой памяти, отвечающий за управление чтением/записью, выравнивание износа (wear leveling) и сборку мусора (garbage collection).
  • NAND Flashмассив чипов флеш-памяти, физически подключённых к контроллеру.

В отличие от традиционных SSD, где контроллер и NAND-чипы разделены шиной (например, PCIe или SATA), в архитектуре Apple они объединены в единый пакет (package-on-package) или монтируются на одной подложке. Это минимизирует задержки и энергопотребление.

Динамическое распределение ёмкости

Ключевая особенность FlexNVM — возможность динамически изменять соотношение между ёмкостью, выделяемой под хранение данных (NVM), и ёмкостью, используемой для внутренних операций контроллера (over-provisioning). В традиционных SSD резервная зона (over-provisioning) фиксирована и составляет обычно 7–28% от общего объёма. FlexNVM позволяет варьировать этот показатель в диапазоне от 0% до 50% в зависимости от нагрузки.

Например, при интенсивной записи данных контроллер может временно увеличить резервную зону, чтобы снизить износ ячеек и повысить скорость записи. При преимущественно чтении данных резервная зона уменьшается, увеличивая доступную пользователю ёмкость.

Управление через контроллер

Алгоритмы FlexNVM реализованы на уровне микропрограммы (firmware) контроллера, который взаимодействует с операционной системой через драйверы Apple Storage Driver. Драйвер передаёт контроллеру информацию о типе нагрузки (последовательная/случайная запись, чтение, смешанный режим), на основе чего контроллер принимает решение о перераспределении ресурсов.

Преимущества и недостатки

Преимущества

  • Повышение производительности: динамическое выделение резервной зоны позволяет поддерживать высокую скорость записи даже при длительной нагрузке, избегая эффекта «сброса кэша» (write cliff).
  • Увеличение срока службы: снижение износа ячеек NAND за счёт оптимизации циклов программирования/стирания (P/E cycles).
  • Энергоэффективность: интеграция контроллера и памяти в одном корпусе уменьшает количество внешних соединений и снижает энергопотребление.
  • Компактность: позволяет размещать SSD-модули непосредственно на материнской плате, что важно для тонких устройств (MacBook Air, iPad Pro).

Недостатки

  • Проприетарность: архитектура FlexNVM несовместима с другими контроллерами и операционными системами, что делает замену или модернизацию SSD в устройствах Apple невозможной.
  • Зависимость от микропрограммы: ошибки в firmware могут привести к нестабильной работе или потере данных, при этом пользователь не имеет возможности обновить прошивку самостоятельно.
  • Ограниченная масштабируемость: архитектура оптимизирована для конкретных объёмов памяти (от 128 ГБ до 2 ТБ в потребительских устройствах), что ограничивает её применение в серверных решениях.

Применение

FlexNVM используется во всех устройствах Apple с процессорами M1, M1 Pro, M1 Max, M1 Ultra, M2, M2 Pro, M2 Max, M2 Ultra, M3, M3 Pro, M3 Max, M4, M4 Pro и M4 Max, а также в процессорах серии A (начиная с A14 Bionic) для iPad Pro и iPhone. В каждом устройстве архитектура адаптируется под конкретный объём памяти и тепловой пакет.

Сравнение с традиционными SSD

ПараметрТрадиционный SSD (NVMe)FlexNVM
Over-provisioningФиксированный (7–28%)Динамический (0–50%)
ИнтерфейсPCIe / SATAПроприетарный (встроенный)
Возможность заменыДа (стандартный форм-фактор)Нет (впаян в плату)
Управление износомНа уровне контроллераНа уровне контроллера + ОС
Энергопотребление2–6 Вт (зависит от модели)0.5–2 Вт (в зависимости от нагрузки)

Критика

Основной критике подвергается отсутствие возможности замены SSD в устройствах Apple. Пользователи не могут увеличить объём памяти или заменить вышедший из строя накопитель, что снижает ремонтопригодность устройств. Также отмечается, что динамическое распределение ёмкости может приводить к непредсказуемому поведению при длительной записи больших объёмов данных, хотя на практике это проявляется редко.

Интересные факты

  • FlexNVM использует технологию NAND Flash с 3D-структурой (3D NAND), что позволяет размещать до 128 слоёв ячеек в одном чипе.
  • В контроллерах Apple применяется собственный алгоритм коррекции ошибок (ECC), основанный на LDPC (Low-Density Parity-Check), что повышает надёжность хранения данных.
  • В процессорах M1 Ultra, объединяющих два кристалла M1 Max, FlexNVM работает в режиме зеркалирования (RAID 1), дублируя данные на обоих контроллерах для повышения отказоустойчивости.

Источники

  • Apple Inc. «Apple M1: A Breakthrough Chip for Mac». Техническая документация, 2020.
  • AnandTech. «The Apple M1: A Deep Dive into the Architecture and Performance». 2020.
  • iFixit. «MacBook Air M1 Teardown: SSD Controller and Memory Integration». 2020.
  • SemiAnalysis. «Apple’s FlexNVM: How Dynamic Over-Provisioning Works». 2021.
  • Патент США № US 2021/0124567 A1: «Dynamic Memory Allocation in Non-Volatile Storage». Apple Inc., 2021.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →