American Megatrends предлагает Option ROM для NVMe-накопителей


Согласно пресс-релизу компании American Megatrends, анонсированный продукт может быть классифицирован как фреймворк, позволяющий про­из­во­ди­те­лям mass storage подсистем создавать готовые решения с уче­том це­ле­вой архитектуры NVMe-накопителей и платформ, с которыми они бу­дут использоваться. Как известно, NVMe накопитель — это PCI Express ус­трой­ство, способное нести на борту ROM — носитель информации, со­дер­жащий UEFI-драйвер, детектируемый и подключаемый firmware плат­фор­мы при старте, аналогично тому, как это имеет место в видео адаптере или SCSI-контроллере. Этот драйвер подменяет и/или дополняет функции поддержки NVMe-подсистемы, ре­а­ли­зу­е­мые системной платой.

Для чего это нужно

Подключение Option ROM — программного модуля в составе твердотельного накопителя на шине PCI Express — осуществляется регистрацией UEFI-протоколов, образующих набор сервисных API для обслуживания операции устройства (инициализация, чтение, запись и т. п.). Теоретически, при достаточной степени унификации и от­сут­ст­вии Vendor-Specific ресурсов, поддержка NVMe-накопителя может быть выполнена исключительно средствами UEFI платформы.

На практике такой сценарий затруднен, так как расширение функциональности NVMe-устройств: поддержка ме­та­дан­ных, криптозащита информации, управление соответствием логических и физических устройств (namespace management) требует обслуживания Device-Specific ресурсов проприетарным кодом. Вспомнив причины из­вест­ных проблем с установкой ОС семейства Windows XP на платах, оборудованных контроллерами RAID и AHCI, мож­но согласиться с тем, что встроенный Device-Specific драйвер необходим подсистеме хранения данных.

Что осталось за кадром

Термин namespace, нередко упоминаемый в контексте NVMe подсистем, означает, доступное для использования пространство накопителя. Обратим внимание на комментарий в презентации Flash Summit, к которому компания AMI безусловно имела отношение:

«Today, creation/configuration of namespaces is vendor specific»

Одним из решений проблемы недостаточной унификации на уровне команд NVMe-контроллера является ком­плек­то­ва­ние устройства собственным UEFI-драйвером в виде Optional ROM.

Термин namespace management определяет управляющие функции UEFI, необходимые для формирования набора накопителей, доступного операционной системе. Как показано на иллюстрации ниже, в общем случае, топология подключения контроллеров и физических устройств может инкапсулироваться низкоуровневым программным обеспечением, а множество дисков, декларируемое UEFI-протоколами, не всегда тождественно множеству ус­та­нов­лен­ных физических устройств.

В примере на иллюстрации, к порции дискового пространства (NS B), расположенной на физическом устройстве, возможен доступ со стороны двух хост-контроллеров, которые в общем случае могут быть подключены к раз­лич­ным PCIe-портам, возможно расположенным на разных хост-платформах, что подразумевает функции арбитража и синхронизации, особенно актуальные для двухпортовых NVMe-устройств.

Интерфейс UEFI станет человечнее?

Своеобразной интригой остается общий подход к реализации конфигурирования. Логично предположить, что в действие должна вступить технология HII (Human Interface Infrastructure или Human Interface Interconnect), по­зво­ля­ю­щая интегрировать Setup-утилиты, реализованные в процедурах Option ROM в состав CMOS Setup платформы, унифицируя управление опциями для firmware системной платы и периферийных устройств из единого центра, которым должен стать UEFI Setup.

В ряде случаев, встроенное программное обеспечение, находящееся в Option ROM и расширяющее возможности UEFI системной платы, может потребовать наличия собственных настраиваемых опций или средств диагностики, а значит выделенной Setup-утилиты с независимым user-интерфейсом, что достаточно неудобно, особенно в сер­вер­ных платформах, содержащих большое количество плат расширения. Концепция HII предполагает цен­тра­ли­зо­ван­ный подход: редактирование всех настроек должно осуществляться в UEFI Setup платформы. Для этого firm­ware плат расширения, которое хранится в Option ROM, передает UEFI системной платы специальный набор де­ск­рип­то­ров, описывающих GUI-объекты. Таким образом динамически создается интерфейс пользователя, еди­но­об­раз­но об­слу­жи­ва­ющий функциональность встроенных и подключаемых устройств.

Теги: