UEFI повысит достоверность работы SSD-накопителей


UEFI повысит достоверность работы SSD-накопителей

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

В чем новшество?

В отличие от классических моделей поддержки служебной информации накопителя и методов аппаратного кон­т­ро­ля CRC/ECC, поле метаданных программно доступно на уровне хост-интерфейса, а значит модель защиты мо­жет находится под управлением UEFI, драйверов ОС, либо приложений. Для тех, кто еще помнит жесткие диски с MFM-ин­тер­фей­сом, функционировавшие около трех десятилетий назад под управлением Legacy BIOS и функций программного прерывания INT 13h, подобное решение не станет новостью: операции «длинного чтения» и «длин­ной записи», передающие вместе с пользовательскими данными контрольные байты ECC — весьма точная ана­ло­гия.

Вместе с тем, прогресс не стоит на месте и старая идея реализовалась на новом технологическом уровне. Те­о­ре­ти­че­ски, дополнительный контроль непосредственно в приложении (end-to-end data protection), позволяет про­ти­во­сто­ять не только техническим сбоям mass storage подсистемы, но и действиям злонамеренного программного обес­печения, в силу гибкости рассмотренной архитектуры, программно доступные метаданные могут быть ис­поль­зо­ва­ны произвольным образом, в том числе как ключ для end-to-end шифрования.

Неизбежный «минус» в том, что участие программного обеспечения, в верификации (а тем более шифровании) данных, передаваемых между вычислительной платформой и накопителем и увеличение их объема отразится на производительности платформы и утилизации CPU при выполнении операций ввода-вывода.

Как передаются метаданные?

В типовом случае, размер дополнительного поля составляет 8 байт на каждый 512-байтный сектор поль­зо­ва­тель­ской информации. NVMe specification определяет два метода передачи метаданных, выбор одного из них оп­ре­де­ля­ет­ся архитектурой либо форматированием SSD устройства.

Размещение метаданных в режиме чередования (иллюстрация из документа NVMe Specification)
Рис. 1 Размещение метаданных в режиме чередования (иллюстрация из документа NVMe Specification)

В первом варианте, метаданные чередуются с пользовательскими данными. Прочитанная с накопителя либо за­пи­сы­ва­е­мая на него информация размещается в ОЗУ как один непрерывный буфер. Термин Extended LBA под­чер­ки­ва­ет увеличение размера сектора или логического блока. Эта модель соответствует архитектуре Data Integrity Field (DIF), упоминаемой в контексте Enterprise реализаций интерфейса SCSI.

Размещение метаданных в режиме разделения (иллюстрация из документа NVMe Specification)
Рис. 2 Размещение метаданных в режиме разделения (иллюстрация из документа NVMe Specification)

Во втором варианте используется два раздельных буфера, первый содержит пользовательские данные, второй — метаданные. Каждый из буферов снабжен собственным указателем. В терминах Enterprise SCSI, эта модель клас­си­фи­ци­ру­ет­ся как Data Integrity Extension (DIX). Согласно спецификации, модель DIF является основной для NVMe устройств. Название указателя Physical Region Page (PRP), подчеркивает подчинение правилам трансляции страниц виртуальной памяти и необходимость функционирования bus-master устройства (каковым является NVMe-на­ко­пи­тель) в условиях физической фрагментации логически непрерывных буферов в ОЗУ.

Классификация end-to-end моделей защиты информации, используемых для NVMe устройств, согласно архитектуре Enterprise SCSI
Рис. 3 Классификация end-to-end моделей защиты информации, используемых для NVMe устройств, согласно архитектуре Enterprise SCSI (фрагмент текста документа NVMe Specification)

Выше, модель DIF детализована Рис 1, модель DIX детализована Рис 2. Выбор предпочтительного варианта до­став­ки метаданных приложению зависит от специфики применения. В целях совместимости, может быть выбран и третий вариант с отказом от передачи избыточных байтов.

Вместо послесловия

Итак, контроль достоверности передаваемой и хранимой информации может быть перенесен от границ под­сис­те­мы хранения в конечную точку доставки данных пользовательскому процессу с охватом всего тракта передачи и возложением на центральный процессор всех обязанностей, связанных с генерацией (при записи) и проверкой (при чтении) достоверности. Хотя гибкость реализации допускает и компромиссные варианты, например воз­мож­ность доступа приложения к байтам CRC/ECC, аппаратно сгенерированным контроллером.

Есть основания предположить, что полнофункциональная реализация программно-аппаратной защиты в режиме end-to-end с использованием всех задекларированных возможностей AMI Aptio V NVMe driver может стать свой­ст­вом приложений с повышенными требованиями к безопасности. В то время как применение этого режима по умол­ча­нию весьма накладно, с точки зрения процессорных ресурсов, шинного трафика и резервируемого объема оперативной памяти.

Напомним, любое mass storage устройство, включая древние Floppy-диски, применяет циклические избыточные коды CRC для выявления ошибок, а потому инициатива, декларированная спецификацией NVMe и поддержанная American Megatrends может рассматриваться как дополнительный инструмент безопасности, причем с акцентом на серверный сегмент…

Теги: