Год начала | 2011; 9 лет назад (2011 г.) |
---|---|
Аббревиатура | NVMe |
Веб-сайт | nvmexpress.org |
NVM Express (NVMe ) или Спецификация интерфейса хост-контроллера энергонезависимой памяти (NVMHCIS ) - это открытый интерфейс логического устройства спецификация для доступа к энергонезависимому хранилищу носителю, подключенному через Шина PCI Express (PCIe). Аббревиатура NVM означает энергонезависимая память, которая часто является NAND флэш-памятью, которая имеет несколько физических форм-факторов, включая твердотельные накопители (SSD)., карты расширения PCI Express (PCIe), карты M.2 и другие формы. NVM Express, как интерфейс логических устройств, был разработан для использования низкой задержки и внутреннего параллелизма твердотельных запоминающих устройств.
По своей конструкции NVM Express позволяет использовать хост-оборудование и программное обеспечение, чтобы полностью использовать уровни параллелизма, возможные в современных твердотельных накопителях. В результате NVM Express снижает накладные расходы ввода-вывода и обеспечивает различные улучшения производительности по сравнению с предыдущими интерфейсами логических устройств, включая несколько длинных очередей команд и снижение задержки. предыдущие протоколы интерфейса были разработаны для использования с гораздо более медленными жесткими дисками (HDD), где существует очень большая задержка (относительно операций ЦП) между запросом и передачей данных, когда данные скорости намного ниже, чем скорости RAM, и где вращение диска и время поиска вызывают дополнительные требования к оптимизации.
Устройства NVM Express в основном доступны в виде плат расширения PCI Express стандартного размера и в виде устройств с форм-фактором 2,5 дюйма, которые обеспечивают четырехполосный интерфейс PCI Express через Разъем U.2 (ранее известный как SFF-8639). Устройства хранения, использующие SATA Express и спецификацию M.2, которые поддерживают NVM Express в качестве интерфейса логических устройств, являются популярным вариантом использования для NVMe и стали доминирующей формой твердотельного хранилища для серверов и настольных компьютеров.
Технические характеристики для NVMe, выпущенные на сегодняшний день, включают :
Исторически большинство SSD использовали шины , например SATA, SAS или Fibre Channel для взаимодействия с остальной частью компьютерной системы. С тех пор, как SSD стали доступны на массовых рынках, SATA стал наиболее типичным способом подключения SSD к персональным компьютерам ; однако SATA был разработан в первую очередь для взаимодействия с механическими жесткими дисками (HDD), и он становился все более непригодным для твердотельных накопителей, скорость которых со временем улучшалась. Например, примерно за 5 лет массового внедрения на рынке (2005–2010 гг.) Многие твердотельные накопители уже сдерживались сравнительно низкой скоростью передачи данных, доступной для жестких дисков - в отличие от жестких дисков, некоторые твердотельные накопители ограничены максимальной пропускной способностью из SATA.
Высокопроизводительные SSD были сделаны с использованием шины PCI Express до NVMe, но с использованием нестандартных интерфейсов. Благодаря стандартизации интерфейса SSD операционным системам требуется только один общий драйвер устройства для работы со всеми SSD, соответствующими спецификации. Это также означает, что каждому производителю SSD не нужно использовать дополнительные ресурсы для разработки конкретных драйверов интерфейса. Это похоже на то, как запоминающие устройства USB создаются в соответствии со спецификацией класса запоминающих устройств USB и работают со всеми компьютерами без необходимости в драйверах для каждого устройства.
Устройства NVM Express также используются в качестве строительного блока для хранения буфера пакетов во многих ведущих суперкомпьютерах, таких как суперкомпьютер Fugaku, суперкомпьютер Summit и Суперкомпьютер Sierra и т. Д.
Первые подробности нового стандарта для доступа к энергонезависимой памяти появились на Форуме разработчиков Intel 2007, когда NVMHCI был показан как протокол на стороне хоста в предложенном архитектурном проекте, в котором была рабочая группа Open NAND Flash Interface (ONFI) на стороне микросхем памяти (флеш-памяти). В том же году была сформирована рабочая группа NVMHCI во главе с Intel. Спецификация NVMHCI 1.0 была завершена в апреле 2008 года и опубликована на веб-сайте Intel.
Техническая работа над NVMe началась во второй половине 2009 года. Спецификации NVMe были разработаны Рабочей группой NVM Express, которая состоит из более чем 90 компаний; Эмбер Хаффман из Intel была председателем рабочей группы. Версия 1.0 спецификации была выпущена 1 марта 2011 года, а версия 1.1 спецификации была выпущена 11 октября 2012 года. Основные функции, добавленные в версии 1.1, - это многопутевый ввод-вывод (с совместным использованием пространства имен) и произвольная длина scatter-gather ввод / вывод. Ожидается, что будущие версии значительно улучшат управление пространством имен. Из-за своей функциональной направленности NVMe 1.1 изначально назывался Enterprise NVMHCI. Обновление для базовой спецификации NVMe, называемое версией 1.0e, было выпущено в январе 2013 года. В июне 2011 года была сформирована группа промоутеров во главе с семью компаниями.
Первые коммерчески доступные чипсеты NVMe были выпущены Integrated Device Technology (89HF16P04AG3 и 89HF32P08AG3) в августе 2012 года. Первый накопитель NVMe, Samsung XS1715 Enterprise Drive, было анонсировано в июле 2013 г.; По данным Samsung, этот накопитель поддерживает скорость чтения 3 ГБ / с, что в шесть раз быстрее, чем их предыдущие корпоративные предложения. Семейство контроллеров LSI SandForce SF3700, выпущенное в ноябре 2013 года, также поддерживает NVMe. Продукт Kingston HyperX «prosumer », использующий этот контроллер, был продемонстрирован на выставке Consumer Electronics Show 2014 и обещал аналогичную производительность. В июне 2014 года Intel анонсировала свои первые продукты NVM Express - семейство центров обработки данных твердотельных накопителей Intel, которые взаимодействуют с хостом через шину PCI Express, включая серии DC P3700, DC P3600 и DC P3500. По состоянию на ноябрь 2014 года накопители NVMe доступны в продаже.
В марте 2014 года группа образовалась и превратилась в NVM Express, Inc., которая по состоянию на ноябрь 2014 года состоит из более чем 65 компаний из всей отрасли. Спецификации NVM Express принадлежат и обслуживаются NVM Express, Inc., что также способствует повышению осведомленности отрасли о NVM Express как общеотраслевом стандарте. NVM Express, Inc. возглавляет совет директоров из тринадцати членов, выбранных из группы Promoter Group, в которую входят Cisco, Dell, EMC, HGST, Intel, Micron, Microsoft, NetApp, Oracle, PMC, Samsung, SanDisk и Seagate.
В сентябре 2016 года CompactFlash Association объявила о выпуске новой спецификации карты памяти CFexpress, в которой используется NVMe.
Существует множество форм-факторов твердотельных накопителей NVMe, таких как AIC, U.2, U.3, M.2 и т. Д.
Почти все ранние твердотельные накопители NVMe имеют HHHL (половинную высоту, половинную длину) или FHHL (полную высоту, половинную длину) AIC с интерфейсом PCIe 2.0 или 3.0. Плату твердотельного накопителя HHHL NVMe легко вставить в слот PCIe сервера.
U.2, ранее известный как SFF-8639, представляет собой компьютерный интерфейс для подключения твердотельных накопителей к компьютеру.. Он использует до четырех линий PCI Express. Доступные серверы могут объединять до 4 твердотельных накопителей U.2 NVMe.
построен на основе спецификации U.2 и использует тот же SFF- 8639 разъем. Это «трехрежимный» стандарт, сочетающий поддержку SAS, SATA и NVMe в одном контроллере. U.3 может также поддерживать «горячую» замену между различными дисками, для которых доступна поддержка микропрограмм. Диски U.3 по-прежнему обратно совместимы с U.2, но диски U.2 не совместимы с хостами U.3.
M.2, ранее известный как с форм-фактором следующего поколения (NGFF ), использует твердотельный накопитель M.2 NVMe -состояние привод компьютерная шина. Интерфейсы, предоставляемые через разъем M.2: PCI Express 3.0 или PCI Express 4.0 (до четырех линий ).
NVM Express over Fabrics (NVMe-oF) - это концепция использования транспортного протокола по сети для подключения удаленных устройств, в отличие от NVMe, где устройства подключаются напрямую к PCIe. шина (или через коммутатор PCIe на шину PCIe) В сентябре 2014 года был предложен стандарт для использования NVMe через Fibre Channel (FC), и эту комбинацию часто называют FC-NVMe (или иногда NVMe / FC). NVMe-oF - это протокол связи, который позволяет одному компьютеру получать доступ к устройствам блочного уровня, подключенным к другому компьютеру, через удаленный прямой доступ к памяти через несколько транспортных средств. протоколы:
Стандарт для NVMe over Fabrics был опубликован NVM Express, Inc. в 2016 году.
Следующие драйверы реализуют протокол NVMe-oF:
Начиная с ядра Linux 5.0 была добавлена встроенная поддержка NVMe / TCP.
Расширенный интерфейс хост-контроллера (AHCI) имеет преимущество широкой совместимости программного обеспечения, но имеет обратную сторону - не обеспечивает оптимальную производительность при использовании с SSD, подключенных по шине PCI Express. В качестве интерфейса логического устройства AHCI был разработан, когда целью адаптера шины хоста (HBA) в системе было соединение подсистемы ЦП / памяти с гораздо более медленной подсистемой хранения на основе вращения магнитный носитель. В результате AHCI привносит определенные недостатки при использовании с устройствами SSD, которые ведут себя больше как RAM, чем как вращающиеся носители.
Интерфейс устройства NVMe был разработан с нуля, чтобы извлечь выгоду из о низкой задержке и параллелизме твердотельных накопителей PCI Express, а также о дополнительном параллелизме современных процессоров, платформ и приложений. На высоком уровне основные преимущества NVMe перед AHCI связаны с его способностью использовать параллелизм в аппаратном и программном обеспечении хоста, что проявляется в различиях в глубине очереди команд, эффективности обработки прерываний., количество некэшируемых обращений к регистру и т. д., что приводит к различным улучшениям производительности.
В таблице ниже приведены общие различия между интерфейсами логических устройств NVMe и AHCI.
AHCI | NVMe | |
---|---|---|
Максимальная глубина очереди | Одна очередь команд;. 32 команды в очереди | 65535 очередей ;. 65536 команд в очереди |
Доступ к некэшируемым регистрам. (2000 циклов на каждую) | Шесть на команду без очереди;. девять на команду в очереди | Два на команда |
MSI-X. и прерывание управления | Одиночное прерывание;. без управления | 2048 MSI-X прерывает |
параллелизм. и несколько потоков | Требуется блокировка синхронизации. для выполнения команды | Без блокировки |
Эффективность. для команд размером 4 КБ | Для параметров команды требуется. два сериализованная DRAM хоста извлекает | Получает параметры команды. в одной 64-байтовой выборке |
Инструмент nvmecontrol
используется для управления диском NVMe из командной строки во FreeBSD. Он был добавлен в FreeBSD 9.2.
Инструменты пользовательского пространства NVM-Express для Linux.
Викискладе есть носители, относящиеся к NVM Express. |