драйвера nvme что это

Технология NVMe — характеристики, особенности и перспективы

драйвера nvme что это

Содержание:

Твердотельные накопители (или SSD) с недавних пор стали стандартом качества на потребительском и профессиональном рынке компьютерного оборудования. По данным аналитиков агентства TrendFocus, в 2020 году SSD-диски впервые обошли HDD по числу единиц, поставленных на мировой рынок.

Однако, технологии передачи данных, которые изначально применялись в SSD, перестали отвечать современным требованиям к скорости обработки массивов информации. Помещение флеш-памяти в форм-факторы механических жёстких дисков и использование старых интерфейсов ради обратной совместимости налагало серьезные ограничения на твердотельные накопители. Чтобы задействовать весь потенциал технологии, крупные игроки IT-индустрии создали NVM Express — новый стандарт высокопроизводительного интерфейса для SSD.

В этом обзоре мы подробно разберем, что представляет собой спецификация NVM Express. Расскажем, в каких форм-факторах она представлена, а также что значит применение нового стандарта подключения накопителей для бизнеса в практическом плане.

Что такое NVMe

Аббревиатура NVM Express (NVMe, NVMHCIS) расшифровывается как «спецификация интерфейса хост-контроллера энергонезависимой памяти». Эта технология позволяет задействовать особые преимущества накопителей, основанных на флеш-памяти типа NAND и 3D XPoint (Intel Optane).

Предпосылки создания

До NVM Express SSD-устройства подключались к компьютерам с помощью интерфейсов Serial ATA (SATA) или SAS, которые использовали режим работы AHCI для передачи данных. Эта технология разрабатывалась для традиционных механических жёстких дисков и имела существенные физические ограничения на скорость одновременной передачи данных, а также на время, необходимое для произвольного доступа к памяти.

К концу 2010-х технологическое развитие SSD-дисков упёрлось в лимиты пропускной способности интерфейса SATA. Максимальная скорость передачи данных шины составляла 6 Гбит/с или 750 Мбайт/с. А, с учётом системных издержек — не более 550 Мбайт/с.

Производители устройств для профессиональных и продвинутых пользователей смогли обойти ограничение, путём подключения SSD через интерфейс PCI Express. Однако эта стратегия позволила решить проблему со скоростью лишь частично.

Как появилась технология NVMe

Изначально спецификация NVMe была призвана упростить процесс тестирования того, как аппаратное ПО взаимодействует с энергонезависимой памятью по шине PCI Express. Позже технология стала промышленным стандартом для основных форм-факторов (U.2, M.2, AIC, EDSFF), в которых выпускаются SSD-диски.

драйвера nvme что это

Дорожная карта развития спецификаций NVM Express / Источник: nvmexpress.org

Протокол NVMe был анонсирован общественности в 2007 году на форуме разработчиков компании Intel. Первая рабочая версия спецификации (1.0) вышла в марте 2011 года, а текущая (2.0a) датируется июлем 2021.

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

Поддерживаемые ОС

NVM Express поддерживают все основные операционные системы. Microsoft добавила встроенную поддержку NVMe в Windows 8.1 и Server 2012 R2 в октябре 2013 года. Также были выпущены модификации для Windows 7 и Server 2008 R2, доступные через Центр обновления Windows (Windows Update).

Apple добавила совместимость с OS X Yosemite версии 10.10.3 в апреле 2015 года. Поддержка NVMe в Linux реализована в марте 2012 года, начиная с ядра 3.3. С февраля 2015 года она доступна в дистрибутиве Chrome OS.

Поддержка NVMe накопителей есть в OpenBSD 6.0, NetBSD-current, FreeBSD 10.2, DragonFly BSD 4.6, а также в Oracle Solaris 11.2 и в таком ответвлении OpenSolaris как illumos. Совместимость VMware появилась в vSphere 6.0. Естественно, следующие версии этих продуктов (Windows 10, OS X 10.4 Mojave и т. д.) сохраняют поддержку NVM Express.

В чём разница между SSD и NVMe дисками

Улучшенная архитектура

Высокопроизводительные твердотельные накопители NVMe не имеют ограничений на пропускную способность, которая присуща стандартам SATA/SAS и AHCI, разработанным ещё для традиционных жёстких дисков. В традиционных дисках для чтения/записи множества файлов головка должна молниеносно перемещаться от одного участка пластины к другому. Хотя кэширование и другие ухищрения маскируют это, традиционные диски эффективно работают лишь с одним файлом одновременно.

В результате в традиционном стандарте AHCI предусмотрена только одна очередь и максимум 32 команды в ней. Поскольку у твердотельных дисков такого ограничения нет (как и головки), эта наследственная характерная черта AHCI только ухудшает их работу. NVMe разрешает до 65535 очередей и до 65536 команд в каждой (так предусмотрено спецификацией, хотя практическое использование потребует соответствующий контроллер).

К тому же, NVMe накопитель позволяет 2048 MSI-X прерываний, а AHCI — только одно такое прерывание в режиме без управления. У NVMe также снижены системные издержки: параметры команд в 4 Кбайт выполняются за одно чтение памяти, а не за два, как у AHCI. Кроме того, выполнение параллельных инструкций не требует синхроблокировки.

Повышенная производительность

Концепция протокола NVMe ориентирована на максимальное использование преимуществ твердотельной флеш-памяти для достижения лучшей производительности.

На относительную производительность твердотельных дисков влияют многие факторы — тип флеш-памяти, контроллер, прошивка. Чтобы точно понять, как на данной фактор влияет использование NVM Express, нужно сопоставить важнейшие функциональные параметры (например, скорость записи и чтения) у аналогичных моделей без этой технологии и с ней.

драйвера nvme что это

Вот, например, беспристрастное сравнение моделей WDS100T2B0B и WDS100T2X0C. Это относительно свежие диски SSD от Western Digital ёмкостью 1 Тбайт, выполненные на одной и той же технологии 3D TLC NAND.

Первый — это SATA/AHCI-диск со скоростью последовательного чтения/записи 560 и 530 Мбайт/с соответственно. Его IOPS — число операций ввода-вывода в секунду — 95 000 для произвольного чтения и 84 000 для записи.

Второй же жесткий диск SSD выполнен на шине PCIe/NVMe. Его последовательная скорость чтения — 3400 и записи — 2800 Мбайт/с, а аналогичные произвольные параметры — 500 000 и 400 000 IOPS.

Совместимость стандартов

Ранние SSD на PCI Express использовали AHCI, либо собственную спецификацию. В первом случае сохранялись все недостатки производительности при произвольном чтении/записи. Во втором, работа устройства сильно зависела от изготовителя или даже конкретной модели одной и той же марки.

Обходить нетипичные стандарты подобных дисков приходилось с помощью особых драйверов. В результате, накопители было сложно использовать в роли загрузочного диска Windows или Linux, если производитель не поддерживал данные ОС.

NVM Express избавился от подобных проблем с помощью общего дискового интерфейса с единой спецификацией драйверов.

Разнообразие форм-факторов

Традиционные жёсткие диски обычно поставлялись в форм-факторах 2,5 или 3,5 дюймов, а SSD — в формате 2,5 дюйма с разъемом mini-SATA (mSATA). У NVMe-дисков появилось большее разнообразие форм-факторов.

Самый типичный формат NVMe — M.2 имеет 22 мм в ширину и 30, 42, 80 или реже 110 мм в длину. Он сохраняет обратную совместимость с SATA. Есть и формат NF1 — это вариант M.2, рассчитанный на ЦОД и с поддержкой горячей замены аппаратного обеспечения.

