Ami native nvme driver support что это
Требуется прошивка BIOS'а материнской платы под диски NVMe M.2.
Характеристики ПК:
Материнская плата: Asus B85M-E
SSD: Intel 480Гб. (системный)
HDD: WD 1Тб (файловое хранилище)
ОС: Windows Server 2008R2
Доп.: 1С Предриятие 8.3 (конфигурация отраслевая) на SQL (размер БД
15 Гб.) + RDP из 10 пользователей работающих с БД.
Подготовка к апгейду BIOS:
Был куплен SSD-накопитель Samsung 970 EVO NVMe M.2 (стоимость 7500 т.р.), его заявленые характеристики очень хорошие, в сравнение с установленным Intel'ом он быстрее примерно в 6 раз.
т.к. материнская плата не имеет встроенного разъема под M2, был приобретен переходник Адаптер PCI-E M.2 NGFF for SSD Bulk (стоимость 600 р.), который позволит подключить SSD.M2 диск через разъем PCI-E.
Характеристики SSD-накопитель Samsung 970 EVO NVMe M.2:
Максимальная скорость последовательного чтения (Мбайт/с)
Максимальная скорость последовательной записи (Мбайт/с)
После того как все было собрано и установлено началось самое интересное. Естественно BIOS не увидел SSD.M2 как диск (хотя в системе он определися и работал как обычный дополнительный диск). Так же не мало важным было перенести систему без переустановки всего.
И тут начались танцы с бубном и гуглом.
Отказ от ответственности. Всю ответственность за действия описанные в статье вы берёте на себя, я не гарантирую, что после выполненных действий и модифицированных биосов ваш накопитель будет работать через PCI-E. Не несу ответственности за любой ущерб, который может быть нанесен вашей материнской плате в результате выполнения этих действий. Все описанные действия были сделаны на энтузиазме, мы знали на что шли.
ПО для обновление BIOS:
Для того чтобы материнская плата увидела диск NVMe M2, в BIOS'е должен быть драйвер для этих устройст (естественно в самой последней прошивке для это материнской платы его тоже нет).
Следовательно мы должны в последний BIOS для платы вшить драйвер для NVMe, чтобы он увидел диск при загрузке системы.
Скачиваем драйвер NVMe: тут или
4. Последней записью DXE в списке должна быть надпись "Free space" (Свободное пространство).
5. Нажимаем правой кнопкой мыши последнюю запись драйвера DXE, указанную выше, и выберите "Insert after" (Вставить после). Выберите файл NvmExpressDxe_4.ffs, и нажмите "Open". В конце должна появиться новая запись.
6. Выбираем меню "File" - "Save image file" и сохраняем его как BIOS NVMe (любое имя чтобы вы понимали что это обновленный BIOS)
7. Если открыть модифицированный BIOS повторно и найти DXE, то мы увидем что появилась запись "NvmExpressDxe_4", это означает что все сделано верно.
Модифицированный BIOS готов к установке на материнскую плату.
Это оказалось самым простым шагом.
Прошивка материнской платы:
Дальше началось самое интересное как обмануть BIOS модифицированным файлом прошивки т.к. проверка (check file BIOS) не пропускает наш подготовленный файл прошивки и вываливается в ошибку. ASUS Flashback на данной материнской плате нет, поэтому начались поиски сторонних утилит для прошивок BIOS.
Также рекомендую сделать полный образ системы через Acronis, в любом случае при успешной прошивке, он нам понадобится.
Программное обеспечение ASUS AI Suite 3 и его утилита EZ Update напрочь отказалось работать корректно, пробовали разные версии, было много ошибок, сбоев и в итоге ничего не вышло.
Было перепробованно много всяких программ и утилит, все получилось с помощью утилиты AFUWIN 5.12 (именно этой версии)
Afuwingui — простая утилита, позволяющая снять или прошить дамп биоса из под Windows.
Прошивка с помощью утилиты AFUWINGUI:
1. Запускаем AFUWINGUI.EXE от имени администратора и заходим во вкладку Setup, тут ставим галочку на Main BIOS Image
2. Нажимаем Open и выбираем оригинальный биос и нажимаем Flash.
3. После того как биос запищится в память, заходим в Setup и устанавливаем ещё одну галочку Do Not Check ROM ID.
4. Затем нажимаем Open и выбираем модифицированный файл биос и нажимаем Flash.
5. Ждём окончания загрузки и перезагружаемся.
После этого в BIOS появилось новое устройство для загрузки, что означало успех.
После этого восстанавливаем образ системы (сделанный ранее) на NVMe диск, загружаемся в систему проверяем на работоспособность.
Все проведенные тесты прошли успешно, все работает как часы, все пользователи просто в восторге, 1С стала очень быстро работать, потраченные 8 тыс. на SSD.M2 сэкономили пару сотен на покупку нового сервера.
Результаты теста чтения/записи можете увидеть ниже SSD.M2 (Samsung) и SSD (Intel), разница более чем в 10 раз.
Будьте аккуратны с модификациями и прошивками BIOS, можно все превратить в кусок ненужного железа.
Поскольку технология NVMe до сих пор развивается, конфигурирование вашей системы для осуществления загрузки с устройства SSD с использованием NVMe может оказаться сложной задачей. Для лучшего понимания конечной цели и более эффективного решения возможных проблем важно иметь общие представления о процессе загрузки и UEFI.
Основные определения
Аббревиатура | Расшифровка | Значение |
NVMe | Non-Volatile Memory Express | Инструкция следующего поколения для обращения к SSD через шину PCI Express с большей пропускной способностью и меньшей задержкой |
PCIe | Peripheral Component Interconnect Express | Стандартное соединение у большинства систем, поддерживающее высокую скорость SSD с NVMe |
UEFI | Unified Extensible Firmware Interface | Пришедшая на смену классическому BIOS инструкция для системной прошивки, обеспечивающая программную прослойку между операционной системой и системной прошивкой |
CSM | Compatibility 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.
Твердотельные накопители (или 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 был анонсирован общественности в 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, нужно сопоставить важнейшие функциональные параметры (например, скорость записи и чтения) у аналогичных моделей без этой технологии и с ней.
Вот, например, беспристрастное сравнение моделей 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 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 на практике невозможно.
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 используются разъемы 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 разработан специально для твердотельных накопителей, он неизбежно станет новым отраслевым стандартом.
Твердотельные накопители: тогда и сейчас
Шины данных передают данные внутри системы, и когда впервые появились твердотельные накопители на базе технологии NAND, для отрасли стало очевидно, что необходимы новая шина и новый протокол.
- Первые твердотельные накопители были относительно медленными, и было удобно использовать имеющуюся инфраструктуру хранилища SATA. Несмотря на то, что скорость шины SATA выросла до 16 Гбит/с, почти все коммерческие реализации шины SATA остаются на уровне 6 Гбит/с.
- Общая пропускная способность PCIe 3.0 составляет 16 Гбит/с, а технология PCIe 4.0 удвоила этот показатель. Она обеспечивает до 16 линий и может передавать данные со скоростью до 32 000 МБ/с, в то время как SATA III поддерживает скорость только до 600 МБ/с.
Решение использовать имеющуюся технологию шины с более высокой пропускной способностью привело к замене протоколов SATA на технологию PCIe. Технология PCIe появилась за несколько лет до NVMe, но поскольку предыдущие решения были ограничены старыми протоколами передачи данных, такими как SATA и AHCI, они не могли быть использованы в полной мере до последнего времени. Технология NVMe устранила узкие места и сняла ограничения, обеспечивая выполнение команд с малой задержкой и очереди глубиной 64 тыс. записей. Большое количество очередей обеспечивает более быструю передачу данных, поскольку данные записываются на твердотельные накопители рассредоточенно с использованием ячеек и блоков, а не на вращающихся дисках, таких как жесткие диски.
Коммуникационные драйверы AHCI и NVMe
Коммуникационные драйверы используются операционными системами для обмена данными с устройствами хранения. Драйверы NVMe работают быстрее, чем драйверы AHCI, которые обычно используются в интерфейсах SATA.
- Драйвер NVMe разработан специально для твердотельных накопителей с флеш-технологией. В результате он работает быстрее, чем драйверы AHCI, которые были разработаны для обычных вращающихся жестких дисков.
- В то время как в NVMe есть 64 тыс. очередей команд и возможность отправки 64 тыс. команд на каждую очередь, в AHCI есть только одна очередь команд и возможность отправки только 32 команд на очередь.
- В драйверах AHCI команды используют большое число циклов ЦП с задержкой 6 микросекунд, в то время как команды драйвера NVMe используют малое число циклов ЦП с задержкой 2,8 микросекунды.
Драйвер NVMe напрямую взаимодействует с системным процессором, а AHCI должен связываться с контроллером SATA. AHCI имеет показатель IOPS (число операций ввода/вывода в секунду) до 100 тыс., в то время как для NVMe IOPS составляет более 1 миллиона. IOPS (число операций ввода-вывода в секунду, произносится "ай-опс") — это стандартный показатель производительности, используемый для тестирования компьютерных запоминающих устройств.
Форм-факторы твердотельных накопителей NVMe
Твердотельные накопители NVMe бывают разных форм-факторов, но это зависит от варианта использования или приложения.
- В потребительских устройствах и клиентских системах используются форм-факторы BGA и M.2.
- В центрах обработки данных и серверах используются форм-факторы M.2, U.2, U.3 и EDSFF.
В рамках EDSFF (Enterprise and Data Center SSD Form Factor) предпринимаются усилия по обеспечению динамического диапазона форм-факторов и стандартов, которые используют один и тот же протокол (NVMe), один и тот же интерфейс (PCIe) и собственный краевой разъем (SFF-TA-1002), распиновку и функции (SFF-TA-1009).
NVMe Resources
Преимущества NVMe в корпоративной среде
В настоящее время NVMe является стандартным протоколом для твердотельных накопителей, который расширяет возможности центров обработки данных и корпоративных сред.
Твердотельные накопители NVMe для клиентских систем:
Твердотельные накопители NVMe в клиентских системах, таких как настольные компьютеры, ноутбуки и рабочие станции, позволяют существенно повысить производительность хранения данных в целом.
Описание технологии твердотельных накопителей: NVMe, SATA, M.2
Различия между разными технологиями твердотельных накопителей, такими как SATA и NVMe, и преимущества новой технологии.
Читайте также: