Твердотельные накопители с интерфейсом NVMe получили широкое распространение в качестве сверхбыстрых, компактных устройств для хранения данных как в портативных, так и в настольных компьютерах. В этой статье мы разберём различные варианты накопителей NVMe , расскажем о разнице между PCI Express и NVMe и поговорим о совместимости различных протоколов и переходников.
NVMe (Non-Volatile Memory Express) — это протокол взаимодействия с SSD-накопителями через шину PCIe. Главная цель NVMe — максимальная производительность с минимальными задержками при доступе к данным, что делает его значительно быстрее старых протоколов. Достаточно сказать, что в старых накопителях, даже тех, которые подключались к шине PCIe, использовался протокол AHCI, который ограничен 32 командами на одну очередь; протокол NVME поддерживает до 64 тысяч очередей с возможностью выполнять до 64 тысяч команд в каждой.
До появления NVMe основным протоколом, использующимся в накопителях, был протокол SATA. В то же время ещё до появления протокола NVMe различные производители выпускали устройства, использующие шину PCIe, но не использовавшие NVMe . Примером таких устройств стали карты стандарта XQD, которые в дальнейшем эволюционировали в стандарт CFexpress Type B, основным отличием которого от карт XQD стало использование протокола NVMe.
Таким образом, NVMe — это протокол, а PCIe — шина, к которой подключаются устройства. Существуют накопители, которые подключаются к шине PCIe, но не поддерживают протокол NVMe, однако не существует устройств, поддерживающих NVMe, но не поддерживающие шину PCIe.
Существует несколько версий протокола NVMe. Все они полностью совместимы между собой в обе стороны и мало отличаются друг от друга с точки зрения специалиста в области цифровой криминилистики. Стоит отметить, однако, следующий момент.
В версии протокола NVMe 1.3 появилась поддержка так называемых «DRAM-less» накопителей, то есть, накопителей, лишённых встроенной оперативной памяти DRAM. В SSD накопителях оперативная память используется для быстрого доступа к таблице FTL (Flash Translation Layer), которая отвечает за сопоставление логических адресов с физическими адресами в микросхемах NAND. Без DRAM-кэша накопитель вынужден обращаться к NAND при каждой операции, что на несколько порядков замедляет производительность в специфических сценариях — таких, как чтение или запись большого количества мелких файлов, — и в разы увеличивает время отклика диска в прочих сценариях.
В версии протокола NVMe 1.3 введена поддержка Host Memory Buffer (HMB), который использует оперативную память компьютера, к которому подключён накопитель — но лишь в том случае, если накопитель подключён через шину PCIe (например, через разъём M.2). Если же накопитель подключён к порту USB через адаптер-переходник, то технология HMB не поддерживается, и доступ к диску становится гораздо медленнее по сравнению с аналогичным устройством, оборудованным микросхемой памяти DRAM.
Чип DRAM (TechWiser)
Практический вывод: если вы используете NVMe-накопитель, установленный во внешнем корпусе USB, в качестве целевого диска (то есть, для того, чтобы записывать на него образы данных, снятые с других устройств), постарайтесь выбрать не просто быстрый накопитель, но модель, оснащённую DRAM — даже если её «бумажные» характеристики совпадают с менее дорогими моделями без DRAM-буфера. К примеру, модели Samsung 980, Samsung 990 Evo не оборудованы DRAM-буфером, а Samsung 970 Evo, 970 Evo Plus, 980 Pro и 990 Pro — оборудованы.
Важно понимать, что среди накопителей, поддерживающих протокол NVMe, существует множество форм-факторов и нюансов установки. Рассмотрим основные типы накопителей и важные моменты, связанные с ними.
M.2 — самый популярный форм-фактор для современных NVMe SSD. Обычно используется ключ Key M, но бывают и другие ключи, о которых мы рассказали в статье о накопителях SATA. Key M предназначен для высокоскоростного подключения к шине PCIe, что даёт прямую поддержку протокола NVMe.
Обратите внимание: не все накопители в форм-факторе M.2 — NVME, и даже не все устройства M.2 — накопители. В том же форм-факторе существуют такие устройства, как платы расширения Wi-Fi и Bluetooth, модули GNSS и т.п.
Это — не SSD!
Форм-фактор U.2 — своеобразный гибрид, комбинирующий привычный 2.5″ корпус с интерфейсом PCIe (PCI Express SFF-8639). Строго говоря, в форм-факторе U.2 могут существовать и другие устройства — например, накопители SAS и даже SATA, — однако в последнее время U.2 прочто ассоциируется именно с NVMe накопителями с интерфейсом PCI Express SFF-8639.
По сравнению с M.2, накопители в формате U.2 обладают как преимуществами, так и недостатками. Очевидные недостатки — размер и сложность подключения к обычным компьютерам (требуется специальный адаптер; подключить, как правило, можно только один диск к одному слоту PCIe). В число достоинств входит возможность горячей замены таких дисков, что исключительно важно в серверных применениях. Таким образом, диски U.2 чаще всего используются именно в серверах, в которых эти диски устанавливаются в стандартные слоты.
Это — просто платы расширения, которые устанавливаются в свободный слот PCIe. Как правило, в этом форм-факторе поставляются ёмкие и/или чрезвычайно скоростные накопители. В отличие от стандарта M.2, в котором поддерживается всего 4 полосы PCIe, подобные платы существуют в исполнении PCIe x16 или x8. Их очевидное достоинство — более широкая шина и, соответственно, пропускная способность; на такие платы можно установить эффективное охлаждение, в том числе активное. Недостатки также очевидны: габариты, сложность установки, ограниченное число слотов PCIe в компьютере, чрезвычайная сложность установки во внешний адаптер.
В форм-факторе полноразмерных плат PCIe доступны как накопители, поддерживающие протокол NVMe, так и более старые, вышедшие ещё до стандартизации протокола. Отметим также, что существуют платы-переходники, позволяющие установить один или несколько (с бифуркацией PCie или в виде RAID-массива) NVMe накопителей в слот PCIe. Подобные переходники существуют и для дисков U.2.
Стандарт CFexpress — эволюция карт памяти CompactFlash. Эти карты работают через интерфейс PCIe с поддержкой протокола NVMe. Более старые карты XQD отличаются от них тем, что, работая через интерфейс PCIe, протокол NVMe не поддерживают. Подробнее о них — в нашей статье Стандарты CF.
Apple не был бы Apple, если бы не попытался изобрести свой стандарт или хотя бы сделать всё возможное, чтобы в компьютеры компании нельзя было бы установить стандартные компоненты. В плане NVMe компания использовала два безымянных формата 12+16 и 22+34. Оба формата — проприетарные интерфейсы для SSD, которые использовались в устройствах Apple в разные годы. Более старый разъём Apple 12+16 был использован в некоторых моделях MacBook Pro и iMac до 2016 года, а пришедший ему на замену разъём Apple 22+34 — соответственно, в моделях, выпущенных позднее. Для обоих форматов существуют переходники, позволяющие устанавливать накопители Apple в слоты M.2 и наоборот.
За годы существования компьютеров производители придумали множество интерфейсов, частично совместимых или совсем не совместимых между собой. Некоторые из них могли быть использованы для подключения накопителей с протоколом NVMe — и такие накопители, действительно, существуют и даже встречаются в реальной жизни — как правило, в виде OEM-вариантов, которые встраивались различными производителями в ноутбуки на старых платформах. Встретить такие накопители в свободной продаже невозможно; их можно только извлечь из компьютера или ноутбука или получить в сервисном центре производителя.
Совпадает по габаритам (но не совместим на электрическом уровне) со стандартом mSATA. Такие разъёмы использовались задолго до появления стандарта M.2 и протокола NVMe. Соответственно, NVMe SSD для такого разъёма сделать технически возможно, но бессмысленно. В то же время некоторые производители могли создать и использовать подобные накопители для использования на старых платформах. Найти какую-либо информацию о существовании подобных дисков в интернете невозможно, если не знать в точности, что искать; в силу их исключительной редкости готовых переходников и адаптеров для них в свободной продаже нет.
PCIe-накопитель для ASUS eee с контроллером Phison 3006-L, работающий по протоколу PATA
То же касается слотов M.2 с ключами Key A и Key E: они предназначены для установки таких устройств, как модули Bluetooth; подключить к ним накопитель с поддержкой протокола NVMe, вероятно, возможно, но сами такие диски, если и производились, являются исключительной экзотикой.
Наконец, нельзя не отметить тренд, набравший силу с появлением ноутбуков на платформе Apple Silicon. В модели с процессором M1 и последующих чипы NAND распаяны непосредственно на материнской плате устройства. Легко заметить, что никакого контроллера в этих чипах нет; контроллер находится непосредственно в процессоре. Тот же подход используется Apple и в компьютерах Mac Mini.
В компьютерах Mac Pro и Mac Studio используются сменные диски — но, разумеется, никакого отношения ни к существующим стандартам, ни к протоколу NVMe они не имеют, что позволяет компании назначать монопольные цены на накопители, которые приобретаются взамен изношенных или для расширения дискового пространства. (В скобках отметим, что заменить накопитель на диск большего объёма можно только в Mac Pro; в Mac Studio вышедший из строя модуль можно заменить исключительно на модуль точно такого объёма). Так, стоимость двухтерабайтного модуля проприетарного формата Apple на сайте компании — 1150 евро. Аналогичный по характеристикам Samsung 990 Pro 2TB можно приобрести за сумму порядка 160 евро.
Сами сменные модули предельно просты; в них отсутствует как DRAM-буфер, так и контроллер, что исключает возможность снятия образа данных с таких накопителей после их извлечения из оригинального компьютера.