У дисков интерфейса U.2 (ранее SFF-8639) формат — 2,5 дюйма. Предусмотрен специальный разъем для PCI Express. Некоторые диски сегмента хай-энд доступны только в виде плат PCI Express, обычно форм-фактора HHHL (half height, half length, «половинной высоты, половинной длины»).

Что дает применение NVMe

Приход NVM Express в отрасль сулит мощный рост производительности баз данных. В 2015-м исследователи из Университета Южной Калифорнии и Университета штата Калифорния в Сан-Хосе, сотрудничавшие с Samsung, установили, что при ядре Linux 3.14 архитектурные отличия NVMe «снижают системные программные издержки вчетверо».

Более того, они указали, что, при прямом сравнении дисков NVMe и SATA, первый «демонстрирует восьмикратный выигрыш производительности» при рабочей нагрузке на базу данных. Аналогично один NVMe-диск превосходит по производительности RAID0-массив из четырёх дисков SATA SSD «до пяти раз».

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

Для подтверждения, вернёмся к приведенному ранее примеру с дисками WDS100T2B0B и WDS100T2X0C. Тесты показывают, что SSD с поддержкой NVMe дают увеличение скорости чтения в 6 раз, а записи — в 5,25 раз, по сравнению с аналогичным SATA SSD-диском.

Где используются диски NVM Express

драйвера nvme что это

NVMe SSD доступны в комплектациях большинства относительно современных компьютеров. Что же касается пользователей Mac, то Apple поддерживает NVMe с 2015 года, когда этот тип накопителя стал использоваться на Retina MacBook.

С 2016 года диски NVMe появились на MacBook Pro c Touch Bar. Контроллеры NVM Express поддерживаются и большинством моделей Retina iMac, начиная с середины 2017 года, а также всеми конфигурациями iMac Pro.

Новые материнские платы на PC часто оснащены разъёмами M.2 для подключения SSD. Если же нет, то доступны переходники, позволяющие подключить диски M.2 через разъёмы PCI Express. Некоторые производители поставляют их в комплекте с диском. Тем не менее, доступны и недорогие устройства-дженерики, совместимые с любым оборудованием.

Технологические перспективы и конструктивные реалии

Производительность NVMe-дисков не в последнюю зависит от версии PCI Express и доступного числа линий. Так, PCI Express 2.0 поддерживает пропускную способность 500 Мбайт/с на линию, а PCI Express 3.0 — около 985.

Старые компьютеры с PCI Express 2.0 могут использовать NVMe-диски, но большинство из них применяет четырёхлинейный интерфейс, который ограничивает теоретическую скорость до 2000 Мбайт/с. А из-за накладных потерь, она ещё и на 10-15% ниже. Получается, что достижение скорости чтения в 3400 Мбайт/с для упомянутой выше модели WDS100T2X0C на практике невозможно.

Проблема замечена у ноутбуков Lenovo линейки ThinkPad. Материнские платы некоторых моделей с процессорами Intel 8-го поколения (Kaby Lake Refresh) выделяют для SSD только две линии PCIe 3.0, хотя сами диски (в этом случае Samsung PM981) спроектированы под четыре.

Samsung оценивает скорость их чтения в 3200, а записи в 2400 Мбайт/с, однако тест ThinkPad P52s показал только 1777 и 1722 Мбайт/с, соответственно. Этот конструктивный недостаток есть у моделей E480, L480, T580 и T480. Но X280, T480s, X380 Yoga и X1 Carbon G6 уже задействуют четырёхлинейный интерфейс SSD.

Хотите, чтобы сайт работал максимально производительно? Размещайте его на VDS от Eternalhost — быстрые NVMe-диски, бесплатная защита от DDoS и бдительная техподдержка 24/7.

Источник

Что такое технология твердотельных накопителей NVMe?

Технология NVMe обеспечивает превосходное хранение данных, превосходную скорость и превосходную совместимость. Поскольку в технологии NVMe используются разъемы PCIe, она обеспечивает передачу в 25 раз большего объема данных по сравнению с аналогичными устройствами SATA. Наряду с большим объемом данных команды NVMe выполняются в 2 раза быстрее, чем в накопителях AHCI. Кроме того, количество операций ввода-вывода в секунду (IOPS) в устройствах NVMe превышает 1 миллион, и операции выполняются до 900% быстрее по сравнению с накопителями AHCI. NVMe также напрямую связывается с ЦП системы, обеспечивая невероятную скорость благодаря своей совместимости. Накопители NVMe работают со всеми основными операционными системами независимо от форм-фактора.

NVMe (Non-Volatile Memory Express) — это интерфейс связи и драйвер, который использует преимущества увеличенной полосы пропускания, обеспечиваемой PCIe. Он разработан для повышения производительности и эффективности, обеспечивая при этом совместимость с широким спектром корпоративных и клиентских систем. Технология NVMe была разработан для твердотельных накопителей и обменивается данными между интерфейсом хранилища и процессором системы, используя высокоскоростные разъемы PCIe без ограничений форм-фактора.

Протокол NVMe использует параллельные пути передачи данных с малой задержкой к базовому носителю, подобно архитектурам высокопроизводительных процессоров. Это обеспечивает значительно более высокую производительность и меньшие задержки по сравнению с протоколами SAS и SATA. NVMe может поддерживать множество очередей ввода-вывода — до 64 тыс. очередей глубиной 64 тыс. записей каждая. В результате задачи ввода/вывода могут передавать больший объем данных быстрее, чем старые модели хранения данных с использованием устаревших драйверов, таких как AHCI (Advanced Host Controller Interface). Поскольку протокол NVMe разработан специально для твердотельных накопителей, он неизбежно станет новым отраслевым стандартом.

Твердотельные накопители: тогда и сейчас

драйвера nvme что это

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

Решение использовать имеющуюся технологию шины с более высокой пропускной способностью привело к замене протоколов SATA на технологию PCIe. Технология PCIe появилась за несколько лет до NVMe, но поскольку предыдущие решения были ограничены старыми протоколами передачи данных, такими как SATA и AHCI, они не могли быть использованы в полной мере до последнего времени. Технология NVMe устранила узкие места и сняла ограничения, обеспечивая выполнение команд с малой задержкой и очереди глубиной 64 тыс. записей. Большое количество очередей обеспечивает более быструю передачу данных, поскольку данные записываются на твердотельные накопители рассредоточенно с использованием ячеек и блоков, а не на вращающихся дисках, таких как жесткие диски.

Коммуникационные драйверы AHCI и NVMe

Коммуникационные драйверы используются операционными системами для обмена данными с устройствами хранения. Драйверы NVMe работают быстрее, чем драйверы AHCI, которые обычно используются в интерфейсах SATA.

Драйвер NVMe напрямую взаимодействует с системным процессором, а AHCI должен связываться с контроллером SATA. AHCI имеет показатель IOPS (число операций ввода/вывода в секунду) до 100 тыс., в то время как для NVMe IOPS составляет более 1 миллиона. IOPS (число операций ввода-вывода в секунду, произносится «ай-опс») — это стандартный показатель производительности, используемый для тестирования компьютерных запоминающих устройств.

Источник

Поддержка NVMe Boot

Технический обзор

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

Основные определения

АббревиатураРасшифровкаЗначение
NVMeNon-Volatile Memory ExpressИнструкция следующего поколения для обращения к SSD через шину PCI Express с большей пропускной способностью и меньшей задержкой
PCIePeripheral Component Interconnect ExpressСтандартное соединение у большинства систем, поддерживающее высокую скорость SSD с NVMe
UEFIUnified Extensible Firmware InterfaceПришедшая на смену классическому BIOS инструкция для системной прошивки, обеспечивающая программную прослойку между операционной системой и системной прошивкой
CSMCompatibility Support ModuleНастройка совместимости с UEFI, дающая возможность осуществлять загрузку в традиционном BIOS-формате путем эмуляции среды BIOS

