NVM Express
NVM Express (NVMe, NVMHCI) — от англ. Non-Volatile Memory Host Controller Interface Specification) — интерфейс доступа к твердотельным накопителям, подключённым по шине PCI Express. «NVM» в названии спецификации обозначает энергонезависимую память, в качестве которой в SSD повсеместно используется флеш-память типа NAND. Логический интерфейс NVM Express был разработан с нуля, основные цели — получение низких задержек и эффективное использование высокого параллелизма твердотельных накопителей за счёт применения нового набора команд и механизма обработки очередей, оптимизированного для работы с современными многоядерными процессорами[1].
Тип разъёма и конструктив носителей NVMe может быть различным. Распространены накопители в форм-факторах M.2, U.2[англ.] (конструктивно совместимы с накопителями SATA 2,5") и платы расширения PCI Express[2][3]. Накопители SATA Express и компактные внутренние накопители форм-фактора M.2 при использовании PCIe также поддерживают NVM Express в качестве одного из логических интерфейсов[4][5].
Предпосылки появления
Ранние твердотельные накопители использовали для подключения параллельный SCSI и использовались в серверах и высокопроизводительных рабочих станциях[6]. Проникновение SSD на массовый рынок пришлось на середину 2000-х и совпало по времени с вытеснением параллельного SCSI интерфейсами SATA и SAS. Со временем дальнейшему наращиванию производительности SSD стали мешать ограничения интерфейсов SATA и SAS, ориентированных в первую очередь на подключение традиционных механических жёстких дисков[7][8]. Например, в отличие от жёстких дисков, скорость последовательного чтения для большинства современных SSD ограничивается пропускной способностью интерфейса SATA.
Высокопроизводительные SSD с подключением к шине PCI Express производились до NVMe, но либо использовали уникальные закрытые стандарты и технологии оптимизации работы с флеш-памятью, либо представляли собой SATA- или SAS-контроллер и несколько SSD с интерфейсами SATA/SAS, размещёнными на одной плате. Переход на NVMe позволил стандартизировать интерфейс PCIe SSD — производителям больше не нужно тратить ресурсы на разработку уникальных драйверов, разъёмов и форм-факторов[9]. Подобным образом принятие спецификаций USB mass storage[англ.] позволило создать большое разнообразие USB-флеш-накопителей, которые смогли работать с любыми компьютерами, не требуя оригинальных драйверов для каждой модели[10].
Для эффективного использования накопителей NVMe в сетях хранения данных разрабатываются различные стандарты передачи команд NVMe через RDMA (поверх InfiniBand или Ethernet — RoCE[англ.] и iWARP[англ.]) и Fibre Channel без трансляции в SCSI под общим названием NVMe over Fabrics[11].
История
Работа над спецификацией
Первые подробности о новом стандарте доступа к энергонезависимой памяти появились на Intel Developer Forum в 2007 году, где был представлен NVMHCI (Non-Volatile Memory Host Controller Interface) — предполагаемый вариант нового интерфейса коммуникации между хостом и контроллером NAND[12]. В том же году была сформирована рабочая группа для проработки NVMHCI во главе с Intel. Первая спецификация NVMHCI 1.0 была закончена в апреле 2008 года и размещена на сайте Intel[13].
Техническая проработка NVMe началась во второй половине 2009 года[14]. Спецификации NVMe были разработаны рабочей группой «NVM Express Workgroup», в которую входило более 90 компаний, председателем группы была Эмбер Хаффмен из Intel. Первая версия спецификации NVMe была представлена 1 марта 2011 года[15]. При работе над версией 1.1, появившейся 11 октября 2012 года, разработчики сфокусировались на добавлении функциональных возможностей для устройств корпоративного класса. В новом стандарте были добавлены многопутевой ввод-вывод с разделяемым доступом к пространствам имён NVMe[прим. 1] и поддержка векторного ввода-вывода (англ. arbitrary-length scatter-gather I/O)[14][16].
В дальнейшем работа над новыми версиями спецификации NVMe была продолжена:
- NVMe 1.1b — 2 июля 2014 года[17];
- NVMe 1.2 — 3 ноября 2014 года; для устройств потребительского класса: расширенное управление питанием и поддержка накопителей без динамической памяти; для устройств корпоративного класса: возможность обновления прошивки без остановки работы накопителя, снижение задержек в топологиях с большим количеством NVMe-накопителей и коммутаторами PCIe[18].
- NVMe 1.2a — 23 ноября 2015 года[19].
- NVMe 1.3c — 24 мая 2018 года[20].
- NVMe 2.0 — 13 мая 2021 года[21].
- NVMe 2.0a — 23 июля 2021 года[22].
- NVMe 2.0b — 6 января 2022 года[23].
Первые контроллеры и готовые накопители
Первые контроллеры SSD с поддержкой NVMe и эталонный дизайн флеш-накопителей в форм-факторе полнопрофильной платы PCIe были выпущены компанией Integrated Device Technology в августе 2012 года[24][25].
Первый серверный NVMe-накопитель Samsung XS1715 в форм-факторе U.2 (2.5", разъём SFF-8639) был анонсирован в июле 2013 года. Основой для накопителя послужил контроллер, разработанный PMC-Sierra[англ.]. Заявленные характеристики составили 3 ГБайт/с при последовательном чтении и 740 000 IOPS при случайном доступе блоками 4 КиБ[26].
В июне 2014 года свои первые линейки серверных NVMe-накопителей представила компания Intel. Линейки DC P3700, DC P3600, DC P3500, различающиеся между собой производительностью и ресурсом, выпускаются в форм-факторе U.2 и в виде низкопрофильных плат PCIe[27]. В 2015 году Intel выпустила основанный на P3500 накопитель потребительского класса — Intel 750.
В июне 2015 года появился один из первых NVMe-накопителей потребительского класса в компактном форм-факторе M.2 — Samsung SM951-NVMe[прим. 2][28].
Появившиеся в сентябре 2015 года смартфоны Apple iPhone 6s и iPhone 6s Plus стали первыми мобильными устройствами, оснащёнными встроенными NVMe-накопителями[29].
Технические особенности и инфраструктура
Сравнение с AHCI
Основными преимуществами NVMe перед AHCI является оптимизированный механизм работы с очередями и обработкой прерываний, что позволяет обеспечить более высокий уровень производительности[4].
Устройство AHCI ограничено одной очередью глубиной 32, в то время как NVMe поддерживает 64 К (65536) очередей с глубиной 65536 каждая. Набор команд NVMe существенно упрощён в сравнении с ATA и SCSI, спецификацией определяется всего 13 обязательных команд, что, в первую очередь, существенно упрощает разработку устройств[2].
Форм-факторы накопителей
- Платы расширения PCI Express. Большая часть выпускаемых по состоянию на начало 2016 года плат NVMe-накопителей выполнена в форм-факторе половинной высоты/половинной длины с интерфейсом PCI Express x4.
- U.2 (SFF-8639) — накопители форм-фактора 2,5" высотой 15 мм с разъёмом SFF-8639. Используются, в основном, в серверах. Преимуществами в сравнении с обычной платой расширения являются поддержка горячей замены накопителей и более компактное исполнение, позволяющее разместить большее количество накопителей в корпусе сервера или системы хранения данных. Разъём SFF-8639 обратно совместим с SFF-8482, бэкплейн с разъёмом SFF-8639 при подключении к нему соответствующего контроллера поддерживает подключение накопителей с интерфейсами SATA и SAS.
- Не все накопители форм-фактора U.2 являются NVMe-совместимыми. В начале 2013 года компания Dell выпустила новое поколение серверов с возможностью подключения до четырёх накопителей Micron P320h. Они были выполнены в совместимом с U.2 форм-факторе, подключались через четыре линии PCIe, но не использовали NVMe в качестве логического интерфейса[30].
- Для подключения бэкплейнов с поддержкой накопителей U.2 к шине PCI Express используются кабели с разъёмами OCuLink или SFF-8643[прим. 3], обеспечивающий подключение четырёх линий PCI Express. Кабель может подключаться к специальному разъёму на системной плате, в обычный слот расширения PCI Express через плату-ретаймер или к разъёму M.2 через переходник[2].
- U.3
- M.2 (NGFF) — бескорпусные накопители в компактном форм-факторе. Предназначены для использования в ноутбуках и стационарных ПК. Накопители формата M.2 могут подключаться либо непосредственно к соответствующему разъёму системной платы, либо устанавливаться в слот PCI Express через переходник.
- Intel Ruler SSD (EDSFF) — форм-фактор для серверных накопителей с поддержкой горячей замены. Был анонсирован компанией Intel в 2017 году на Flash Memory Summit[31]. Форм-фактор U.2 обеспечивал механическую совместимость с корпусами, предназначенными для установки дисков 2,5", но не очень хорошо подходил для твердотельных накопителей — ограниченные габариты усложняли наращивание объёма накопителей и затрудняли охлаждение. Размеры накопителей EDSFF составляют 325,35×9,5×38,6 мм, поддерживается подключение через 4 или 8 линий PCIe (в перспективе — до 16). Примерами готовых продуктов, использующих форм-фактор EDSFF, являются серверы и JBOF-системы[прим. 5] производства Supermicro, позволяющие разместить до 32 накопителей в корпусе высотой 1U[32].
- Samsung NGSFF — форм-фактор для серверных накопителей с поддержкой горячей замены. Как и EDSFF, разработан в качестве альтернативы U.2. Имеет меньшие габариты в сравнении с EDSFF — 110×4,38×30,5 мм, что позволяет установить большее количество накопителей (36 в 1U) и использовать корпуса меньшей глубины[33][34].
NVMe over Fabrics
На протяжении последних лет ведутся разработки устройств и протоколов, позволяющих использовать накопители NVMe не только локально, в пределах одного сервера, но и строить сети хранения данных с использованием преимуществ NVMe. Подключение систем на базе накопителей NVMe к традиционным сетям хранения данных приводит к потере основного преимущества NVMe в виде сниженных за счёт отказа от SCSI задержек, так как в Fibre Channel и iSCSI предусмотрена инкапсуляция только команд SCSI.
Работы по устранению этого недостатка ведутся в двух направлениях:
- Сохранение шины PCI Express в качестве транспорта и вынос её за пределы одиночного сервера. Компании Microsemi и Broadcom (подразделение PLX) разрабатывают коммутаторы PCI Express. Существуют прототипы готовых коммутаторов с внешними портами, обеспечивающих подключение нескольких хостов и устройств PCI Express.
- Собственно NVMe over Fabrics — добавление в Fibre Channel и протоколы передачи данных блочного уровня, использующие RDMA, поддержки команд NVMe вместо SCSI. При этом обеспечивается уровень дополнительных задержек не более 10 мкс[35]. Первая версия официальной спецификации NVMe over Fabrics была опубликована 9 июня 2016 года[36].
Поддержка операционными системами
Windows
Работа над первой версией драйвера Microsoft для Windows велась сформированной по инициативе «OpenFabrics Alliance» рабочей группой «NVMe Windows Working Group» и была завершена в 2012 году[37].
Компания Microsoft интегрировала драйвер NVMe в Windows 8.1 и Windows Server 2012 R2[38]. Драйвер Microsoft для Windows 7 и Windows Server 2008 R2 был выпущен в виде обновлений[39]. Samsung предлагает собственный драйвер NVMe, который обеспечивает более высокую производительность[40]. Windows 10 поддерживает Host Memory Buffer с максимальным размером 64 МБ[41].
Linux
Первоначальная разработка драйвера для Linux велась компанией Intel. Драйвер был включён в ветку 3.3 ядра Linux 19 марта 2012 года[42].
В процессе разработки драйвера NVMe были выявлены недостатки архитектуры блочного ввода-вывода в ядре Linux, затруднявшие масштабирование производительности свыше 1 миллиона IOPS на устройство[43]. При участии инженеров Fusion-io был разработан масштабируемый слой блочного ввода-вывода для высокопроизводительных твердотельных накопителей, известный как blk-multiqueue или blk-mq, и добавлен в ядро версии 3.13 19 января 2014 года[44]. Другое направление в области оптимизации блочного-ввода вывода относится к уменьшению задержек, связанных с обработкой прерываний[45].
Linux поддерживает Host Memory Buffer (HMB)[46] начиная с версии 4.13.1[47] с максимальным размером 128 MB по умолчанию[48].
macOS
В macOS драйвер NVMe содержится в составе системы начиная с версии 10.13, вышедшей 25 сентября 2017 года.
ОС семейства BSD
Разработка драйвера NVMe для 9-й ветки FreeBSD велась при поддержке Intel[49]. Начиная с FreeBSD версии 10.2 драйверы nvd(4) и nvme(4) включены в конфигурацию ядра по умолчанию[50].
Драйвер NVMe для DragonFly был написан с нуля Мэттом Диллоном[51]. Первый официальный релиз с поддержкой NVMe — 4.6[52].
Разработка NVMe-драйвера для OpenBSD была начата в апреле 2014 года разработчиком, ранее развивавшим драйверы USB 2.0 и AHCI[53]. Первый релиз драйвера появился в OpenBSD 6.0[54].
Поддержка NVMe в NetBSD появилась в выпуске 8.0[54].
Solaris
Solaris получила поддержку NVMe с версии Oracle Solaris 11.2[55].
Haiku
Полная поддержка NVMe доступна в Haiku с ревизии 54102[56].
QEMU
Для отладки драйверов и другого ПО в QEMU начиная с версии 1.6 появилась эмуляция NVMe-устройств (август 2013 года)[57].
UEFI
Драйвер NVMe для загрузочного окружения UEFI доступен на SourceForge (проект edk2)[58].
Примечания
- ↑ Пространство имён NVMe (англ. NVMe namespace) — область накопителя NVMe, отформатированная для блочного доступа.
- ↑ Первый вариант Samsung SM951 был выпущен в том же форм-факторе, но поддерживал SATA Express.
- ↑ Разъём SFF-8643, он же Mini-SAS HD, обычно применяется в кабелях SAS, но кабели NVMe и кабели SAS с такими разъёмами не являются взаимозаменяемыми.
- ↑ Накопители форм-фактора M.2 могут использовать как AHCI, так и NVMe
- ↑ JBOF (Just a bundle of flash) — шасси с твердотельными накопителями и коммутаторами PCIe, часть портов которых выведена наружу.
- ↑ Micheloni, Marelli, Eshghi, 2012, с. 43.
- ↑ 2,0 2,1 2,2 2,3 Jonmichael Hands, Peter Onufryk. NVM Express Infrastructure - Exploring Data Center PCIe Topologies (англ.) (PDF). Intel (29 января 2015). Дата обращения: 10 февраля 2016. Архивировано 1 июля 2016 года.
- ↑ Intel Solid-State Drive DC P3600 Series (англ.) (PDF) 18, 20–22. Intel (20 марта 2015). Дата обращения: 10 февраля 2016. Архивировано 2 апреля 2015 года.
- ↑ 4,0 4,1 Dave Landsman. AHCI and NVMe as Interfaces for SATA Express Devices — Overview (англ.) (PDF) (недоступная ссылка). SanDisk. Дата обращения: 10 февраля 2016. Архивировано 5 октября 2013 года.
- ↑ Paul Wassenberg. SATA Express: PCIe Client Storage (англ.) (PDF) (недоступная ссылка). SATA-IO (25 июня 2013). Дата обращения: 10 февраля 2016. Архивировано 4 октября 2013 года.
- ↑ Zsolt Kerekes. SSD Market History — Charting the Rise of the Solid State Disk Market (англ.). StorageSearch.com. Дата обращения: 11 февраля 2016. Архивировано 25 мая 2017 года.
- ↑ Amber Huffman. NVMHCI: The Optimized Interface for Caches and SSDs (англ.) (PDF). Flash Memory Summit (2008). Дата обращения: 12 февраля 2016. Архивировано 4 марта 2016 года.
- ↑ A Comparison of NVMe and AHCI (англ.) (PDF) (недоступная ссылка). SATA-IO (31 июля 2012). Дата обращения: 11 февраля 2016. Архивировано 12 февраля 2019 года.
- ↑ Amber Huffman. Extending the NVMHCI Standard to Enterprise (англ.) (PDF). Flash Memory Summit (2009). Дата обращения: 20 февраля 2017. Архивировано 17 апреля 2016 года.
- ↑ NVM Express Explained (англ.) (PDF). NVM Express, Inc. Дата обращения: 10 февраля 2016. Архивировано 4 марта 2016 года.
- ↑ Dave Minturn. NVM Express Over Fabrics (англ.) (PDF). OFADevWorkshop (2015). Дата обращения: 11 февраля 2016. Архивировано 22 апреля 2016 года.
- ↑ Speeding up Flash... in a flash (англ.) (недоступная ссылка). The Inquirer (13 октября 2007). Дата обращения: 12 февраля 2016. Архивировано 18 сентября 2009 года.
- ↑ Amber Huffman. Non-Volatile Memory Host Controller Interface (NVMHCI) 1.0 (англ.) (PDF). Intel Corporation. NVM Express, Inc. (14 апреля 2008). Дата обращения: 20 февраля 2017. Архивировано 5 июня 2015 года.
- ↑ 14,0 14,1 Peter Onufryk. What’s New in NVMe 1.1 and Future Directions (англ.) (PDF). Flash Memory Summit (2013). Дата обращения: 12 февраля 2016. Архивировано 22 февраля 2016 года.
- ↑ New Promoter Group Formed to Advance NVM Express (англ.) (PDF), NVM Express, Inc. (1 June 2011). Архивировано 4 марта 2016 года. Дата обращения 12 февраля 2016.
- ↑ Amber Huffman. NVM Express Revision 1.1 (англ.) (PDF). NVM Express, Inc. (11 октября 2012). Дата обращения: 12 февраля 2016. Архивировано 6 июля 2017 года.
- ↑ NVM Express, Inc. NVM Express Revision 1.1b (англ.) (PDF) (2 июля 2014). Дата обращения: 15 февраля 2016. Архивировано 1 июля 2016 года.
- ↑ NVM Express, Inc. NVM Express Revision 1.2 (англ.) (PDF) (3 ноября 2014). Дата обращения: 15 февраля 2016. Архивировано 29 июня 2016 года.
- ↑ NVM Express, Inc. NVM Express Revision 1.2a (англ.) (PDF) (23 октября 2015). Дата обращения: 12 февраля 2016. Архивировано 13 апреля 2016 года.
- ↑ NVM Express, Inc. NVM Express Revision 1.3c (англ.) (PDF) (24 мая 2018). Дата обращения: 25 июня 2018. Архивировано 25 июня 2018 года.
- ↑ NVM Express, Inc. NVM Express Revision 2.0 (англ.) (PDF). NVM Express (13 мая 2021). Дата обращения: 8 августа 2021. Архивировано 20 июля 2021 года.
- ↑ NVM Express, Inc. NVM Express Revision 2.0a (англ.) (PDF). NVM Express (23 июля 2021). Дата обращения: 8 августа 2021. Архивировано 8 августа 2021 года.
- ↑ NVM Express, Inc. NVM Express Revision 2.0b (англ.). NVM Express (6 января 2022). Дата обращения: 9 февраля 2022. Архивировано 20 января 2022 года.
- ↑ IDT releases two NVMe PCI-Express SSD controllers (англ.) (недоступная ссылка). The Inquirer (21 августа 2012). Дата обращения: 12 февраля 2016. Архивировано 24 августа 2012 года.
- ↑ IDT Shows Off The First NVMe PCIe SSD Processor and Reference Design - FMS 2012 Update (англ.). The SSD Review (24 августа 2012). Дата обращения: 12 февраля 2016. Архивировано 1 января 2016 года.
- ↑ Samsung Announces Industry’s First 2.5-inch NVMe SSD | StorageReview.com - Storage Reviews (англ.) (недоступная ссылка). StorageReview.com (18 июля 2013). Дата обращения: 12 февраля 2016. Архивировано 10 января 2014 года.
- ↑ Scot Strong. Intel Adds PCIe Solutions To Its Data Center Family Of SSDs (англ.). The SSD Review (3 июня 2014). Дата обращения: 12 февраля 2016. Архивировано 23 декабря 2015 года.
- ↑ Kristian Vättö. Samsung SM951-NVMe (256GB) PCIe SSD Review (англ.). AnandTech (25 июня 2015). Дата обращения: 26 августа 2016. Архивировано 28 августа 2016 года.
- ↑ Les Tokar. iPhone 6S Uses NVMe Storage – Performance Determined By Capacity (англ.). The SSD Review (октябрь 2015). Дата обращения: 12 февраля 2016. Архивировано 7 ноября 2015 года.
- ↑ Kevin OBrien. Dell PowerEdge R720 12G Review (англ.). Storage Review (5 февраля 2013). Дата обращения: 15 февраля 2016. Архивировано 11 февраля 2016 года.
- ↑ Patrick Kennedy. The Intel Ruler SSD: Already Moving Markets (англ.). Serverthehome (9 августа 2017). Дата обращения: 25 июня 2018. Архивировано 25 июня 2018 года.
- ↑ Supermicro Launches 1U Ruler NVMe Server (англ.). StorageReview (3 марта 2018). Дата обращения: 25 июня 2018. Архивировано 25 июня 2018 года.
- ↑ Cliff Robinson. Supermicro 36x NGSFF SSD server offers 576TB of NVMe Storage in 1U (англ.). StorageReview (11 января 2018). Дата обращения: 25 июня 2018. Архивировано 25 июня 2018 года.
- ↑ David Wang. Next Generation Small Form Factor (NGSFF) SSD Proposal (англ.). Flash Memory Summit. Дата обращения: 25 июня 2018. Архивировано 25 июня 2018 года.
- ↑ Andy Herron. NVM Express Moves Into The Future (англ.) (pdf). NVM Express, Inc. (2016). Дата обращения: 11 августа 2016. Архивировано 22 августа 2016 года.
- ↑ NVM Express over Fabrics Specification Released (англ.), NVM Express, Inc. (9 June 2016). Архивировано 18 августа 2016 года. Дата обращения 11 августа 2016.
- ↑ Kwok Kong. The latest on NVMe open source drivers for Windows and VMware (англ.) (недоступная ссылка). Storage Review (4 августа 2014). Дата обращения: 15 февраля 2016. Архивировано 4 марта 2016 года.
- ↑ Andy Herron. Advancements in Storage and File Systems in Windows 8.1 (англ.) (pdf). Storage Developer Conference (11 января 2014). Дата обращения: 15 февраля 2016. Архивировано 10 января 2014 года.
- ↑ Update to add native driver support in NVM Express in Windows 7 and Windows Server 2008 R2 (англ.). Microsoft Support (4 августа 2014). — KB2990941. Дата обращения: 15 февраля 2016. Архивировано 13 марта 2016 года.
- ↑ Обер, Михаил. Страница 3: В чем разница между AHCI и NVMe? — В: Выбираем SSD : обзор технологий на рынке и сравнительные тесты // XX hardware LUXX : журн. — 2016. — 2 января. — С. 3. — Электр. изд.
- ↑ How to enable host memory buffer in Windows10 by registry key? (недоступная ссылка). Дата обращения: 16 октября 2021. Архивировано 16 октября 2021 года.
- ↑ Keith Busch. Update to add native driver support in NVM Express in Windows 7 and Windows Server 2008 R2 (англ.) (pdf). Flash Memory Summit (12 августа 2013). Дата обращения: 15 февраля 2016. Архивировано 5 ноября 2013 года.
- ↑ Matias Bjørling; Jens Axboe; David Nellans; Philippe Bonnet. Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems (англ.) (pdf). IT University of Copenhagen (5 марта 2013). Дата обращения: 15 февраля 2016. Архивировано 2 февраля 2014 года.
- ↑ Werner Fischer. Linux Multi-Queue Block IO Queueing Mechanism (blk-mq) (англ.). Thomas-Krenn. Дата обращения: 15 февраля 2016. Архивировано 3 марта 2016 года.
- ↑ Stephen Bates. Having fun at queue depth = 1: What next generation non volatile memory (NG-NVM) means for PCIe SSDs and SSD drivers (англ.) (недоступная ссылка). PMC-Sierra (12 ноября 2015). Дата обращения: 15 февраля 2016. Архивировано 6 марта 2016 года.
- ↑ HMB in DRAM-less NVMe SSDs: Their usage and effects on performance . Дата обращения: 16 октября 2021. Архивировано 22 февраля 2022 года.
- ↑ Linux 4.13 has been released on Sun, 3 Sep 2017 . Дата обращения: 16 октября 2021. Архивировано 29 октября 2017 года.
- ↑ NVM Express device driver v4.13.1 . Дата обращения: 16 октября 2021. Архивировано 16 октября 2021 года.
- ↑ Log of /head/sys/dev/nvme (англ.). FreeBSD source tree. The FreeBSD Project. Дата обращения: 15 февраля 2016. Архивировано 29 мая 2013 года.
- ↑ FreeBSD 10.2-RELEASE Release Notes (англ.). The FreeBSD Project. Дата обращения: 15 февраля 2016. Архивировано 18 июня 2017 года.
- ↑ NVMe comes to DragonFly – DragonFly BSD Digest (англ.). Дата обращения: 8 сентября 2016. Архивировано 19 сентября 2016 года.
- ↑ DragonFly BSD 4.6 . Дата обращения: 8 сентября 2016. Архивировано 4 сентября 2016 года.
- ↑ David Gwynne. non volatile memory express controller (/sys/dev/ic/nvme.c) (англ.). BSD Cross Reference (16 апреля 2014). Дата обращения: 15 февраля 2016. Архивировано 28 апреля 2014 года.
- ↑ 54,0 54,1 NVME(4). NetBSD Kernel Interfaces Manual (недоступная ссылка). Дата обращения: 9 сентября 2016. Архивировано 17 сентября 2016 года.
- ↑ nvme(7D) (англ.). Oracle. Дата обращения: 15 февраля 2016. Архивировано 9 декабря 2015 года.
- ↑ No boot 54077 64 bit NVMe SSD (англ.). Haiku official discussion forums. Haiku Community (28 апреля 2020). Дата обращения: 28 апреля 2020.
- ↑ ChangeLog/1.6 — QEMU . Дата обращения: 8 июля 2020. Архивировано 17 июля 2020 года.
- ↑ Download EDK II from . SourceForge.net. Дата обращения: 11 января 2014. Архивировано 31 декабря 2013 года.
Литература
- Rino Micheloni, Alessia Marelli, Kam Eshghi. Inside Solid State Drives (SSDs). — Springer Science & Business Media, 2012. — 382 с. — (Springer Series in Advanced Microelectronics). — ISBN 9789400751453.
- David A. Deming. The Essential Guide to Serial ATA and SATA Express. — CRC Press, 2014. — 496 с. — (Auerbach Book). — ISBN 9781482243314.
Ссылки
- Официальный сайт NVM Express Архивная копия от 5 декабря 2019 на Wayback Machine (англ.)