Ngff и nvme отличия

Обновлено: 02.07.2024

В предыдущем материале мы выяснили, чем отличаются друг от друга SATA и NVMe и какие преимущества обеспечивает переход на высокоскоростной интерфейс. Настало время разобраться в том, как, собственно, установить SSD в компьютер или ноутбук. С первого взгляда задача кажется довольно простой, но и здесь есть подводные камни. Ведь даже если на материнской плате вашего ПК имеется слот M.2, это вовсе не значит, что твердотельный накопитель окажется с ним совместим. Заинтригованы? Тогда приступим.

Подключение NVMe SSD: изучаем особенности стандарта M.2

Современные твердотельные накопители, поддерживающие интерфейс NVMe, выполняются в форм-факторе M.2, ранее известном под куда более громоздким (и «скромным») названием NGFF, что расшифровывается как «Next Generation Form Factor» («форм-фактор следующего поколения»). Стандарт пришел на смену mSATA и Mini PCI-E и изначально применялся для установки карт расширения (WiFi-адаптеров, 3G/4G-модемов, GPS-модулей) в ультрабуки и неттопы. Однако в настоящий момент слот M.2 можно отыскать практически на любой материнской плате верхнего ценового сегмента, а используется он преимущественно для подключения высокопроизводительных твердотельных накопителей.

Главной «фишкой» M.2 является его универсальность: на разъем выводятся шины PCI Express (2 или 4 линии), SATA и даже USB, что позволяет подключать широчайший спектр разнообразных устройств. Типоразмеры последних могут существенно варьироваться: от 12 до 30 мм в ширину и от 16 до 110 мм в длину. Габариты того или иного модуля указываются в его описании следующим образом:

M.2 Type WWLL или M.2 WWLL

Здесь WW — ширина, а LL — длина в миллиметрах. Так, например, твердотельный накопитель WD Black SN750 имеет приписку «M.2 2280», что означает: ширина SSD равна 22 мм, а длина — 80 мм.

Габаритные размеры твердотельных накопителей WD Black SN750 составляют 22×80 мм Габаритные размеры твердотельных накопителей WD Black SN750 составляют 22×80 мм

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

На материнских платах верхнего ценового сегмента, как правило, существует несколько отверстий под фиксирующий винт, что позволяет установить практически любой накопитель. Например, в Asus Maximus VIII Ranger можно поставить SSD длиной 42, 60, 80 или 110 мм.

Asus Maximus VIII Ranger имеет полный набор монтажных отверстий для SSD разной длины Asus Maximus VIII Ranger имеет полный набор монтажных отверстий для SSD разной длины

Системные платы попроще не могут похвастаться подобным разнообразием. На тот же Asus Z97-A можно поставить лишь два типа SSD: длиной 60 или 80 мм. А поскольку рядом расположены разъем PCI Express и коннектор для кулера, накопитель 110 мм даже не выйдет «приколхозить»: он просто не сможет встать в нужное положение.

К Asus Z97-A можно подключить только твердотельные накопители длиной 60 или 80 мм К Asus Z97-A можно подключить только твердотельные накопители длиной 60 или 80 мм

Совместимость слотов и коннекторов M.2

Однако типоразмер самого накопителя — отнюдь не единственный фактор, который следует учитывать как при покупке SSD, так и при выборе материнской платы. Также необходимо убедиться в том, что коннектор устройства и слот M.2 совпадают по ключам.

Всего существует 12 ключей, обозначаемых заглавными латинскими буквами (от A до M). Но не беспокойтесь: для подключения SSD используются только два (B и M), а также их комбинация (B+M). Различия между разными типами ключей наглядно отображены на картинке ниже.

Как нетрудно догадаться, ключи B и M физически несовместимы: вы не сможете установить твердотельный накопитель с ключом M в слот B и наоборот. Присутствуют различия и в поддерживаемых логических интерфейсах: разъемы типа B способны работать с устройствами PCI Express только в двухканальном режиме, тогда как разъемы типа M поддерживают PCI-E x4, что делает их пригодными для подключения NVMe SSD.