Загрузка с SSD с использованием NVMe и PCIe осуществляется только в системе, которая поддерживает UEFI – новую системную прошивку для усовершенствования классического BIOS и стандартизации системных процессов загрузки, установки драйверов и др.

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

Когда начинается процесс загрузки системы, менеджер загрузки UEFI начинает загрузку драйвера UEFI, встроенного в прошивку SSD. Этот процесс позволяет системной прошивке получить полный доступ к SSD – включая любые разделы, имеющиеся на устройстве. Менеджер загрузки продолжит искать загрузчик операционной системы в системном разделе EFI. Этот загрузчик в дальнейшем будет запускаться каждый раз при загрузке операционной системы.

Условия совместимости

Загрузка с SSD с использованием NVMe не гарантирует работу на любой системной конфигурации; даже при успешной загрузке могут обнаружиться специфические требования.

Аппаратная совместимость

Для поддержки необходимого драйвера NVMe на базе UEFI ваша система должна иметь прошивку UEFI 2.3.1 или более позднюю версию. Если ваша система куплена после 2012 г. или поставлялась с предустановленной операционной системой Windows* 8, она скорей всего поддерживает UEFI. Уточните это у представителей производителя вашей системы.

В общем случае это материнские платы на чипсетах Intel Z97, X99 и более современных, с BIOS, обновленным до последней версии. Для более старых плат следует уточнять поддержку NVMe Boot на сайте производителя материнской платы.

Совместимость с операционными системами

Для успешного использования в качестве загрузочного устройства SSD с NVMe и PCIe операционная система должна поддерживать NVMe: непосредственно или через дополнительный драйвер (см. таблицу ниже). Поддержка UEFI осуществляется только в 64-разрядных операционных системах. Для наилучшей совместимости рекомендуется использовать Windows* 10.

Операционная системаПоддержка NVMeПримечания
Windows 10ПоддерживаетсяВстроенная поддержка NVMe
Windows 8.1ПоддерживаетсяВстроенная поддержка NVMe
Windows 8ПоддерживаетсяТребуются дополнительные драйверы во время установки
Windows* 7Поддерживается ограниченноОграниченная аппаратная совместимость, также требуются дополнительные драйверы

Замечания по совместимости с Windows 7

Операционная система Windows 7 не поддерживает загрузку непосредственно в режиме UEFI без CSM. То есть в данном случае аппаратная совместимость ограничена и зависит от заводских настроек CSM. Для корректной загрузки Windows 7 с устройства SSD с использованием NVMe ваша система должна поддерживать загрузочные драйверы UEFI при включенной опции CSM.

Источник

Что такое NVMe у твердотельных накопителей?

драйвера nvme что это

драйвера nvme что это

Содержание

Содержание

Аббревиатура NVMe сейчас на слуху. То тут, то там можно услышать или прочитать, что-то вроде «Не хочу SATA, это старье. Хочу NVMe!» А что же это вообще такое? Давайте разбираться.

Что же такое NVMe?

драйвера nvme что это

NVM Express или NVMe (от англ. Non-Volatile Memory Express) — это спецификация протокола (упрощенно — протокол) обмена данными через линии PCI Express. Создавалась специально для твердотельных накопителей и ориентировалась на достижение максимальной производительности и масштабируемости в дальнейшем.

Следует отметить, что NVMe — это именно протокол, поэтому распространенное выражение «NVME накопитель/SSD» применяется не совсем корректно. Ведь под этим пользователи практически всегда понимают устройство в формате M.2, тем самым объединяя под одним названием и протокол, и форм-фактор накопителя.

Какие преимущества дает использование NVMe в накопителях?

Использованием линий PCIe означает высокий максимальный предел теоретических скоростных характеристик дисков, что было показано еще накопителями, не поддерживающими NVMe. Тогда зачем нужна была вся затея с ее разработкой?

Увеличение глубины очереди команд и количества очередей

Первые диски хоть и показывали высокие скорости, используя преимущества шины PCIe, но использовали эмуляцию AHCI, где была лишь одна очередь на 32 команды. Использование одной очереди обусловлено тем, что AHCI создавался для жестких дисков, а у них ни о каком параллелизме при работе думать не приходилось. С появлением SSD все изменилось. В спецификации NVMe заложено использование до 65535 очередей и до 65535 команд в каждой очереди с указанием приоритета очередей и четким арбитражем последних. Эти огромные показатели хоть и не нужны сейчас, но задел на будущее оставляют приличный.

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

Работа с многоядерными/многопроцессорными системами, внедрение механизма прерываний и поддержка виртуализации

Совместно с первым пунктом это нацелено на увеличение параллелизма в работе, что в результате приводит к улучшение скоростных характеристик. Каждое ядро процессора может управлять несколькими очередями (отправка/завершение). Управление прерываниями (MSI-X — Message Signaled Interrupt Extended) позволяет при поступлении приоритетной задачи быстрее поставить ее на выполнение. Также была произведена оптимизация по поддержке работы с технологиями виртуализации, которая обязательна для серверов, куда NVMe в первую очередь и были нужны.

драйвера nvme что это

Проведем параллель с дорогой. Ясно, что пропускная способность однополосной дороги существенно меньше, чем у четырехполосной. Если только у нее не одна полоса (ядро) для въезда, иначе это колосс на глиняных ногах. А если по дороге будет ехать пожарная машина, то все расступятся и она проедет первой (спасибо прерываниям и приоритизации).

Сокращение задержек при работе

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

драйвера nvme что это

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

Ускорение работы с оперативной памятью

Если AHCI требовалось два запроса в DRAM, то NVMe использует один запрос на чтение 4 Кб, обеспечивая эффективную работу небольших операций ввода/вывода. Опять же сокращает накладные расходы, позволяя увеличить эффективность в единицу времени в сравнении с AHCI. Ведь быстрее оплатить покупку просто приложив карту, чем еще дополнительно вводить пин-код.

Это лишь несколько основных важных отличий NVMe, по которым виден основной вектор при работе над протоколом. SSD, в отличие от HDD, обладает некоторой степенью параллелизма — контроллер поддерживает несколько каналов для подключения микросхем памяти. В итоге большой пласт работы направлен на максимальную возможность распараллеливания операций. Несколько очередей с большой очередью команд — сценарий, в котором накопители показывают лучшие результаты. Работа с многоядерными процессорами также позволяет максимально загрузить работой диск.

Другой целью разработки было исключение промежуточных звеньев. Так удаление контроллера SATA из цепочки «процессор — накопитель», новые команды и драйвер позволили снизить задержки в обработке команд так, что основным фактором, влияющим на латентность, стали сами микросхемы NAND. Они же и остаются лимитирующим фактором в скорости записи. 3DXpoint от Intel сделала первый шаг в направлении уменьшения латентности памяти. Будем ждать, что смогут преподнести будущие типы микросхем.

драйвера nvme что это

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

Опять же если вернуться к AHCI, то ее разработка зиждилась на максимальном сохранении совместимости с разными устройствами. NVMe же возводили практически с нуля, основываясь лишь на использовании линий PCI-Express. И это наложило некоторые особенности реализации в конечном итоге.

Так для работы NVMe необходима поддержка со стороны операционной системы (ОС). Впрочем, сейчас драйвер есть во всех современных ОС: Windows, Mac OS и ядрах Linux/BSD. А для использования в качестве загрузочного накопителя, потребуется наличие драйвера в UEFI материнской платы. Как его добавить в старые модели плат, можно прочитать здесь.

Источник


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *