Nvme pcie gen3 x4 что это

Обновлено: 28.06.2024

Если спросить, какой интерфейс следует использовать для твердотельного накопителя с поддержкой протокола NVMe, то любой человек (вообще знающий, что такое NVMe) ответит: конечно PCIe 3.0 x4! Правда, с обоснованием у него, скорее всего, возникнут сложности. В лучшем случае получим ответ, что такие накопители поддерживают PCIe 3.0 x4, а пропускная способность интерфейса имеет значение. Иметь-то имеет, однако все разговоры об этом начались только тогда, когда некоторым накопителям на некоторых операциях стало тесно в рамках «обычного» SATA. Но ведь между его 600 МБ/с и (столь же теоретическими) 4 ГБ/с интерфейса PCIe 3.0 x4 — просто пропасть, причем заполненная массой вариантов! А вдруг и одной линии PCIe 3.0 хватит, поскольку это уже в полтора раза больше SATA600? Масла в огонь подливают производители контроллеров, грозящиеся в бюджетной продукции перейти на PCIe 3.0 x2, а также тот факт, что у многих пользователей и такого-то нет. Точнее, теоретически есть, но высвободить их можно, лишь переконфигурировав систему или даже что-то в ней поменяв, чего делать не хочется. А вот купить топовый твердотельный накопитель — хочется, но есть опасения, что пользы от этого не будет совсем никакой (даже морального удовлетворения от результатов тестовых утилит).

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

PCI Express: существующие стандарты и их пропускная способность

Методика тестирования

Провести тесты с разными версиями стандарта PCIe несложно: практически все контроллеры позволяют использовать не только поддерживаемый ими, но и все более ранние. Вот с количеством линий — сложнее: нам хотелось непосредственно протестировать и варианты с одной-двумя линиями PCIe. Используемая нами обычно плата Asus H97-Pro Gamer на чипсете Intel H97 полного набора не поддерживает, но кроме «процессорного» слота х16 (который обычно и используется) на ней есть еще один, работающий в режимах PCIe 2.0 х2 или х4. Вот этой тройкой мы и воспользовались, добавив к ней еще и режим PCIe 2.0 «процессорного» слота, дабы оценить, есть ли разница. Все-таки в этом случае между процессором и SSD посторонних «посредников» нет, а вот при работе с «чипсетным» слотом — есть: собственно чипсет, фактически соединяющийся с процессором тем же PCIe 2.0 x4. Можно было добавить еще несколько режимов работы, но основную часть исследования мы все равно собирались провести на другой системе.

Дело в том, что мы решили воспользоваться случаем и заодно проверить одну «городскую легенду», а именно поверие о полезности использования топовых процессоров для тестирования накопителей. Вот и взяли восьмиядерный Core i7-5960X — родственника обычно применяемого в тестах Core i3-4170 (это Haswell и Haswell-E), но у которого ядер в четыре раза больше. Кроме того, обнаруженная в закромах плата Asus Sabertooth X99 нам сегодня полезна наличием слота PCIe x4, на деле способного работать как х1 или х2. В этой системе мы протестировали три варианта х4 (PCIe 1.0/2.0/3.0) от процессора и чипсетные PCIe 1.0 х1, PCIe 1.0 х2, PCIe 2.0 х1 и PCIe 2.0 х2 (во всех случаях чипсетные конфигурации отмечены на диаграммах значком (c)). Есть ли смысл сейчас обращаться к первой версии PCIe, с учетом того, что вряд ли найдется хоть одна плата с поддержкой только этой версии стандарта, способная загрузиться с NVMe-устройства? С практической точки зрения — нет, а вот для проверки априори предполагаемого соотношения PCIe 1.1 х4 = PCIe 2.0 х2 и подобных оно нам пригодится. Если проверка покажет, что масштабируемость шины соответствует теории, значит, и неважно, что нам не удалось пока получить практически значимые способы подключения PCIe 3.0 x1/х2: первый будет идентичен как раз PCIe 1.1 х4 или PCIe 2.0 х2, а второй — PCIe 2.0 х4. А они у нас есть.

В плане ПО мы ограничились только Anvil’s Storage Utilities 1.1.0: разнообразные низкоуровневые характеристики накопителей она измеряет неплохо, а ничего другого нам и не нужно. Даже наоборот: любое влияние других компонентов системы является крайне нежелательным, так что низкоуровневая синтетика для наших целей безальтернативна.


В качестве «рабочего тела» мы использовали Patriot Hellfire емкостью 240 ГБ. Как было установлено при его тестировании, это не рекордсмен по производительности, но его скоростные характеристики вполне соответствуют результатам лучших SSD того же класса и той же емкости. Да и более медленные устройства на рынке уже есть, причем их будет становиться все больше. В принципе, можно будет повторить тесты и с чем-нибудь более быстрым, однако, как нам кажется, необходимости в этом нет — результаты предсказуемы. Но не станем забегать вперед, а посмотрим, что же у нас получилось.

Результаты тестов



Все ровно и красиво. Но шаблоны не рвет: максимум в этих тестах составляет лишь немногим больше 500 МБ/с, а это вполне по силам даже SATA600 или (в приложении к сегодняшнему тестированию) PCIe 1.0 х4 / PCIe 2.0 х2 / PCIe 3.0 х1. Именно так: не стоит пугаться выпуску бюджетных контроллеров под PCIe х2 или наличию лишь такого количества линий (причем версии стандарта 2.0) в слотах М.2 на некоторых платах, когда больше-то и не нужно. Иногда и столько не нужно: максимальные результаты достигнуты при очереди в 16 команд, что для массового ПО не типично. Чаще встречается очередь с 1-4 командами, а для этого обойтись можно и одной линией самого первого PCIe и даже самым первым SATA. Впрочем, накладные расходы и прочее имеют место быть, так что быстрый интерфейс полезен. Однако излишне быстрый — разве что не вреден.

А еще в этом тесте по-разному ведут себя платформы, причем с единичной очередью команд — принципиально по-разному. «Беда» вовсе не в том, что много ядер — плохо. Они тут все равно не используются, разве что одно, и не настолько, чтоб вовсю развернулся буст-режим. Вот и имеем разницу где-то в 20% по частоте ядер и полтора раза по кэш-памяти — она в Haswell-E работает на более низкой частоте, а не синхронно с ядрами. В общем, топовая платформа может пригодиться разве что для вышибания максимума «йопсов» посредством максимально многопоточного режима с большой глубиной очереди команд. Жаль только, что с точки зрения практической работы это совсем уж сферическая синтетика в вакууме :)


На записи положение дел принципиально не изменилось — во всех смыслах. Но, что забавно, на обеих системах самым быстрым оказался режим PCIe 2.0 х4 в «процессорном» слоте. На обеих! И при многократных проверках/перепроверках. Тут уж поневоле задумаешься, нужны ли эти ваши новые стандарты или лучше вообще никуда не торопиться.


Итого

Для облегчения восприятия картины по больнице в целом мы воспользовались выдаваемым программой баллом (суммарным — по чтению и записи), проведя его нормирование по «чипсетному» режиму PCIe 2.0 x4: на данный момент именно он является наиболее массово доступным, поскольку встречается даже на LGA1155 или платформах AMD без необходимости «обижать» видеокарту. Кроме того, он эквивалентен PCIe 3.0 x2, который готовятся освоить бюджетные контроллеры. Да и на новой платформе AMD АМ4, опять же, именно этот режим как раз можно получить без влияния на дискретную видеокарту.


Итак, что мы видим? Применение PCIe 3.0 x4 при наличии возможности является, безусловно, предпочтительным, но не необходимым: NVMe-накопителям среднего класса (в своем изначально топовом сегменте) он приносит буквально 10% дополнительной производительности. Да и то — за счет операций в общем-то не столь уж часто встречающихся на практике. Для чего же в данном случае реализован именно этот вариант? Во-первых, была такая возможность, а запас карман не тянет. Во-вторых, есть накопители и побыстрее, чем наш тестовый Patriot Hellfire. В-третьих, есть такие области деятельности, где «атипичные» для настольной системы нагрузки — как раз вполне типичные. Причем именно там наиболее критично быстродействие системы хранения данных или, по крайней мере, возможность сделать ее часть очень быстрой. Но к обычным персональным компьютерам это все не относится.

В них, как видим, и использование PCIe 2.0 x2 (или, соответственно, PCIe 3.0 х1) не приводит к драматическому снижению производительности — лишь на 15-20%. И это несмотря на то, что потенциальные возможности контроллера в этом случае мы ограничили в четыре раза! Для многих операций и такой пропускной способности достаточно. Вот одной линии PCIe 2.0 уже недостаточно, поэтому контроллерам имеет смысл поддерживать именно PCIe 3.0 — и в условиях жесткой нехватки линий в современной системе это будет работать неплохо. Кроме того, полезна ширина х4 — даже при отсутствии поддержки современных версий PCIe в системе она все равно позволит работать с нормальной скоростью (пусть и медленнее, чем могло бы потенциально), если найдется более-менее широкий слот.

В принципе, большое количество сценариев, в которых узким местом оказывается собственно флэш-память (да, это возможно и присуще не только механике), приводит к тому, что четыре линии третьей версии PCIe на этом накопителе обгоняют одну первой примерно в 3,5 раза — теоретическая же пропускная способность этих двух случаев различается в 16 раз. Из чего, разумеется, не следует, что нужно спешно бежать осваивать совсем медленные интерфейсы — их время ушло безвозвратно. Просто многие возможности быстрых интерфейсов могут быть реализованы лишь в будущем. Или в условиях, с которыми обычный пользователь обычного компьютера никогда в жизни непосредственно не столкнется (за исключением любителей меряться известно чем). Собственно, и всё.

Поддержка материнскими платами в 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-интерфейсом нужного вам объема.

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

Максимальная пропускная способность шины 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-накопителя? Ответ — лишь в определенных сценариях. Например, при копировании крупного файла или при работе с видеоредакторами и прочими специализированными программами, использующими крупные массивы данных.

Какие преимущества дает использование NVMe в накопителях?

Использованием линий PCIe означает высокий максимальный предел теоретических скоростных характеристик дисков, что было показано еще накопителями, не поддерживающими NVMe. Тогда зачем нужна была вся затея с ее разработкой?

Увеличение глубины очереди команд и количества очередей

Первые диски хоть и показывали высокие скорости, используя преимущества шины PCIe, но использовали эмуляцию AHCI, где была лишь одна очередь на 32 команды. Использование одной очереди обусловлено тем, что AHCI создавался для жестких дисков, а у них ни о каком параллелизме при работе думать не приходилось. С появлением SSD все изменилось. В спецификации NVMe заложено использование до 65535 очередей и до 65535 команд в каждой очереди с указанием приоритета очередей и четким арбитражем последних. Эти огромные показатели хоть и не нужны сейчас, но задел на будущее оставляют приличный.

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

Работа с многоядерными/многопроцессорными системами, внедрение механизма прерываний и поддержка виртуализации

Совместно с первым пунктом это нацелено на увеличение параллелизма в работе, что в результате приводит к улучшение скоростных характеристик. Каждое ядро процессора может управлять несколькими очередями (отправка/завершение). Управление прерываниями (MSI-X — Message Signaled Interrupt Extended) позволяет при поступлении приоритетной задачи быстрее поставить ее на выполнение. Также была произведена оптимизация по поддержке работы с технологиями виртуализации, которая обязательна для серверов, куда NVMe в первую очередь и были нужны.


Проведем параллель с дорогой. Ясно, что пропускная способность однополосной дороги существенно меньше, чем у четырехполосной. Если только у нее не одна полоса (ядро) для въезда, иначе это колосс на глиняных ногах. А если по дороге будет ехать пожарная машина, то все расступятся и она проедет первой (спасибо прерываниям и приоритизации).

Сокращение задержек при работе

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


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

Ускорение работы с оперативной памятью

Если AHCI требовалось два запроса в DRAM, то NVMe использует один запрос на чтение 4 Кб, обеспечивая эффективную работу небольших операций ввода/вывода. Опять же сокращает накладные расходы, позволяя увеличить эффективность в единицу времени в сравнении с AHCI. Ведь быстрее оплатить покупку просто приложив карту, чем еще дополнительно вводить пин-код.

Это лишь несколько основных важных отличий NVMe, по которым виден основной вектор при работе над протоколом. SSD, в отличие от HDD, обладает некоторой степенью параллелизма — контроллер поддерживает несколько каналов для подключения микросхем памяти. В итоге большой пласт работы направлен на максимальную возможность распараллеливания операций. Несколько очередей с большой очередью команд — сценарий, в котором накопители показывают лучшие результаты. Работа с многоядерными процессорами также позволяет максимально загрузить работой диск.

Другой целью разработки было исключение промежуточных звеньев. Так удаление контроллера SATA из цепочки «процессор — накопитель», новые команды и драйвер позволили снизить задержки в обработке команд так, что основным фактором, влияющим на латентность, стали сами микросхемы NAND. Они же и остаются лимитирующим фактором в скорости записи. 3DXpoint от Intel сделала первый шаг в направлении уменьшения латентности памяти. Будем ждать, что смогут преподнести будущие типы микросхем.


Все внесенные изменения обеспечили не только и не столько скачок в скоростных показателях (это сделал еще переход на PCIe в SSD, эмулировавших AHCI), а существенное увеличение числа операций ввода-вывода (IOPS), что особенно важно в высоконагруженных сценариях/режимах работы.

Опять же если вернуться к AHCI, то ее разработка зиждилась на максимальном сохранении совместимости с разными устройствами. NVMe же возводили практически с нуля, основываясь лишь на использовании линий PCI-Express. И это наложило некоторые особенности реализации в конечном итоге.

Так для работы NVMe необходима поддержка со стороны операционной системы (ОС). Впрочем, сейчас драйвер есть во всех современных ОС: Windows, Mac OS и ядрах Linux/BSD. А для использования в качестве загрузочного накопителя, потребуется наличие драйвера в UEFI материнской платы. Как его добавить в старые модели плат, можно прочитать здесь.

M.2 накопители с интерфейсом PCI-E 4x

— подключение по стандарту PCI-E версии 3.0, предусматривающее 4 линии передачи данных.

Стандарт PCI-E изначально был разработан для плат расширения, однако благодаря продвинутым характеристикам (в частности, хорошей скорости) стал применяться и для других комплектующих — в том числе в интерфейсах вроде M.2, использующих собственные разъемы вместо стандартных слотов PCI-E. Версия 3.0 обеспечивает скорость передачи данных почти в 1 ГБ/с на линию; в итоге 4 линии, предусмотренные в данном варианте, дают около 3,9 ГБ/с. При этом накопители с этим интерфейсом можно подключать и к более медленным версиям M.2/PCI-E — разве что скорость работы будет ограничиваться возможностями материнской платы.

Что такое NVMe у твердотельных накопителей?

Что такое NVMe у твердотельных накопителей?

Аббревиатура NVMe сейчас на слуху. То тут, то там можно услышать или прочитать, что-то вроде «Не хочу SATA, это старье. Хочу NVMe!» А что же это вообще такое? Давайте разбираться.

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

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

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

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

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

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

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

SATA M.2 накопители против PCI-E 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. Такие устройства оптимизированы для работы с современными многоядерными процессорами и обеспечивают более низкие задержки обработки запросов. Можно найти единичные экземпляры без этого стандарта, но они очень редко встречаются в продаже.

Что же такое NVMe?


NVM Express или NVMe (от англ. Non-Volatile Memory Express) — это спецификация протокола (упрощенно — протокол) обмена данными через линии PCI Express. Создавалась специально для твердотельных накопителей и ориентировалась на достижение максимальной производительности и масштабируемости в дальнейшем.

Следует отметить, что NVMe — это именно протокол, поэтому распространенное выражение «NVME накопитель/SSD» применяется не совсем корректно. Ведь под этим пользователи практически всегда понимают устройство в формате M.2, тем самым объединяя под одним названием и протокол, и форм-фактор накопителя.

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