Что такое NVMe?

NVMe — это программный протокол для подключения энергонезависимых устройств хранения данных через аппаратные интерфейсы PCI Express. Аббревиатура NVMe расшифровывается как «non-volatile memory express». Энергонезависимая память — это носитель информации, содержимое которого не теряется при отключении питания.

NVMe обеспечивает быстрый доступ к данным даже для технологии постоянной памяти. Но как это работает, и какие еще преимущества дает NVM Express?

От жесткого диска к твердотельному накопителю

Традиционно проводится различие между энергозависимой основной памятью (памятью с произвольным доступом, RAM) компьютера и энергонезависимыми накопителями. В то время как оперативная память компьютера теряет свое содержимое при выключении, содержимое энергонезависимого устройства хранения данных сохраняется. После использования перфокарт на заре компьютерных технологий и последующего широкого распространения ленточных систем хранения данных, вращающиеся жесткие диски (hard disk drives, HDD) стали стандартным устройством для массового хранения данных.

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

Сейчас твердотельные накопители широко устанавливаются в ноутбуках и настольных компьютерах и называются непрерывными носителями информации. Хранилище данных полностью электронное, без движущихся частей — от регистра процессора, кэшей L1 и L2 до твердотельного накопителя. Однако для доступа к данным на твердотельных накопителях в основном использовались протоколы, оптимизированные для вращающихся жестких дисков, такие как Serial ATA (SATA).

Как работает NVM Express?

NVM Express — это первый протокол, специально разработанный для невращающихся устройств хранения данных на базе твердотельных накопителей. Он пришел на смену давно известным программным интерфейсам SATA и AHCI. В частности, SATA, который изначально использовался для внутренней связи с твердотельными накопителями, быстро превратился в узкое место: Современные твердотельные накопители смогли достичь гораздо большей пропускной способности данных, чем позволял протокол SATA. Благодаря интерфейсу non-volatile memory express, который был специально оптимизирован для твердотельных носителей, твердотельные накопители могут полностью использовать свой потенциал.

Существующий стандарт PCI Express (Peripheral Component Interconnect Express, PCIe) предпочтительно используется для подключения твердотельных накопителей к материнской плате. Через PCIe подключаются, например, видеокарты и другое оборудование. PCIe — это физический интерфейс. Как протокол, NVMe представляет собой логический аналог, оптимизированный для энергонезависимых твердотельных накопителей. Это означает, что одного драйвера на стороне операционной системы достаточно для работы со всеми NVM Express-совместимыми SSD разных производителей.

Набор команд протоколов NVM Express

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

Только десять команд администратора являются обязательными:

  • Создать очередь на ввод/вывод
  • Удалить очередь ввода-вывода
  • Создать очередь завершения ввода/вывода
  • Удалить очередь завершения ввода/вывода
  • Получить страницу журнала
  • Идентифицировать
  • Прервать
  • Установить функции
  • Получить функции
  • Асинхронные запросы событий

Также необходимо выполнить три команды ввода/вывода:

  • Чтение
  • Запись
  • Промыть
Факт

Аббревиатура «I/O» означает ввод/вывод в компьютерной технологии.

Создание и обработка команд с помощью энергонезависимой памяти выражают

Современный жесткий диск имеет несколько вращающихся дисков. На каждом диске обычно используются две головки чтения/записи. Все головки чтения/записи прикреплены к одному подвижному рычагу чтения/записи. Из-за такого физического расположения ни жесткие диски, ни их протоколы не оптимизированы для массового параллельного доступа к данным.

Хорошо зарекомендовавший себя протокол SATA имеет единственную очередь команд для выполнения команд жесткого диска одна за другой. Протокол энергонезависимой памяти Express, напротив, поддерживает 64 000 очередей, причем на каждую очередь приходится до 64 000 команд. Это обеспечивает высокую степень параллелизма доступа к данным, что приводит к высокой пропускной способности данных и низким задержкам.

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

Команды протокола NVMe создаются и обрабатываются по следующей схеме:

  1. Хост передает очереди ввода-вывода.
  2. Контроллер вызывает I/O Submission Queues
  3. Контроллер запускает очереди ввода-вывода
  4. Контроллер передает очереди завершения ввода-вывода
  5. Хост получает очереди завершения ввода-вывода

Каковы преимущества NVMe?

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

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

Совет

Вы можете использовать энергонезависимую память express для своего веб-проекта. Арендуйте выделенный сервер IONOS с NVMe.

Где используется NVMe?

NVM Express сегодня используется практически во всех компьютерных системах. От ноутбуков и настольных компьютеров до серверов и рабочих станций и суперкомпьютеров: везде установлены быстрые SSD-накопители, подключенные через NVMe. Используются различные форм-факторы:

  • карты PCI Express
  • карты M.2
  • SFF (малый форм-фактор) или 2,5-дюймовые устройства с разъемом U.2
  • E1 или NGSFF (малый форм-фактор следующего поколения).

Еще одним интересным направлением развития протокола энергонезависимой памяти экспресс является «NVMe over Fabrics». Здесь вместо прямого физического подключения используется сетевое соединение для обращения к твердотельной памяти NVMe по сети. Таким образом, могут быть реализованы коллекции твердотельных накопителей, обеспечивающие огромные объемы хранения данных с коротким временем доступа.

Заключение

Non-volatile memory express — это оптимизированный протокол, отвечающий требованиям современной твердотельной памяти, который уже стал стандартом для SSD.

Оцените статью
cdelat.ru
Добавить комментарий