10-06-2023
NVM Express, NVMe, NVMHCI (от англ. Non-Volatile Memory Host Controller Interface Specification) - спецификация на протоколы доступа к твердотельным накопителям (SSD), подключенным по шине PCI Express. "NVM" в названии спецификации обозначает энергонезависимую память, в качестве которой в SSD повсеместно используется флеш-память типа NAND. Логический интерфейс NVM Express был разработан с нуля, с учетом низких задержек и высокого параллелизма твердотельных накопителей с интерфейсом PCI Express, а также широкой распространенности многоядерных процессоров. NVMe позволяет повысить производительность за счет более полного использования параллелизма устройств и программного обеспечения.
Накопители, использующие NVM Express, могут представлять собой полноразмерные карты расширения PCI Express[1] либо устройства SATA Express. Спецификация M.2 (ранее известная как NGFF) для компактных накопителей также поддерживает NVM Express в качестве одного из логических интерфейсов.[2][3]
В середине-конце 2000-ых многие SSD накопители использовали компьютерные шины SATA, SAS или Fibre Channel для взаимодействия с компьютером. На массовом рынке SSD чаще всего использовали интерфейс SATA, разработанный для подключения жестких дисков форм-факторов 3,5 и 2,5 дюйма. Однако SATA часто ограничивал возможности развития SSD, в частности, максимальную скорость передачи данных.[4]
Высокопроизводительные SSD изготавливались с интерфейсом PCI Express и ранее, однако они использовали нестандартные логические интерфейсы, либо применяли многоканальные SATA/SAS контроллеры, к которым на той же плате подключалось несколько SSD-контроллеров. Путем стандартизации интерфейсов SSD можно было бы сократить количество драйверов для операционных систем, производителям SSD больше не пришлось бы отвлекать ресурсы на создание и отладку драйверов. Подобным образом принятие спецификаций USB mass storage позволило создать большое разнообразие USB-флеш-накопителей, которые смогли работать с любыми компьютерами, не требуя оригинальных драйверов для каждой модели.[5]
Первые подробности о новом стандарте доступа к энергонезависимой памяти появились на Intel Developer Forum в 2007 году, где NVMHCI был указан как интерфейс к персональному компьютеру для предлагаемого контроллера флеш-памяти с шиной ONFI.[6] В 2007 году была собрана рабочая группа для проработки NVMHCI во главе с Intel. Первая спецификация NVMHCI 1.0 была закончена в апреле 2008 года и размещена на сайте Intel.[7][8][9]
Техническая проработка NVMe началась во второй половине 2009 года.[10] Спецификации NVMe были разработаны "NVM Express Workgroup", в которую входило более 90 компаний, председателем группы был Amber Huffman из Intel. Первая версия NVMe 1.0 была издана 1 марта 2011 года,[11] версия 1.1 - 11 октября 2012 года.[12] В версии 1.1 были добавлены многопутевой ввод-вывод и возможность проведения DMA операций по множеству адресов с фрагментами произвольной длины (arbitrary-length scatter-gather I/O). Ожидается, что последующие версии стандарта улучшат управление пространствами имен.[10] Из-за изначальной фокусировки на корпоративных применениях, стандарт NVMe 1.1 получил название "Enterprise NVMHCI".[13] Обновление базовой спецификации NVMe, версия 1.0e, вышла в январе 2013 года.[14]
Первые контроллеры SSD, реализующие NVMe были выпущены Integrated Device Technology в августе 2012 года (89HF16P04AG3 и 89HF32P08AG3).[15][16] Первый твердотельный диск с NVMe, Samsung XS1715 для корпоративных применений был анонсирован в июле 2013 года, по заявлениям Samsung он обеспечивал чтение на скоростях 3 ГБайт/с.[17] В ноябре 2013 года LSI SandForce выпустила контроллер SF3700 с NVMe,[18] показавшие скорости последовательных обращений в 1,8 ГБайт/с и 80-150 тысяч IOPS на случайных обращениях при использовании физического интерфейса PCI Express 2.0 ×4.[19] На Consumer Electronics Show 2014 компания Kingston представила потребительский продукт HyperX Predator на этом контроллере.[20][21] В июне 2014 Intel представила свои первые линейки корпоративных накопителей с NVM Express: DC P3700, DC P3600, DC P3500.[22]
<ref>
; для сносок snia-windows
не указан текстТвердотельные накопители (SSD) | |||||
---|---|---|---|---|---|
Ключевая терминология | Шифрование · ECC · Flash file system · Флеш-память — SLC/MLC · Flash memory controller · Garbage collection · IOPS · MB/s · Over-provisioning · Secure erase · Команда TRIM · Wear leveling · Write amplification | ||||
Производители флеш-накопителей | Hynix · Intel · Micron · Samsung · Toshiba · Kingston | ||||
Контроллеры |
|
||||
Производители SSD | Список производителей твердотельных накопителей | ||||
Интерфейсы | SATA · SAS · FC · USB · PCIe · NVM Express | ||||
Связанные организации | INCITS · JEDEC/JC-64.8 · NVMHCI · SATA-IO · SFF Committee · SNIA · SSSI · T10/SCSI · T11/FC · T13/ATA |
NVM Express.