Материалы по тегу: протоколы

04.06.2021 [02:43], Владимир Агапов

В спецификации NVMe 2.0 официально вошла поддержка HDD

Вчера был опубликован релиз спецификаций NVMe 2.0. Из скромного протокола для блочных устройств хранения данных, использующих PCI Express, NVMe эволюционирует в один из самых важных и универсальных протоколов для хранилищ практически любого типа. Новые спецификации будут способствовать развитию экосистемы устройств NVMe: SSD, карт памяти, ускорителей и даже HDD.

Вместо базовой спецификации для типовых PCIe SSD и отдельной спецификации NVMe-over-Fabrics (NVMe-oF), версия 2.0 изначально разработана как модульная и включает целый ряд отдельных стандартов: базовый набор (NVMe Base), отдельные наборы команд (NVM, ZNS, KV), спецификации транспортного уровня (PCIe, Fibre Channel, RDMA, TCP) и спецификации интерфейса управления (NVMe Management Interface). Вместе они определяют то, как программное обеспечение хоста взаимодействует с накопителями и пулами хранения данных через интерфейсы PCI Express, RDMA и т.д.

Базовая спецификация теперь охватывает и локальные устройства, и NVMe-oF, но является намного более абстрактной и не привязанной к реальному миру — было изъято столько всего, что её уже недостаточно для определения всей функциональности, необходимой для реализации даже простого SSD. Реальные устройства должны ссылаться ещё как минимум на одну спецификацию транспортного уровня и на одну спецификацию набора команд. В частности, для типовых SSD, к которым все привыкли, это означает использование спецификации транспорта PCIe и набора команд блочного хранилища.

Три стандартизированных набора команд (блочный доступ, ZNS и Key-Value) охватывают области применения от простых твердотельных накопителей с «тонкими» абстракциями над базовой флеш-памятью до относительно сложных интеллектуальных накопителей, которые берут на себя часть задач по управлению хранением данных, традиционно выполнявшихся программным обеспечением на хост-системе. При этом различным пространствам имен, расположенным за одним контроллером, дозволено поддерживать разные наборы команд.

В NVMe 2.0 также добавлен стандартный механизм управления пулами хранения данных, который позволяет более тонко управлять нагрузкой в зависимости от производительности, ёмкости и выносливости конкретных устройств. Иерархия пулов также была расширена ещё одним уровнем доменов, внутри которых теперь существуют группы, где, в свою очередь, находятся отдельные наборы NVM-устройств.

Будущие наборы команд, например для вычислительных накопителей (computational storage), все еще находятся в стадии разработки и пока не готовы к стандартизации, но новый подход NVMe 2.0 позволит легко добавить их при необходимости. В принципе, в состав NVMe мог бы войти и стандарт Open Channel, но отрасль считает, что парадигма зонированного хранения обеспечивает более разумный баланс, и интерес к Open Channel SSD ослабевает в пользу ZNS-решений.

Из прочих изенений в NVMe 2.0 можно отметить поддержку 32-бит и 64-бит CRC, новые правила безопасного отключения устройств в составе общих хранилищ (при доступе через несколько контроллеров), более тонкое управление правами доступа — можно разрешить чтение и запись, но запретить команды, меняющие настройки или состояние накопителя — и дополнительные протоколы, касающиеся обновления прошивок.

Также в NVMe 2.0 появилась явная поддержка жёстких дисков. Хотя маловероятно, что HDD в ближайшее время перейдут на использование PCIe вместо SAS или SATA, поддержка таких носителей означает, что в будущем предприятия смогут унифицировать свои SAN c помощью NVMe-oF и отказаться от старых протоколов, таких как iSCSI.

В целом, NVMe 2.0 приносит не та уж много новых функций, как это было с прошлыми версиями. Однако сама реорганизация спецификации поощряет итеративный подход и эксперименты с новыми функциями. Так что в ближайшие несколько лет, вероятно, обновления будут менее масштабными и станут выходить чаще.

Постоянный URL: http://servernews.ru/1041208
Система Orphus