Микропроцессоры в высокоскоростных устройствах хранения данных: Ssds и Beyond

Оригинальное название: The Hidden Brains of Modern Storage

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

В отличие от простых циклов прошивки традиционных жестких дисков, современные микропроцессоры хранения данных являются сложными конструкциями, которые конкурируют с низкопроизводительными процессорами по сложности. Они управляют несколькими каналами флэш-памяти NAND, выполняют алгоритмы в реальном времени для выравнивания износа и сбора мусора и взаимодействуют с системой хоста через такие протоколы, как NVMe, PCIe и SATA. По мере ускорения требований к хранению - с рабочими нагрузками AI, высокочастотной торговлей и редактированием видео 8K, требующим задержки в несколько миллисекунд - эти встроенные процессоры становятся более мощными, специализированными и интеллектуальными.

Центральная роль микропроцессоров в SSD

В SSD микропроцессор действует как мозг контроллера, выполняя прошивку, которая непосредственно управляет флэш-памятью NAND. Этот процессор отвечает за все критические операции, которые отличают современный SSD от простого массива памяти. Без способного микропроцессора флэш-память была бы медленной, ненадежной и подверженной раннему сбою.

Flash Translation Layer (FTL)

Наиболее фундаментальной задачей является управление уровнем Flash Translation Layer (FTL). Флеш-память не может быть перезаписана напрямую; она должна быть стерта большими блоками, прежде чем новые данные могут быть записаны. Микропроцессор поддерживает логическое-физическое отображение адресов, перевод команд файловой системы хоста в флэш-операции низкого уровня. Это отображение должно обновляться динамически, поскольку данные пишутся, перемещаются и стираются, сохраняя при этом безопасное восстановление аварий. Сложные алгоритмы FTL полагаются на способность процессора обрабатывать тысячи запросов ввода/вывода в секунду с минимальной задержкой.

Многоканальный менеджмент данных

Высокопроизводительные твердотельные накопители используют несколько каналов NAND, работающих параллельно, чтобы увеличить пропускную способность. Микропроцессор организует полосу данных по этим каналам, распределяя считывания и записи, чтобы избежать узких мест. Он также управляет сигналами выбора чипа, очередями команд и временем, перетекающими через десятки кристаллов NAND. Современные контроллеры, такие как Phison E18 или внутренние конструкции Samsung, объединяют до восьми или шестнадцати каналов, причем каждый канал требует своего собственного государственного компьютера и управления буфером, все контролируется центральным микропроцессором.

DRAM и иерархия кэша

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

Основные функции микропроцессоров в устройствах хранения данных

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

Исправление ошибок и целостность данных

Флэш-память NAND по своей сути ненадежна; битовые ошибки увеличиваются по мере сокращения технологических узлов и изнашивания ячеек. Современные микропроцессоры реализуют мощные коды коррекции ошибок (ECC), такие как Low-Density Parity-Check (LDPC) и BCH (Bose-Chaudhuri-Hocquenghem). Эти алгоритмы требуют значительной вычислительной пропускной способности - часто несколько гигабайт в секунду вычисления синдрома и итеративного декодирования. Высокопроизводительные контроллеры используют специализированные аппаратные ускорители наряду с ядрами общего назначения, но микропроцессор по-прежнему обрабатывает стратегии обработки ошибок, таблицы считывания и схемы резервирования, подобные RAID, на разных кристаллах или каналах.

Например, спецификация SNIA определяет сквозную защиту данных, и потребительские диски теперь достигают неисправимой скорости битовых ошибок (UBER) 1e-15 или лучше. Это возможно только потому, что микропроцессоры могут адаптировать силу коррекции ошибок на основе износа памяти, температуры и рабочих часов.

Управление уровнем и выносливостью одежды

Каждая ячейка NAND может выдержать только конечное число циклов стирания программ — обычно от 500 до 100 000 в зависимости от типа ячейки (SLC, MLC, TLC, QLC). Микропроцессор непрерывно отслеживает количество стираний для каждого блока и реализует алгоритмы выравнивания износа, которые равномерно распределяют записи по всему устройству. Динамическое выравнивание износа перемещает холодные данные на более старые блоки и горячие данные на более молодые, в то время как статическая выравнивание износа постепенно перепозиционирует редко модифицированные данные, чтобы позволить более старым блокам повторно использоваться. Эти алгоритмы работают в фоновом режиме, дросселируя по мере необходимости для поддержания согласованности производительности.

Расширенные накопители также включают в себя прогнозный анализ отказов: микропроцессор контролирует такие показатели, как количество стираемых данных, увеличение времени выполнения программы и искажение битовых ошибок, а затем активно корректирует распределение запасных блоков и миграцию данных. Коммерческая документация SSD от Micron подчеркивает, как контроллеры продлевают срок службы продукта на 20-40% только за счет интеллектуального выравнивания износа.

Сбор мусора и TRIM

Когда файл удаляется операционной системой, SSD не сразу стирает соответствующие блоки. Микропроцессор должен позже консолидировать действительные данные из частично заполненных блоков, стирать свободные блоки и готовить их к новым записям - процесс, называемый сбором мусора. Без эффективного сбора мусора, усиление записи (дополнительные записи для стирания блоков) взлетает, снижая как скорость, так и выносливость. Микропроцессор использует анализ рабочей нагрузки в реальном времени, чтобы решить, когда инициировать сбор мусора, балансируя пропускную способность переднего плана с фоновым обслуживанием. Он также обрабатывает команду TRIM хоста, которая информирует SSD, какие блоки данных больше не нужны, что позволяет проактивное удаление блоков.

Протоколы Host Communication

Микропроцессор реализует полный стек протоколов для интерфейса — будь то SATA, SAS или NVMe по PCIe. Для NVMe это включает управление несколькими очередями подачи и завершения, обработку коалесцирования прерываний, переходы состояния питания и конечные точки управления NVMe-MI. Контроллер должен анализировать заголовки команд, проверять указатели данных и координировать передачи DMA с минимальным вмешательством ЦП на стороне хоста. С PCIe 5.0, предлагающим 32 GT / с на полосу, микропроцессор должен идти в ногу с движением данных с линией скорости, все еще обслуживая внутренние задачи управления вспышками.

Управление питанием и термодроссельная обработка

SSD генерируют значительное тепло при больших рабочих нагрузках, особенно в компактных форм-факторах M.2. Микропроцессор контролирует датчики температуры в пакетах PCB и NAND, регулируя тактовую частоту, напряжение и график активности для поддержания температуры перехода в спецификации. Он также управляет функциями Advanced Power Management: активное потребление энергии для приводов PCIe 5.0 может превышать 10 Вт, в то время как мощность холостого хода должна опускаться ниже 5 мВт. Микропроцессор реализует состояния низкой мощности (например, PS0-PS4 для NVMe) и логику пробуждения, которая уравновешивает время отклика с экономией энергии.

Прогресс за пределами традиционных SSD

Роль микропроцессоров в хранении быстро развивается по мере того, как новые технологии выходят за рамки классических твердотельных накопителей на основе NAND. Эти разработки требуют еще большей вычислительной мощности и специализированных наборов инструкций.

NVMe over Fabrics (NVMe-oF)

NVMe-oF расширяет высокопроизводительный протокол NVMe по сетевым тканям, таким как Ethernet (с использованием RDMA), Fibre Channel или InfiniBand. Микропроцессор контроллера хранения теперь должен обрабатывать не только локальный I/O, но и обработку сетевых пакетов, управление жизненным циклом удаленного прямого доступа к памяти (RDMA) и управление перегрузками. Это требует интеграции сетевого стека и часто нескольких ядер ARM или RISC-V для отделения плоскости управления от операций плоскости данных. Результатом является устройство хранения, которое может обеспечить доступ к микросекундной задержке через центр обработки данных, но только если встроенный процессор способен обрабатывать протоколы с проводной скоростью.

Intel Optane и память класса Storage

Технология Intel Optane (на основе 3D XPoint) размыла грань между памятью и хранилищем. Ее контроллерам требовались микропроцессоры с откликом на задержку около DRAM и возможностью адресации байтов, в отличие от традиционных SSD на основе блоков. Хотя Optane постепенно отменяется, концепция памяти класса памяти (SCM) продолжает жить в других новых технологиях, таких как пулы памяти, подключенные к CXL. Будущие контроллеры SCM потребуют процессоры, которые могут обрабатывать как интерфейсы памяти (загрузка / хранение), так и персистентность, требующую интегрированных ядер процессора с контроллерами памяти на одном и том же кристалле.

Вычислительное хранение

Наибольший сдвиг — это вычислительное хранилище, где само запоминающее устройство выполняет вычислительные задачи (например, сжатие файлов, шифрование, фильтрация баз данных или даже легкий вывод ML). Такие компании, как Samsung (SmartSSD) и NGD Systems, встраивают процессоры ARM или RISC-V, которые могут запускать пользовательские рабочие нагрузки непосредственно там, где находятся данные. Это загружает центральный процессор и уменьшает движение данных. Микропроцессор должен запускать легкую операционную систему (часто Linux), поддерживать стандартные рамки программирования и управлять изоляцией между вычислительными и запоминающими операциями без ущерба для производительности ввода-вывода.

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

PCIe 5.0 и 6.0 Implications

Каждое новое поколение PCIe удваивает пропускную способность. PCIe 5.0 предлагает 64 ГБ/с (для x16), а PCIe 6.0 - 256 ГБ/с - приближаясь к скорости шины памяти. Микропроцессор в контроллере должен обрабатывать более высокие скорости передачи данных без увеличения задержки. Это требует более быстрых внутренних архитектур шины, больших кэшей на чипе и более сложных двигателей DMA. Некоторые контроллеры теперь используют несколько ядер процессора (например, ядра 4-8 ARM Cortex-R серии) для параллелизации задач управления и движения данных, в то время как специализированное оборудование обрабатывает повторяющиеся операции, такие как генерация CRC и обработка TLP.

Будущее микропроцессоров в устройствах хранения

По мере экспоненциального роста генерации данных требования к микропроцессорам хранения данных будут усиливаться. Несколько тенденций определят следующее поколение контроллеров.

AI-Driven Data Management

Алгоритмы машинного обучения могут прогнозировать шаблоны рабочей нагрузки, оптимизировать распределение флэш-блоков и превентивно перемещать данные для уменьшения усиления записи. Например, контроллер может узнать, что к конкретному файлу обращаются каждые 30 минут и хранить его метаданные в горячем кэше, в то время как холодные архивы баз данных перемещаются в более медленную, но плотную память QLC. Для реализации этих моделей требуются процессоры с векторными или матричными математическими расширениями (например, крошечный NPU), работающие на легких вычислительных движках непосредственно на SSD. Samsung и Micron уже встраивают такие функции в корпоративные диски.

Интегрированная безопасность и криптография

Безопасность хранения выходит за рамки простого шифрования AES-XTS. Будущие микропроцессоры должны будут поддерживать постквантовые криптографические алгоритмы (например, Kyber, Dilithium) для обмена ключами и подписания, а также защищенные механизмы обновления прошивки с цепочкой доверия. Реализации с корнем доверия станут обязательными, требующими безопасной загрузки, изолированных сред исполнения (TrustZone или эквивалент) и обнаружения подделок - все это управляется одним и тем же микропроцессором, который обрабатывает I / O. Эта конвергенция безопасности и производительности подтолкнет разработчиков процессоров к изоляции нескольких доменов в контроллере SoC.

Многочиповые модули (MCM) архитектуры

Точно так же, как процессоры и графические процессоры переходят к конструкциям чиплетов, будут следовать контроллеры хранения. Высокопроизводительный SSD может интегрировать вычислительный чиплет (с ядрами общего назначения), чиплет интерфейса памяти (DRAM и NAND PHYs), чиплет безопасности и чиплет ускорителя для сжатия / RAID. Центральный микропроцессор будет координировать межчиплетную связь через интерфейсы типа «отмирать к смерти» (например, UCIe). Этот модульный подход позволяет изготавливать отдельные кремниевые IP-адреса на оптимизированных технологических узлах — логика на 3 нм, аналог на 28 нм — повышая общую энергоэффективность и производительность.

RISC-V в контроллерах хранения

RISC-V набирает обороты как бесплатная, настраиваемая архитектура для встроенных SoC. Несколько поставщиков контроллеров хранения (например, ScaleFlux, NGD Systems) приняли ядра RISC-V для гибкости и возможности добавлять пользовательские инструкции, специфичные для рабочих нагрузок хранения. Ядро RISC-V может, например, включать векторные расширения, точно настроенные для декодирования LDPC или операций сбора / рассеивания для переделки FTL. По мере созревания экосистемы мы можем видеть, что основные контроллеры SSD переходят от проприетарных конструкций ARM к открытым реализациям RISC-V.

Метрики производительности: где микропроцессоры имеют наибольшее значение

Маркетологи часто сосредотачиваются на последовательной скорости чтения/записи, но реальная производительность определяется случайными операциями ввода/вывода в секунду (IOPS) и задержкой при смешанных рабочих нагрузках. Оба сильно зависят от способности микропроцессора эффективно обрабатывать очереди команд и минимизировать накладные расходы на обработку прерываний. Например, твердотельный накопитель NVMe с двухъядерным контроллером серии ARM Cortex-R может достичь 1,5 миллиона случайных считываний IOPS, в то время как восьмиъядерная версия может превышать 3 миллиона IOPS - прямой результат параллельной обработки команд и лучшего использования кэша.

Задержка, особенно 99,9-й процентильной задержки хвоста, преобладает задержки выполнения прошивки. Если микропроцессор занят сбором мусора или выравниванием износа при поступлении запроса на чтение с учетом времени, время ожидания резко возрастает. Будущие контроллеры будут внедрять аппаратное планирование задач, которое предупредит фоновые операции в течение микросекунд, обеспечивая качество обслуживания для критически важных приложений, таких как транзакции базы данных или аналитика в реальном времени.

Вывод: развивающийся мозг хранения

Микропроцессор внутри высокоскоростного запоминающего устройства больше не является простым встроенным контроллером — это сложный многоядерный SoC, который управляет параллельными каналами данных, выполняет коррекцию ошибок в реальном времени, запускает алгоритмы машинного обучения и обменивается данными по высокоскоростным тканям. По мере того, как мы переходим от традиционных SSD к вычислительному хранению, памяти класса памяти и дезагрегированным архитектурам, возможности этих процессоров будут напрямую определять темпы инноваций в хранении данных. Инженеры, разрабатывающие системы следующего поколения, должны уделять столько же внимания вычислительной мощности контроллера, сколько и самой технологии NAND. Накопитель внутри вашего ноутбука сегодня уже содержит микропроцессор, более мощный, чем основной процессор десятилетнего сервера, и эта тенденция не показывает признаков замедления.

Для дальнейшего чтения обратитесь к процедуре Flash Memory Summit для ежегодных обновлений архитектур контроллеров или просмотрите архивы обзоров SSD в AnandTech для реальных измерений производительности, которые показывают критическую роль процессора в хранении.