Standard nvm express controller что это

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

Standard nvm express controller что это. site Tehnologiya NVMe. Standard nvm express controller что это фото. Standard nvm express controller что это-site Tehnologiya NVMe. картинка Standard nvm express controller что это. картинка site Tehnologiya 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-диски.

Standard nvm express controller что это. NVM Express Roadmap. Standard nvm express controller что это фото. Standard nvm express controller что это-NVM Express Roadmap. картинка Standard nvm express controller что это. картинка NVM Express Roadmap

Дорожная карта развития спецификаций 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, нужно сопоставить важнейшие функциональные параметры (например, скорость записи и чтения) у аналогичных моделей без этой технологии и с ней.

Standard nvm express controller что это. ssd vs sata1. Standard nvm express controller что это фото. Standard nvm express controller что это-ssd vs sata1. картинка Standard nvm express controller что это. картинка ssd vs sata1

Вот, например, беспристрастное сравнение моделей 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

Standard nvm express controller что это. NVM gde primenyayutsya1. Standard nvm express controller что это фото. Standard nvm express controller что это-NVM gde primenyayutsya1. картинка Standard nvm express controller что это. картинка NVM gde primenyayutsya1

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 (NVM Express)

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

История NVMe

SSD существенно отличаются от НЖМД (HDD) скоростными характеристиками и внутренними процессами ввода/вывода. «Дисковые» протоколы SATA и SAS не позволяют использовать весь потенциал SSD, поэтому было решено создать «с нуля» протокол, учитывающий особенности твердотельной памяти.

На Intel Developer Forum в 2007 году был представлен NVMHCI (Non-Volatile Memory Host Controller Interface) — прототип будущего интерфейса.
Спецификации NVMe разрабатываются рабочей группой «NVM Express Workgroup», в которую входит более 90 компаний.
Первая версия 1.0 вышла в свет в марте 2011 года. В 2019 году готова спецификация NVM Express 1.4.

Преимущества NVMe

Скорость

— Учтены особенные временные характеристики SSD
— Исключен дополнительный контроллер
— Параллельная передача данных по нескольким линиям PCI (локальное подключение)
— Сокращеннный набор команд
— Параллельная обработка запросов множеством ядер

Масштабируемость

— Скорость передачи будет расти с повышением скорости линии PCI
— Параллельная обработка запросов множеством ядер позволяет наращивать производительность системы хранения
— NVMe-oF предоставляет ресурсы удаленным серверам обработки

Эффективность

— Используются все преимущества современных твердотельных накопителей
— Раздельное использование дорогостоящего оборудования. Поддерживаются механизмы виртуализации и разделяемого использования
— Сокращение энергозатрат

Разработчики интерфейса комплексно подошли к проектированию эффективного перспективного интерфейса с учетом современных тенденций в отрасли.

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

Множество путей доступа и разделяемая логическая структура (shared namespace) позволяют строить системы высокой доступности и коллективно использовать высокоскоростные диски.

Поддержка виртуализации SR-IOV упрощает использование накопителей в виртуальных средах.

Благодаря механизмам сетевого расширения интерфейса NVMe-oF, разнесенные внутри датацентра и даже географически разнесенные серверы получают доступ к подсистеме NVMe SSD.

В то же время, на пути между потребителем данных — процессором и поставщиком — накопителем по возможности удалены все промежуточные звенья. Иллюстрация ниже показывает, насколько упрощается обработка запросов NVMe по сравнению с SAS/SATA интерфейсом. Современный процессор содержит PCIe контроллер внутри себя, уже несколько поколений — это не отдельный чип управления. Процессоры Intel Scalable вкупе с драйвером UEFI получили встроенный хост-контроллер NVMe. Все, прямее и короче уже некуда!

Standard nvm express controller что это. NVMe stack Flash Memory Summit 2017. Standard nvm express controller что это фото. Standard nvm express controller что это-NVMe stack Flash Memory Summit 2017. картинка Standard nvm express controller что это. картинка NVMe stack Flash Memory Summit 2017Упрощение стека NVMe
Слайд из материалов Flash Memory Summit 2017

NVMe Zoned Namespaces

NVMe Zoned Namespaces (ZNS) ратифицирована NVM Express в июне 2020 как дополнение спецификации 1.4a.

Зонирование пространства имен придает SSD свойства следующего этапа эволюции накопителей. Более тонкое управление ресурсами драйва позволяет повысить его производительность, увеличить эффективность его использования.

Подробнее технология описана на странице NVMe ZNS.

NVMeDirect Framework

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

Standard nvm express controller что это. NVMe direct framework Flash Memory Summit 2017. Standard nvm express controller что это фото. Standard nvm express controller что это-NVMe direct framework Flash Memory Summit 2017. картинка Standard nvm express controller что это. картинка NVMe direct framework Flash Memory Summit 2017NVMe direct Framework
Слайд из материалов Flash Memory Summit 2017

«Прямой доступ к накопителю» может принести еще порядка 10% к производительности системы, что иллюстрируют рисунки ниже. Замеры делались на 4КБ операциях случайного доступа.

Standard nvm express controller что это. NVMe direct framework performance. Standard nvm express controller что это фото. Standard nvm express controller что это-NVMe direct framework performance. картинка Standard nvm express controller что это. картинка NVMe direct framework performanceСравнение «традиционного» доступа к накопителю через ядро ОС и прямого доступа NVMeDirect Framework
Слайд из материалов Flash Memory Summit 2017 Standard nvm express controller что это. NVMe direct framework in mongoDB. Standard nvm express controller что это фото. Standard nvm express controller что это-NVMe direct framework in mongoDB. картинка Standard nvm express controller что это. картинка NVMe direct framework in mongoDBБаза данных MongoDB и NVMeDirect Framework.
+10,8% производительности

Перейдите в раздел «Оборудование NVMe» для знакомства с различными накопителями NVMe, контроллерами интерфейса, корпусами и платформами для подсистемы NVMe.

Примеры того, как объединить все в систему мы приводим в разделе «Строим систему«

Источник

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

Standard nvm express controller что это. q93 d37de258ff148954fed8348caf38bb1187bc6a79f8a15a96e0239e965a21eecc. Standard nvm express controller что это фото. Standard nvm express controller что это-q93 d37de258ff148954fed8348caf38bb1187bc6a79f8a15a96e0239e965a21eecc. картинка Standard nvm express controller что это. картинка q93 d37de258ff148954fed8348caf38bb1187bc6a79f8a15a96e0239e965a21eecc

Standard nvm express controller что это. q93 90881529b5e3785a9bb2bac9f428472759b4746c295b977d4d6a7156b681cb3a. Standard nvm express controller что это фото. Standard nvm express controller что это-q93 90881529b5e3785a9bb2bac9f428472759b4746c295b977d4d6a7156b681cb3a. картинка Standard nvm express controller что это. картинка q93 90881529b5e3785a9bb2bac9f428472759b4746c295b977d4d6a7156b681cb3a

Содержание

Содержание

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

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

Standard nvm express controller что это. q93 f4677138ac31f0e1c17a8574f6d8611285358d3162cd77643eef89f8518a33b9. Standard nvm express controller что это фото. Standard nvm express controller что это-q93 f4677138ac31f0e1c17a8574f6d8611285358d3162cd77643eef89f8518a33b9. картинка Standard nvm express controller что это. картинка q93 f4677138ac31f0e1c17a8574f6d8611285358d3162cd77643eef89f8518a33b9

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 в первую очередь и были нужны.

Standard nvm express controller что это. q93 fe4e44987d9d5e5729b41804338648a0fd2d5b448155bd35cb2da5ed41b6ca2c. Standard nvm express controller что это фото. Standard nvm express controller что это-q93 fe4e44987d9d5e5729b41804338648a0fd2d5b448155bd35cb2da5ed41b6ca2c. картинка Standard nvm express controller что это. картинка q93 fe4e44987d9d5e5729b41804338648a0fd2d5b448155bd35cb2da5ed41b6ca2c

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

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

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

Standard nvm express controller что это. q93 e345eeeced1a9edfe5b5005606270684b71f7df3f25258f8c7cdf38260ede4e2. Standard nvm express controller что это фото. Standard nvm express controller что это-q93 e345eeeced1a9edfe5b5005606270684b71f7df3f25258f8c7cdf38260ede4e2. картинка Standard nvm express controller что это. картинка q93 e345eeeced1a9edfe5b5005606270684b71f7df3f25258f8c7cdf38260ede4e2

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

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

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

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

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

Standard nvm express controller что это. q93 7a7d7543614c264eebea9d21d00902f1426f630b85b44e73d3dc47e862bcb44f. Standard nvm express controller что это фото. Standard nvm express controller что это-q93 7a7d7543614c264eebea9d21d00902f1426f630b85b44e73d3dc47e862bcb44f. картинка Standard nvm express controller что это. картинка q93 7a7d7543614c264eebea9d21d00902f1426f630b85b44e73d3dc47e862bcb44f

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

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

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

Источник

Разные SSD: а есть ли разница? Страсти по NVMe

Оглавление

Вступление

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

Получилось так, что всего через два дня у меня на руках очутился накопитель Samsung SM951 в версии NVMe. Заурядно? И да, и нет одновременно.

Твердотельный накопитель Samsung SM951 на данный момент является единственным решением, доступным рядовому пользователю (де-факто, де-юре – это продукт для сборщиков компьютеров), которое выпускается в двух версиях – AHCI и NVMe. При этом их аппаратная база абсолютно идентична, а необходимый логический протокол включается на последнем этапе производства – в момент записи в накопитель его микрокода. Таким образом, у меня оказались оба этих SSD и появилась возможность без всяких теорий и допущений выяснить практическую пользу от нового протокола NVMe.

Ну а попутно согласно пожеланиям читателей был расширен набор тестов. Благодаря нашим постоянным партнерам – магазину Регард и компаниям-производителям, мы вновь проясним ситуацию, сравнив разные модели накопителей между собой.

Обзор и тестирование пяти модулей оперативной памяти DDR4-2133 SK Hynix HMA451U6MFR8N0-TF объемом 4 Гбайт

реклама

Маркетинговая теория: NVMe – шаг к светлому будущему

Для связи устройств в системе нужен не только физический интерфейс, но и логический (программный). С середины двухтысячных для накопителей служила связка из физического SATA и логического AHCI, и если SATA поступательно развивался, пройдя через первую, вторую и третью ревизию с заметным ростом пропускной способности, то AHCI – с точки зрения производительности оставался практически неизменным. На данный момент AHCI (Advanced Host Controller Interface) уже 12 лет и он является преобладающим в отрасли.

Plextor M6e, Samsung XP941, Kingston HyperX Predator, Plextor M6e Black Edition – всеми этими первыми PCIe SSD в форм-факторе M.2 (ранее известном как NGFF) использовался протокол AHCI. Но он – лишь дань совместимости со старыми системами и в полной мере раскрыть потенциал таких SSD просто не в состоянии. Но это значит, что нет альтернативы, она есть – еще в 2011 году был представлен протокол NVM Express (он же NVMe, он же NVMHCI – Non-Volatile Memory Host Controller Interface).

Уже из расшифровки аббревиатуры видно, что этот протокол предназначен именно для твердотельных накопителей на энергонезависимой памяти и разрабатывался исходя из их особенностей. При его создании разработчиками делался упор на сокращение «накладных расходов» при передаче данных, уменьшение задержек и улучшение работы с многопоточными нагрузками. Корпоративным потребителям понравятся развитые системы обнаружения ошибок, управления и самошифрования.

реклама

ПараметрAHCINVMe
Максимальная глубина очереди запросовОдна очередь, до 32 команд в очереди65 536 очередей до 65 536 команд в каждой очереди
Некэшируемые доступы к регистрам (2 000 циклов каждый)Шесть на команды вне очереди; девять на команды очередиДва на команду
MSI-X и управление прерываниямиОдно прерывание, управление отсутствует2 048 прерываний, передаваемых сообщениями или MSI-X (Message Signaled Interrupt Extended)
Многопоточность и параллелизмТребуется фиксация синхронизации для выдачи командыНе требуется
Эффективность для команд 4 КбайтПараметры команды требуют два серийных запроса DRAMВсе параметры получаются в одном 64-байтном запросе

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

Но что есть, то есть: протокол NVMe в последние несколько лет активно продвигается маркетологами на потребительский рынок. Одна проблема: хоть с момента дебюта NVMe прошло уже немало времени, инфраструктуры под этот протокол не так уж и много.

Суровая действительность: NVMe – много головной боли

Даже сегодня абсолютно совместимым с протоколом NVMe является только совсем небольшой процент домашних ПК. Все остальное – от тех или иных ограничений до полной несовместимости. Причем речь идет не о каких-то совсем старых «печатных машинках» на базе, например, Intel Celeron Socket 478, мы говорим о вполне современных системах.

Наиболее сложно обстоят дела у AMD. Даже материнские платы под актуальные Socket FM2+ и Socket AM3+ отнюдь не всегда могут в совершенстве работать с NVMe SSD. Фактически полноценная поддержка реализована только для тех немногочисленных материнских плат нового поколения, где посадочное место M.2 есть изначально (вроде ASRock Fatal1ty 990FX Killer, ASRock A88M-G/3.1, ASUS 970 PRO Gaming/Aura (обзор которой сейчас готовится) или Gigabyte GA-990FX-Gaming). Впрочем, наличие M.2 не является обязательным внешним атрибутом: загрузка с NVMe SSD возможна на материнской плате MSI AMD 990FXA Gaming, на которой посадочное место M.2 отсутствует.

С платформой Intel немного проще, хотя и на ней хаоса предостаточно: протокол NVMe поддерживается почти всеми материнскими платами LGA1151 и LGA2011v3, значительным числом материнских плат на наборах системной логики Intel Z97/H97 и некоторым количеством – на Intel Z87. С более старыми платами на Intel X79, Intel Z77 и т.д. всё ещё сложнее и запутаннее. Но даже с новыми моделями материнских плат все равно надо быть осторожным. Например, материнская плата EVGA X99 Micro (не путать с EVGA X99 Micro2), по отзывам, с NVMe SSD загружаться не умеет.

Небольшая ремарка. Samsung SM951 в версии с протоколом AHCI отнюдь не является универсальным и полностью совместимым с всеми материнскими платами со слотами PCI-Express, в которые можно установить переходник M.2>PCIe. Тут возникает еще один фактор: в микрокоде контроллера Samsung SM951 (обеих версий) отсутствует модуль OpROM (как и у его предшественника Samsung XP941), поэтому материнская плата должна уметь грузиться с PCIe SSD самостоятельно. OpROM есть у Samsung 950 Pro, а также (по крайней мере, присутствовал на момент тестирования) в более старых Plextor M6e, Plextor M6e Black Edition и Kingston HyperX Predator. Относительно Plextor M8e, Patriot Hellfire, ADATA XPG SX8000 и ряда других SSD информации у меня пока нет. А проблему поддержки именно NVMe в ряде систем все-таки можно решить нестандартным способом. Для этого материнская плата должна отвечать трём условиям: должна иметь UEFI BIOS (напомню, что некоторые материнские платы Gigabyte на базе Intel P67/Z68 были выпущены сначала с AWARD BIOS, а потом получили обновление на UEFI BIOS), уметь загружаться с SSD без OpROM (если выбранная модель SSD его лишена), а владелец оной материнской платы должен обладать, выражаясь простонародным языком, «правильными версиями brain.dll и hands.dll». Точнее, суметь по общедоступной инструкции пересобрать BIOS, добавив необходимый модуль NVMe, и затем записать полученный микрокод во флеш-память материнской платы. Таким образом можно «привить» поддержку NVMe даже Intel P67.

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

Но с программной частью у пользователя также будет немало проблем. Для операционных систем Linux первый драйвер был включен в состав ядра 3.3 (январь 2012 года), но он обладал некоторыми недостатками, а более продвинутая и производительная реализация была осуществлена лишь в ядре 3.13 (январь 2014 года). Для OpenBSD поддержка была реализована и вовсе только в версии 6.0, выпущенной меньше двух месяцев назад (1 сентября 2016 года).

С творениями софтверного гиганта из Редмонда ситуация чуть проще. Соответствующий драйвер в операционные системы Windows был встроен, начиная с версии 8.1 (октябрь 2013 года). Для Windows 7 был выпущен отдельный пакет-обновление. Более ранние версии Windows драйвер NVMe не получили. Но простота ориентирования в Windows осложняется тем, что драйвер, созданный специалистами Microsoft, не настроен на максимальную производительность.

Драйвер «nvme» за авторством Microsoft оснащен дополнительной защитой данных от потери питания, а потому для накопителей, лишенных полной защиты от внезапного обесточивания, операции записи данных производятся с флагом запрета на буферизацию в оперативной памяти NAND-контроллера через команды FUA (Force Unit Access). В итоге все трансферы данных производятся в флеш-память напрямую, не позволяя микрокоду контроллера производить упорядочивание операций записи, что приводит к дополнительным издержкам и частичной потери производительности.

Отчасти проблему можно обойти, установив настройки как на скриншоте выше. Но для достижения максимальной производительности и полноценной работы необходима установка специального драйвера, который перенастроен надлежащим образом. На момент написания этих строк только три компании предлагали для своих накопителей такой драйвер: Samsung, Toshiba OCZ и Plextor. Причем для накопителей Plextor драйвер был опубликован только что. А вот Phison (например, Patriot Hellfire) и Silicon Motion (например, ADATA XPG SX8000) специальных драйверов пока не публиковали.

реклама

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

Источник

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

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