Звучит достаточно сложно, не так ли? Чтобы не запутаться, запомните два факта:

  1. современные материнские платы снабжены разъемом M.2 с ключом M, причем такой слот поддерживает и NVMe-, и SATA-накопители;
  2. актуальные модели SSD с логическим интерфейсом SATA, выполненные в форм-факторе M.2, имеют универсальный коннектор B+M, что позволяет подключать их и к платам с разъемом типа M, и к платам с разъемом типа B.

Рассмотрим конкретный пример. Упомянутые нами в предыдущей статье твердотельные накопители WD Blue доступны в двух форм-факторах: 2,5 дюйма (идентичны по габаритам и способу подключения винчестерам для ноутбуков) и M.2 2280.

Твердотельный накопитель WD Blue M.2 2280 с интерфейсом SATA Твердотельный накопитель WD Blue M.2 2280 с интерфейсом SATA

На приведенном выше изображении отчетливо видно, что SSD имеет коннектор с ключом B+M. Это делает его совместимым как с B-, так и с M-слотами. Поскольку твердотельный накопитель использует интерфейс SATA и не зависит от количества линий PCI Express, он будет демонстрировать одинаковую производительность в обоих случаях.

Напротив, высокопроизводительные SSD WD Black SN750 используют интерфейс NVMe и задействуют сразу четыре канала PCI Express. Вырез на контактной площадке помогает безошибочно определить, что перед нами коннектор типа M.

Твердотельный накопитель WD Black SN750 имеет типоразмер M.2 2280 и коннектор типа M Твердотельный накопитель WD Black SN750 имеет типоразмер M.2 2280 и коннектор типа M

Такое устройство совместимо только с разъемом M.2 с ключом M: установить его в слот типа B не выйдет ни при каких обстоятельствах.

Теперь вы знаете о форм-факторе M.2 все, что необходимо, и сможете безошибочно определить, совместим ли выбранный SSD с данной конкретной материнской платой. Но как же быть, если у вашего компьютера нет соответствующего слота или в нем предусмотрен разъем типа B, в который невозможно установить высокоскоростной NVMe-накопитель? Неужели придется собирать новый ПК или довольствоваться возможностями SATA SSD? Отнюдь нет! Даже если ваша машина устарела, вы все равно сможете подключить к ней такого «монстра», как WD Black SN750! О том, как это сделать, мы расскажем в следующей статье.

mb

M.2 (NGFF) – общее название форм-фактора или физического интерфейса для SSD дисков, мобильных WiFi адаптеров, 3G/4G модемов и прочих компьютерных комплектующих для миниатюрных устройств вроде планшетов, ультрабуков или неттопов.

Мы уже рассказывали о новом форм-факторе на примере M.2 SSD – с этим материалом можно ознакомиться по ссылке «M.2 или NGFF (Next Generation Form Factor) – форм-фактор следующего поколения и новый интерфейс SSD-накопителей».

Однако M.2 был разработан не только для SSD, но также для WiFi, WiGig, Bluetooth адаптеров, GPS/ГЛОНАСС модулей (GNSS), NFC модулей, других устройств и датчиков.

type

Ранее в мобильных устройствах перечисленные модули и адаптеры подключались с помощью разъема mini PCI Express и имели популярный форм-фактор Mini Card полной или половинной длины. В свою очередь, компактные SSD диски имели тот же форм-фактор Mini Card, но для интерфейса mSATA.

M.2 или Next Generation Form Factor пришел на смену mSATA и mini PCIe, объединил и расширил возможности подключения, поскольку способен работать с большим количеством логических интерфейсов (Host Interface). К тому же, разъем M.2 занимает меньше места в мобильном устройстве, а вариантов исполнения стало в несколько раз больше, в сравнении с Mini Card за счет появления нескольких типоразмеров M.2 (NGFF), в зависимости от ширины и высоты.

Что нужно знать про M.2?

  • Спецификация M.2 (NGFF) включает в себя устройства, припаиваемые к материнской плате, а также разъём M.2 на материнской плате, к которому можно подключать различные устройства. Разъем M.2 занимает на 20% меньшую площадь, чем разъем для mini PCIe устройств. В разъеме M.2 суммарно 67 контактов, которые могут быть разделены перегородками – ключами. В зависимости от типа ключа, предполагается разделение подключаемых устройств по назначению.
  • В качестве логических интерфейсов для разъёма M.2 могут выступать PCI Express, SATA, USB, Display Port, I2C, SDIO, UART и другие.
  • Размеры устройств M.2 стандартизированы и объединены в типы. Ширина M.2 устройств может быть 12, 16, 22 или 30 миллиметров. Длина – 16, 26, 30, 38, 42, 60, 80 или 110 миллиметров. Например, M.2 SSD шириной 22 мм и длиной 80 мм обозначается «Type2280». (наглядно показано на схематичном изображении M.2 устройств по типоразмеру).
  • Толщина устройств M.2, точнее выступающие компоненты сверху и снизу, также стандартизирована. Устройства могут быть, как односторонней, так и двусторонней компоновки – элементы могут располагаться на одной стороне печатной платы или на двух.

Номенклатурное обозначение M.2 (NGFF) устройств

Выступающие компоненты модуля М.2, мм
Сверху (максимум)Снизу (максимум)
S11.20
S21.350
S31.50
D11.21.35
D21.351.35
D31.51.35
D41.50.7
D51.51.5

* - Если указана вторая буква ключа, значит модуль универсальный, совместим с двумя типами ключей в разъеме M.2.

Например, SSD с обозначением 2280-D2-B-M можно расшифровать так: ширина – 22 мм, длина 80 мм, двусторонняя компоновка, элементы выступают на 1.35 мм сверху и снизу, подходит для установки в разъем с ключами B или M.

Вообще, производители не часто указывают номенклатурное обозначение M.2 модулей. Но, по факту, обозначение можно составить самостоятельно по визуальным признакам, а также путём нехитрых измерений устройства.

Какие M.2 (NGFF) устройства используют разъем M.2 c ключами A, E, B, M?

Ключ разъема M.2 Типоразмер модуля M.2 Тип устройства M.2
A 1630, 2230, 3030 WiFi, Bluetooth, NFC и/или WiGig
E 1630, 2230, 3030 WiFi, Bluetooth, NFC и/или GPS/ГЛОНАСС (GNSS)
B 3042, 2230, 2242, 2260, 2280, 22110 3G/LTE модули + GPS/ГЛОНАСС (GNSS) или SSD
M 2242, 2260, 2280, 22110 SSD с логическим интерфейсом PCIe или SATA

Что такое Socket 1, Socket 2, Socket 3 в применении к M.2 (NGFF) устройствам?

Действительно встречается понятие сокет для M.2 устройств. Принцип деления наглядно показан в следующей таблице:

Socket 1

Socket 2

Socket 2

Socket 3

По данным в таблице видно, что любой SSD с универсальным ключом B+M можно установить в слот M.2 M Key. В свою очередь SSD с ключом M установить в слот B невозможно физически, даже если логический интерфейс устройств совпадает.


Именно по этой причине производители материнских плат для установки SSD делают разъем M.2 с ключом M и двумя логическими интерфейсами на выбор - PCIe или SATA. Но бывают исключения, когда разъем M.2 на плате подключен только к шине PCIe или только к SATA контроллеру - с этим нужно быть внимательнее при выборе подходящего M.2 SSD.

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

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

реклама

Дешевая 3070 Gigabyte Gaming - успей пока не началось

Маркетинговая теория: 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).

450x124 28 KB

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

реклама

Иначе говоря, перед нами высококлассное решение, а, зная цели и задачи обычных потребительских ПК, а также характер возникающих в них нагрузок, мы можем понять, что 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 отсутствует.

И есть небольшое количество моделей, где поддержка была внедрена много позднее их выпуска. Например, мне известно только две таких материнских платы: ASUS Sabertooth 990FX R2.0 (которой владею я сам), где в выпущенной два месяца назад версии BIOS 2901 даже появились дополнительные настройки NVMe, и ASUS A88X-PRO (если не ошибаюсь, начиная с версии BIOS 1803, датированной мартом прошлого года). Других подтвержденных случаев удачной загрузки с NVMe PCIe SSD на платформе AMD мне пока неизвестно, причём проблема усугубляется ещё необходимостью наличия OpROM. Дефицит отзывов во многом объясняется тем, что подобные SSD приобретают чаще с прицелом на эксплуатацию в Intel-системах, всё же Socket AM3+ предлагает только PCI-E 2.0, а у меня самого такие материнские платы редко бывают на тестировании - устаревшая платформа.

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

400x520 15 KB

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

реклама

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


История накопителей представляет собой гонку между носителями и вычислительными мощностями. На пути к компьютерной нирване встаёт узкое место – хранение миллиардов нулей и единиц. Самый новый из игроков на этом поприще – энергонезависимая память Non-Volatile Memory Express (NVMe), представляющая собой что-то вроде гибрида нескольких предыдущих технических решений.

В первом поколении домашних компьютеров в качестве накопителей использовались флоппи-диски и компакт-кассеты, но с ростом возможностей компьютеров постепенно росла и важность накопителей. К 1990-м большое распространение получили жёсткие диски, позволявшие хранить сначала мегабайты, а потом и гигабайты информации. В результате выросла необходимость в быстрой системе связи между накопителем и остальной системой. В то время чаще всего использовался интерфейс ATA (IDE) в режиме программного ввода-вывода Programmed Input-Output (PIO).

В результате технологии перешли на прямой доступ к памяти (DMA), интерфейс UDMA, также известный, как Ultra ATA и Parallel ATA, и основанные на этой системе интерфейсы SCSI в компьютерах Apple и большинстве серверов. В итоге Parallel ATA превратился в Serial ATA (SATA), а Parallel SCSI — в Serial Attached SCSI (SAS). SATA в основном использовался в ноутбуках и настольных компьютерах до прихода NVMe и твердотельных накопителей.

Все эти интерфейсы разрабатывались с тем, чтобы не отставать от накопителей. В этом смысле, NVMe выбивается из общей картины своей интеграцией в систему. Также NVMe отличается тем, что не привязан к какому-то определённому интерфейсу или коннектору, что может сбить с толку. Кто может разделить M.2 и U.2, не говоря уже о том, какой протокол использует интерфейс, будь то SATA или NVMe?

Давайте-ка разбираться в чудесном и странном мире NVMe.

Обманчивый внешний вид



Элементы SATA Express, функционально схожие с M.2.

Попросите любого человека показать вам слот для NVMe на материнской плате, и скорее всего вам покажут изображение слота M.2, поскольку он стал наиболее популярным для твердотельных накопителей (ТТН) в потребительской электронике. При этом даже слот M.2 со вставленным в него твердотельным накопителем может не относиться к NVMe, поскольку этот интерфейс использует и SATA.

На плате рядом со слотом M.2 часто указывают, какую технологию он поддерживает. Также хорошей идеей будет почитать инструкцию к материнке. Причина путаницы в том, что изначально для ТТН существовал стандарт Mini-SATA (mSATA), использовавший форм-фактор PCIe Mini Card, который потом развился до форм-фактора М.2 и интерфейса U.2. Последний больше похож на интерфейсы SATA и SAS, и комбинирует два канала, SATA и PCIe, в один интерфейс для подключения ТТН.

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



Интерфейс М.2 с ключами B и M

Тем временем сам по себе форм-фактор М.2 довольно разносторонний – или запутанный, это кому как. Физически он может быть шириной в 12, 16, 22 и 30 мм, и поддерживать длины от 16 до 110 мм. На краю разъёма наносится последовательность меток, обозначающих функциональность, и совпадающих с метками на самом слоте. Чаще всего это метки В и М из списка ключевых меток, в котором, например, есть следующее:

A: 2x PCIe x1, USB 2.0, I2C и DP x4.
B: PCIe x2, SATA, USB 2.0/3.0, аудио, и т.д.
E: 2x PCIe x1, USB 2.0, I2C, etc.
M: PCIe x4, SATA и SMBus.

Получается, что физических размеров карты расширения М.2 бывает аж 32 штуки, и это ещё до того, как мы учтём 12 возможных вариантов модификаций из списка. К счастью, в основной массе промышленность, судя по всему, пришла к общему стандарту в 22 мм ширины для карт накопителей, варианты длин которых ограничены. В итоге ТТН стандарта NVMe имеют маркировку типа «2242», что означает 22 мм ширины и 42 мм длины. Карточки ТТН могут быть отмечены буквами В, М или обеими.

Важно отметить, что сегодня слоты М.2 активно используются в качестве расширения PCIe в стеснённых условиях. Поэтому карточки WiFi часто имеют форм-фактор М.2.

Определяя NVMe

Всё это приводит нас к основному определению NVMe: это стандартный интерфейс для накопителей, напрямую подсоединяемых к PCIe. От SATA он отличается тем, что первый преобразует протокол PCIe в протокол SATA, который затем приходится интерпретировать специальному чипу на накопителе перед тем, как можно будет выполнять какие-либо команды, связанные с хранением данных.

Вместо этого NVMe определяет интерфейс, который напрямую можно использовать в любой ОС, имеющей NVMe-драйвер. Команды отправляются на NVMe-накопитель, выполняющий их для чтения или записи или проводящий какие-то операции обслуживания типа TRIM. Поскольку можно положиться на то, что любое устройство, представившееся как NVMe-устройство, представляет собой ТТН (NAND Flash, 3D XPoint, и т.д.), протокол NVMe разработан в расчёте на низкие задержки и большую скорость передачи пакетов.



Optane SSD от Intel типа 3D XPoint работает ровно вне зависимости от нагрузок

Недавно популярность обрела такая особенность NVMe, как местный буфер памяти, Host Memory Buffer (HMB). Это попытка избавиться от необходимости буферизовать данные в DRAM используя ТТН типа NAND Flash. Особенность использует часть памяти системы в качестве буфера, относительно мало теряя при этом в быстродействии, при этом буфер в основном используется для кэширования таблицы адресов.

В долгосрочной перспективе, с учётом темпов развития накопителей, такие технологии, как 3D XPoint делают ненужными даже подобные хитрости. Скорость доступа к той же 3D XPoint ближе к показателям DRAM, чем к NAND Flash. Поскольку ТТН типа 3D XPoint не нуждаются в DRAM-буфере, увеличение их популярности может привести к тому, что NVMe будут оптимизировать уже под них.

Взламывая NVMe



Память на магнитных сердечниках 64×64 (4 кБ) [пользователь closegl утверждает, что тут ошибка, и имеется в виду 32×32, 1 кБ ]

Стоит задуматься, а что ещё можно сделать с NVMe, кроме как купить ТТН и засунуть его в слот M.2 B или М. Тут нужно решить, что вам больше интересно – взлом накопителя (пусть это будет лишь некая разновидность DRAM or SRAM), или же самого слота М.2.

Полноразмерные слоты PCIe имеют большой размер, а карты расширения предоставляют много места для таких громоздких компонентов, как BGA-чипы и гигантские системы охлаждения. Карты расширения М.2 наоборот, предназначены для мелких и компактных решений, способных уместиться в ноутбуке. Можно, к примеру, скомбинировать FPGA с нужными блоками железа SerDes и PCIe в форм-факторе M.2, и создать компактную карту расширения для ноутбуков и встраиваемых устройств.

Недавние хаки предлагают добавить поддержку NVMe к Raspberry Pi, заменить ТТН в Pinebook Pro WiFi-картой, и считывать NVMe Flash накопитель от айфона при помощи ZIF-адаптера для PCIe.

При этом никто не запрещает попытаться скомбинировать что-нибудь очень странное – к примеру, NVMe-накопитель на магнитных сердечниках.

Заключение

Оглядываясь назад на десятилетия развития вычислительной техники, видно, что различие между памятью и накопителями существовало всегда. Причём памятью всегда служили энергозависимые устройства типа SRAM или DRAM. В последнее время это различие становится всё менее значимым. NAND Flash с NVMe-интерфейсом уже обещают нам потенциально очень низкие задержки и скорость в несколько гигабайт в секунду (особенно с использованием PCIe 4.0) но и это не конец истории.

Самая горячая новинка – это DIMM «постоянной памяти», размещаемые в обычных слотах памяти. Они используют твердотельную технологию Intel Optane, позволяющую увеличивать объём памяти в системе до 512 Гб на модуль. Эти модули, естественно, пока что работают только в серверах Intel. Используются они для буферизации баз данных, большие объёмы которых не дают использовать в качестве буфера обычную память (например, терабайты DDR4 DIMM).

Если у нас будет очень быстрый и энергонезависимый накопитель, соединённый с контроллером памяти процессора напрямую, мы сможем уменьшить задержки до абсолютных минимумов. И хотя 3D XPoint (как разновидность памяти с изменением фазового состояния) пока ещё не такая быстрая, как DDR SDRAM, она демонстрирует нам, что может появиться после NVMe, когда разница между «памятью системы» и «хранилищем данных» совсем исчезнет или изменится до неузнаваемости.

SATA M.2 накопители против PCI-E NVME — стоит ли переплачивать при покупке в домашний ПК

Без SSD-накопителей сложно представить современный компьютер. Они быстры и бесшумны, да и цена на них «не кусается» как несколько лет назад. На выбор представлена масса моделей, различающихся объемом, ресурсом и скоростью. Если с объемом и ресурсом ситуация однозначная — чем больше, тем лучше, то со скоростью устройства все далеко не так просто.

Принцип работы интерфейса

Накопители SATA M.2 и PCI-E NVME хоть и похожи внешне, но имеют важное различие в типе используемой шины. SATA M.2 использует для подключения шину SATA, которую также задействуют HDD-накопители.

PCI-E-накопители более разнообразны. Они могут различаться по количеству линий передачи данных и версии интерфейса. Под нужды накопителя используются напрямую линии PCI-E, что позволяет обойти ограничение пропускной способности шины SATA, которое составляет 600 МБ/с. Основная масса современных PCI-E-накопителей имеет ключ M разъема подключения, SATA в свою очередь универсальный B+M. Версий с единственным B ключом уже не встретить, беспокоиться о несовместимости не придется.


NVME (энергонезависимая память) в аббревиатуре устройства, обозначает наличие спецификации на протоколы доступа к SSD-накопителям, которые подключаются по шине PCI Express. Такие устройства оптимизированы для работы с современными многоядерными процессорами и обеспечивают более низкие задержки обработки запросов. Можно найти единичные экземпляры без этого стандарта, но они очень редко встречаются в продаже.

Характеристики записи/чтения в повседневных задачах

Максимальная пропускная способность шины SATA III составляет 600 МБ/с, что обеспечивает накопителям SATA M.2 показатели в среднем

560 МБ/с для чтения и

530 МБ/с для записи.

У NVME накопителей в свою очередь эти показатели могут достигать

3300 МБ/с при версии PCI-E 3.0x4.

В случае последней версии PCI-E 4.0х4 параметры чтения/записи могут достигать вовсе 5000 МБ/с и 4400 МБ/с. Ниже представлены результаты тестирования обоих типов накопителей.


Разница видна невооруженным глазом. Казалось бы, в соответствии с результатами тестов, приложения должны загружаться намного быстрее, но это не так. Основная масса выполняемых операций проходит с небольшими файлами, в том числе и загрузка ОС. И тут на первое место выходит не последовательная скорость чтения файлов, а скорость работы со случайными блоками, так как на них приходится большая часть дисковой активности накопителя. А с ней уже не наблюдается тотальное преимущество NVME перед SATA.

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

5 секунд. Но общая масса проектов загружается с минимальной разницей в скорости. Так, где же можно увидеть эти заоблачные скорости от NVME-накопителя? Ответ — лишь в определенных сценариях. Например, при копировании крупного файла или при работе с видеоредакторами и прочими специализированными программами, использующими крупные массивы данных.

Нагрев и энергопотребление

Критический нагрев несвойственен накопителям типа SATA M.2. Для того чтобы перегреть такой SSD должны сложиться множество факторов: полное отсутствие обдува, продолжительные нагрузки, неудачное расположение и высокие температуры в помещении. Поэтому они не требуют дополнительных радиаторов для охлаждения.

В случае с NVME ситуация не такая позитивная. Компоненты обладают заметным тепловыделением. Особенно ярко это заметно при большой нагрузке на накопитель. Сочетание неудачного расположения разъема на плате в упор к горячей видеокарте, также может добавить поводов для беспокойства. Косвенно на этот нюанс намекают и сами производители. В продаже не встретить SATA-накопители с комплектным радиатором, в то время как NVME часто идут с этим девайсом.

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

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

Да, говорить о полной замене HDD в качестве хранилища всего, пока рано. Но тенденция к этому есть, медленно и верно идет движение в эту сторону. За счет снижения стоимости памяти, используемой в производстве, мы можем приобрести по доступной цене емкий накопитель, что представить в недалеком прошлом было сложно. NVME-накопители превосходят SATA по производительности в несколько раз, и за эти скорости приходится платить, используем мы их или нет. Причем порой за цену NVME можно купить SATA-устройство с емкостью в два раза больше. Но и тут можно найти свои исключения из правил. Иногда попадаются устройства NVME дешевле SATA, при аналогичной емкости.

Это обусловлено используемым типом памяти и износоустойчивостью конкретных моделей.

Поддержка материнскими платами в 2020 году

В современных реалиях, даже у самых бюджетных плат имеется минимум один комбинированный разъем под оба интерфейса. Беспокоиться о том, что SATA-интерфейс не будет поддерживаться, нет оснований. Да, на рынке уже появляются устройства следующего поколения NVME, с поддержкой PCI-E 4.0. Но, как правило, в типичной компоновке PCI-E 4.0 занимает верхний слот, а нижний отдается под нужды SATA/PCI-E 3.0.

Рассмотрим несколько вариантов реализации слотов на примере новейших чипсетов AMD и Intel — B550 и Z490, соответственно. Asrock B550 Taichi имеет 2 разъема M.2, где верхний поддерживает PCI-E 4.0x4 или PCI-E 3.0x4, а нижний SATA или PCI-E 3.0x4.


В случае с Asus Tuf Z490-Plus Gaming мы видим и вовсе два слота поддерживающих SATA или PCI-E 3.0x4. В зависимости от модели могут возникать некоторые «подводные камни» при установке SSD, в виде отключения портов и т.п. Подробнее эти особенности будут рассмотрены в ближайших темах.


Говоря о дальнейшей перспективе, интерфейс PCI-E выглядит более выигрышным, нежели SATA. Пока будущая модернизация интерфейса SATA туманна, в то время как PCI-E все больше наращивает мощности в плане скорости. Но представить отказ производителей в поддержке SATA M.2, в ближайшие годы невозможно.

Характеристика SATA M.2 PCI-E NVME
Скорость загрузки ОС, игр и программ (без специализированных задач) Немного ниже (разница в пределах погрешности) Чуть выше (разница в пределах погрешности)
Нагрев и энергопотребление Ниже Выше
Стоимость устройства с равноценным объемом (в общей массе) Ниже Выше
Поддержка материнскими платами в 2020 году Хорошая Отличная (более перспективный интерфейс в будущем)

Подведем итоги. Несомненно, будущее за NVME накопителями — современный интерфейс и выдающиеся скорости, но эти плюсы нивелируются в текущих реалиях. Операционная система, стандартные программы и игры, банально пока не могут использовать весь потенциал такого типа накопителей.

Огромное преимущество PCI-E-устройства в синтетических тестах скорости над SATA, на практике, превращается в перевес в пару секунд, что можно списать на погрешность. И резонно возникает вопрос, стоит ли платить больше? Очевидно, что нет. Мы можем купить более дешевый и емкий накопитель SATA, который удовлетворит все наши потребности. Рассматривать же покупку NVME-накопителя в домашний ПК стоит в нескольких случаях: у вас уже занят слот с разъемом SATA, разница в цене аналогичных объемов минимальна, вы планируете в будущем использовать ПК для работы. Во всех остальных ситуациях присмотритесь к накопителям с SATA-интерфейсом нужного вам объема.

Читайте также: