Разъем M.2 (NGFF) — что это? Разбираемся, что к чему!
Разъем M.2 (ранее известный как Next Generation Form Factor и NGFF) — это спецификация входящая в состав стандарта SATA 3.2 для компьютерных устройств и их разъемов, утвержденная международной организацией Serial ATA International Organization (SATA-IO) для планшетов и тонких компьютеров. Создана для замены уже устаревших форматов SATA, mSATA и Mini PCI-E. Ключевым новшеством M.2 (NGFF) стала поддержка передачи данных по линии PCI Express 3.0 с совокупной теоретической пропускной способностью до 32 Гбит/с. Что почти в 6 раз больше чем позволял стандарт SATA 3.0.
Интерфейс | Максимальная теоретическая пропускная способность | Максимальная реальная пропускная способность (оценка) |
SATA III | 6 Гбит/с (750 Мбайт/с) | 600 Мбайт/с |
PCIe 2.0 x2 | 8 Гбит/с (1 Гбайт/с) | 800 Мбайт/с |
PCIe 2.0 x4 | 16 Гбит/с (2 Гбайт/с) | 1,6 Гбайт/с |
PCIe 3.0 x4 | 32 Гбит/с (4 Гбайт/с) | 3,2 Гбайт/с |
Карты расширения M.2 могут предоставлять различные функции, например: Wi-Fi, Bluetooth, спутниковая навигация, NFC-радиосвязь, цифровое радио, Wireless Gigabit Alliance (WiGig), Wireless WAN(WWAN) и другие. В виде модулей M.2 часто изготавливают быстрые и компактные твердотельные флеш-накопители (SSD).
Применение нового формата устройств позволил использовать режим минимального энергопотребления DevSleep, механизм управления питанием Transitional Energy Reporting, механизм Hybrid Information (повышающий эффективность кэширования данных в гибридных накопителях) и Rebuild Assist (функция, которая ускоряет процесс восстановления данных в массивах RAID).
Содержание статьи
Форм-фактор и ключи.
Если проще, M.2 представляет собой мобильную разновидность протокола SATA Express, описанного в спецификации SATA 3.2 для планшетов и тонких компьютеров. Этот интерфейс может быть совместим с устройствами, работающими по протоколам SATA, PCI Express, USB 3.0, I2C и другими. M.2 поддерживает до четырёх линий PCI Express 3.0, в то время как разъёмы SATA Express передают данные лишь по двум линиям PCI Express 2.0. Платы имеют 4 варианта ширины (12, 16, 22 и 30 миллиметров) и 8 вариантов длины (16, 26, 30, 38, 42, 60, 80 и 110 миллиметров).
Помимо длины и ширины устройств подключаемых к M.2, описаны стандарты толщины компонентов на плате. Также, одностороннее и двухстороннее исполнение монтажа (Single Sided и Double Sided), разделенное на еще 8 типов. Для более удобного понимания, ниже приведу таблицу:
Толщина компонентов на плате устройства подключаемого к M.2 (размеры указаны в миллиметрах).
Тип | Сверху | Снизу |
---|---|---|
S1 | 1.20 | Не допускаются |
S2 | 1.35 | Не допускаются |
S3 | 1.50 | Не допускаются |
D1 | 1.20 | 1.35 |
D2 | 1.35 | 1.35 |
D3 | 1.50 | 1.35 |
D4 | 1.50 | 0.70 |
D5 | 1.50 | 1.50 |
Для указания типа M.2 — устройства маркируются кодом по схеме WWLL-HH-K-K или WWLL-HH-K, где WW и LL — размеры модуля в ширину и длину в миллиметрах. В HH кодируется, является ли модуль односторонним или двухсторонним, а также максимальная допустимая высота (толщина) размещённых на нём компонентов, например «D2». Часть K-K обозначает ключевые разрезы если модуль использует лишь один ключ, используется одна буква K. Если используется K-K, то модуль имеет 2 ключа.
Диаграмма с подробной расшифровкой всех значений маркировки с указанием величин.
По состоянию на 2018 год, наиболее популярными размерами определены: ширина 22 мм, длина 80 или 60 мм (M.2-2280 и M.2-2260), реже 42 мм. Многие ранние M.2 накопители и материнские платы использовали интерфейс SATA, для них наиболее популярны ключи B (SATA и PCIe x2). Современные же материнские платы реализуют в разъеме M.2 PCI Express 3.0 x4 и соответствующий ключ M (SATA и PCIe x4). Устройства разработанные под использование в разъемах с ключом M, электрически не совместимы с разъемом B, и наоборот, без явного на то указания. Хотя не редко, как показывает практика физически совместимы (если перевернуть). Для подключения карт расширения, например WiFi, используются модули размера 1630 и 2230 и ключи A или E.
M.2 — плата должна не только подходить по размеру, но и иметь совместимое со слотом расположение ключей. Ключи ограничивают механическую совместимость между различными разъёмами и платами форм-фактора M.2 и препятствует неправильной установке накопителей в слоте.
Собственно перед покупкой платы расширения необходимо уточнить у производителя тип разъема и совместимые размеры (по длине, ширине, толщине, одностороннее и двухстороннее исполнение).
В крайнем случае посчитать контакты разъема и сравнить с рисунком ниже.
Что такое Socket 1, Socket 2, Socket 3 в применении к M.2 (NGFF) устройствам?
Действительно, встречается понятие сокет и для M.2 устройств. Думаю создание групп разъемов M.2 на Socket 1,2,3 для упрощенного разделения не совместимых между собой устройств. Формально разделяя все виды устройств на 3 простых для понимания типа.
Принцип деления наглядно показан в следующей таблице:
Для установки в разъем M.2 | ||||
Ключ разъема | Размер модуля | Толщина модуля | Ключ коннектора на модуле | |
Socket 1Обычно, модули связи (WIFi адаптеры, Bluetooth, NFC и прочее) | ||||
A, E | 1630 | S1, D1, S3, D3, D4 | A, E, A+E | |
A, E | 2230 | S1, D1, S3, D3, D4 | A, E, A+E | |
A, E | 3030 | S1, D1, S3, D3, D4 | A, E, A+E | |
Socket 2Для компактных 3G/4G модемов M.2, но возможно появление другого оборудования | B | 3042 | S1, D1, S3, D3, D4 | B |
Socket 2Для M.2 SSD и другого оборудования с универсальным ключом B+M | B | 2230 | S2, D2, S3, D3, D5 | B+M |
B | 2242 | S2, D2, S3, D3, D5 | B+M | |
B | 2260 | S2, D2, S3, D3, D5 | B+M | |
B | 2280 | S2, D2, S3, D3, D5 | B+M | |
B | 22110 | S2, D2, S3, D3, D5 | B+M | |
Socket 3Для M.2 SSD и другого оборудования с ключом М и универсальным ключом B+M | M | 2242 | S2, D2, S3, D3, D5 | M, B+M |
M | 2260 | S2, D2, S3, D3, D5 | M, B+M | |
M | 2280 | S2… D2, S3, D3, D5 | M, B+M | |
M | 22110 | S2… D2, S3, D3, D5 | M, B+M |
Разберем пример на основе реальных интернет-магазинов:
SSD диск SAMSUNG M.2 860 EVO 250 Гб M.2 2280 SATA III (MZ-N6E250BW)
Из описания видно — перед нами SSD Samsung с емкостью 250Gb, разработанный для использования в разъеме M.2. Далее идет маркировка «2280» указывающая физический размер — 22 мм в ширину, 80 мм в длину. Про толщину и одностороннее или двухстороннее исполнение — ни слова. В данном случае придется уточнять из других источников, либо производителя накопителя. После указания маркировки размера написано — SATA III. Что это означает? Это означает что накопитель использует логический интерфейс SATA III. То есть, перед нами все тот же классический накопитель SATA, но выполненный под размеры и разъем M.2. Скоростные преимущества PCI Express здесь не использованы.
Все, описание продавца на этом исчерпаны. Чего нам еще не хватает? Нам не хватает явного указания типа ключа разъема, это пускай останется на совести продавца. Но мы визуально видим 2 прорези, это означает возможность использования данного накопителя в составе материнских плат с разъемом типа B и типа M. Это визуальная оценка, опять повторюсь — необходимо уточнить у производителя.
Попробуем еще:
SSD диск Samsung 960 EVO M.2 250 Гб M.2 PCI-E TLC MZ-V6E250BW
Здесь мы видим SSD Samsung 960 EVO тоже на разъем M.2. Вообще без указания маркировки физических размеров и типа, предположительно тоже «2280» (всегда необходимо уточнять из других источников). Далее указаны PCI-E и TLC, что это означает? Это означает что устройство использует логический интерфейс PCI Express (какой 2.0 или 3.0 не ясно, и сколько линий 2x-4x — тоже не известно). TLC — тип устройства микросхем памяти. На этом интернет-магазин счел описание достаточным. Думаю гарантийка ему потом скажет об обратном…
Но визуально мы видим на этом изображении одну прорезь в разъеме M.2 (предположительно соответствующая ключу M). И тут необходимо быть осторожным, устройство может подойти физически в разъем B. И вернее всего, сожжет плату и устройство. Поэтому необходимо точно знать какого типа установлен разъем на плате и какого приобретается.
Реализации логического интерфейса и набора команд.
Для плат расширения M.2 доступно три варианта реализации логического интерфейса и набора команд, по аналогии со стандартом SATA Express:
«Legacy SATA«
Используется для SSD с SATA интерфейсом, драйвером AHCI и скоростями до 6.0 Гбит/с
«SATA Express» с использованием AHCI
Используется для SSD с интерфейсом PCI Express и драйвером AHCI (для совместимости с большим количеством операционных систем). Из-за использования AHCI производительность может быть несколько ниже оптимальной (получаемой с NVMe), так как AHCI был разработан для взаимодействия с более медленными накопителями с медленным последовательным доступом (например, НЖМД), а не для SSD с быстрым случайным доступом.
«SATA Express» с использованием NVMe
Используется для SSD с интерфейсом PCI Express и высокопроизводительным драйвером NVMe, созданным для работы с быстрыми флеш-накопителями. NVMe был разработан с учётом низких задержек и параллелизма SSD с интерфейсом PCI Express. NVMe лучше использует параллелизм в управляющем компьютере и программном обеспечении, требует меньше стадий при передаче данных, предоставляет более глубокую очередь команд и более эффективную обработку прерываний.
Что такое NVMe?
NVM Express (NVMe, NVMHCI — от англ. Non-Volatile Memory Host
Протокол NVMe ускоряет операции I/O за счёт отказа от стека команд SAS (SCSI). NVMe SSD подключаются прямо в шину PCIe. Приложения получают резкий прирост производительности от смещения I/O-активности с SAS/SATA SSD и HDD на NVMe SSD. Запоминающие устройства нового типа хранения энергонезависимы (non-volatile) и задержка при доступе к ним существенно ниже – на уровне задержек оперативной (volatile) памяти.
Контроллер NVMe демонстрирует все преимущества SSD: очень низкие задержки доступа и огромная глубина очереди по операциям чтения и записи. Чрезвычайно низкая латентность устройств хранения существенно снижает вероятность блокировок таблиц данных при их обновлениях. Это критично для многопользовательских баз данных со сложными и взаимосвязанными таблицами.
Очень важно: в UEFI BIOS материнской платы должен содержаться NVMe-драйвер для загрузки ОС с соответствующего накопителя.
NGFF и NVME отличия?
Очень много в сети запросов на этот вопрос. Что такое NGFF и в чем отличие от NVME. Ответ прост, NGFF это второе название аппаратного интерфейса M2, непосредственно самого разъема на системной плате. NGFF = M2, это одно и тоже .
Тогда что такое NVME? А NVME это — NVM Express (NVMe, NVMHCI — от англ. Non-Volatile Memory Host Controller Interface Specification). Это !!!Логический!!! интерфейс NVM Express был разработан с нуля, основные цели — получение низких задержек и эффективное использование высокого параллелизма твердотельных накопителей за счёт применения нового набора команд и механизма обработки очередей, оптимизированного для работы с современными многоядерными процессорами.
Протокол NVMe ускоряет операции I/O за счёт отказа от стека команд SAS (SCSI). NVMe SSD подключаются прямо в шину PCIe. Приложения получают резкий прирост производительности от смещения I/O-активности с SAS/SATA SSD и HDD на NVMe SSD.
Что это означает? Это означает что NGFF (M2) это физический разъем на плате, а NVME это !!!Логический!!! режим работы накопителя напрямую с шиной PCI Express и процессором минуя ограничения SATA/ATA/SAS. Разумеется такой режим работы должны поддерживать и накопитель, и системная плата (это надо проверить перед покупкой). Иначе, такой накопитель работать не будет. Если накопитель имеет разъем NGFF (M2) но не поддерживает режим NVME, то скорее всего он работает в режиме SATA\ATA\SAS\USB устройства.
Наиболее часто встречаются накопители:
-NGFF(M2) с NVME — это наиболее быстрые и современные устройства;
-NGFF(M2) с SATA — это накопители которые работают как SATA устройства.
Заключение.
В заключении становятся очевидными преимущества принятые стандартом SATA 3.2. Появление новых спецификаций и разъемов расширит выбор совместимых карт расширения, как для ноутбуков, так и для стационарных компьютеров. Также увеличит общую производительность вычислительных систем от ноутбука — до сервера.
Сам по себе интерфейс таит в себе большое количество ловушек как для простого пользователя, так и для профессионала. Возможно это связано с его новизной, а может и некоторой «сыростью».
В любом случае, я постарался собрать максимум важной информации. Возникшие вопросы можно задать в комментариях к статье. Спасибо за уделенное моей статье внимание.
Распиновка типовых разъемов M.2.
M.2 с ключом B (1x SATA, 2x PCIe)
Pin Number | Pin Name | Description |
---|---|---|
1 | CONFIG_3 | Defines module type |
2 | 3.3 V | Supply pin, 3.3 V |
3 | GND | Ground |
4 | 3.3 V | Supply pin, 3.3 V |
5 | N/C | |
6-8 | N/A | |
9 | N/C | |
10 | DAS/DSS | Device Activity Signal / Disable Staggered Spinup |
11 | N/C | |
12-19 | removed | Mechanical notch B |
20 | N/A | |
21 | CONFIG_0 | Defines module type |
22-26 | N/A | |
27 | GND | Ground |
28 | N/A | |
29 | PERn1 | PCIe Lane 1 Rx |
30 | N/A | |
31 | PERp1 | PCIe Lane 1 Rx |
32 | N/A | |
33 | GND | Ground |
34 | N/A | |
35 | PETn1 | PCIe Lane 1 Tx |
36 | N/A | |
37 | PETp1 | PCIe Lane 1 Tx |
38 | DEVSLP | Device Sleep, input. If driven high the host is informing the SSD to enter a low power state. |
39 | GND | Ground |
40 | N/A | |
41 | SATA-B+/PERn0 | Host receiver differential signal pair. If in PCIe mode PCIe Lane 0 Rx |
42 | N/A | |
43 | SATA-B-/PERp0 | Host receiver differential signal pair. If in PCIe mode PCIe Lane 0 Rx |
44 | N/A | |
45 | GND | Ground |
46 | N/A | |
47 | SATA-A-/PETn0 | Host transmitter differential signal pair. If in PCIe mode PCIe Lane 0 Tx |
48 | N/A | |
49 | SATA-A+/PETp0 | Host transmitter differential signal pair. If in PCIe mode PCIe Lane 0 Tx |
50 | PERST# | PCIe reset |
51 | GND | Ground |
52 | CLKREQ# | Reference clock request signal |
53 | REFCLKN | PCIe Reference Clock signals (100 MHz) |
54 | PEWAKE# | PCIe WAKE# Open Drain with pull up on platform. Active Low. |
55 | REFCLKP | PCIe Reference Clock signals (100 MHz) |
56 | MFG1 | Manufacturing pin. Use determined by vendor. |
57 | GND | Ground |
58 | MFG2 | Manufacturing pin. Use determined by vendor. |
59-66 | removed | Mechanical notch M |
67 | N/A | |
68 | SUSCLK | 32.768 kHz clock supply input provided by the Platform chipset |
69 | CONFIG_1 | Defines module type |
70 | 3.3 V | Supply pin, 3.3 V |
71 | GND | Ground |
72 | 3.3 V | Supply pin, 3.3 V |
73 | GND | Ground |
74 | 3.3 V | Supply pin, 3.3 V |
75 | CONFIG_2 | Defines module type |
M.2 с ключом M (1x SATA, 1x, 2x, or 4x PCIe)
Pin Number | Pin Name | Description |
---|---|---|
1 | CONFIG_3 | Defines module type |
2 | 3.3 V | Supply pin, 3.3 V |
3 | GND | Ground |
4 | 3.3 V | Supply pin, 3.3 V |
5 | PERn3 | PCIe Lane 3 Rx |
6 | N/A | |
7 | PERp3 | PCIe Lane 3 Rx |
8 | N/A | |
9 | GND | Ground |
10 | DAS/DSS | Device Activity Signal / Disable Staggered Spinup |
11 | PETn3 | PCIe Lane 3 Tx |
12 | 3.3 V | Supply pin, 3.3 V |
13 | PETp3 | PCIe Lane 3 Tx |
14 | 3.3 V | Supply pin, 3.3 V |
15 | GND | Ground |
16 | 3.3V | Supply pin, 3.3 V |
17 | PERn2 | PCIe Lane 2 Rx |
18 | 3.3 V | Supply pin, 3.3 V |
19 | PERp2 | PCIe Lane 2 Rx |
20 | N/A | |
21 | CONFIG_0 | Defines module type |
22 | N/A | |
23 | PETn2 | PCIe Lane 2 Tx |
24 | N/A | |
25 | PETp2 | PCIe Lane 2 Tx |
26 | N/A | |
27 | GND | Ground |
28 | N/A | |
29 | PERn1 | PCIe Lane 1 Rx |
30 | N/A | |
31 | PERp1 | PCIe Lane 1 Rx |
32 | N/A | |
33 | GND | Ground |
34 | N/A | |
35 | PETn1 | PCIe Lane 1 Tx |
36 | N/A | |
37 | PETp1 | PCIe Lane 1 Tx |
38 | DEVSLP | Device Sleep, input. If driven high the host is informing the SSD to enter a low power state. |
39 | GND | Ground |
40 | N/A | |
41 | SATA-B+/PERn0 | Host receiver differential signal pair. If in PCIe mode PCIe Lane 0 Rx |
42 | N/A | |
43 | SATA-B-/PERp0 | Host receiver differential signal pair. If in PCIe mode PCIe Lane 0 Rx |
44 | N/A | |
45 | GND | Ground |
46 | N/A | |
47 | SATA-A-/PETn0 | Host transmitter differential signal pair. If in PCIe mode PCIe Lane 0 Tx |
48 | N/A | |
49 | SATA-A+/PETp0 | Host transmitter differential signal pair. If in PCIe mode PCIe Lane 0 Tx |
50 | PERST# | PCIe reset |
51 | GND | Ground |
52 | CLKREQ# | Reference clock request signal |
53 | REFCLKN | PCIe Reference Clock signals (100 MHz) |
54 | PEWAKE# | PCIe WAKE# Open Drain with pull up on platform. Active Low. |
55 | REFCLKP | PCIe Reference Clock signals (100 MHz) |
56 | MFG1 | Manufacturing pin. Use determined by vendor. |
57 | GND | Ground |
58 | MFG2 | Manufacturing pin. Use determined by vendor. |
59-66 | removed | Mechanical notch M |
67 | N/A | |
68 | SUSCLK | 32.768 kHz clock supply input provided by the Platform chipset |
69 | CONFIG_1 | Defines module type |
70 | 3.3 V | Supply pin, 3.3 V |
71 | GND | Ground |
72 | 3.3 V | Supply pin, 3.3 V |
73 | GND | Ground |
74 | 3.3 V | Supply pin, 3.3 V |
75 | CONFIG_2 | Defines module type |
M.2 с ключом A (PCIe ×2, USB 2.0, I2C and DP ×4) и E (PCIe ×2, USB 2.0, I2C, SDIO, UART and PCM).
Pin id. |
Pin name |
Description |
1 |
GND |
Ground |
2 |
+3.3V |
3.3 V power supply |
3 |
USB_D+ |
USB high-, full-, and low- speed data pair positive |
4 |
+3.3V |
3.3 V power supply |
5 |
USB_D- |
USB high-, full-, and low- speed data pair negative |
6 |
LED1# |
|
7 |
GND |
Ground |
8 |
Key |
Substrate removed to act as physical key |
9 |
Key |
Substrate removed to act as physical key |
10 |
Key |
Substrate removed to act as physical key |
11 |
Key |
Substrate removed to act as physical key |
12 |
Key |
Substrate removed to act as physical key |
13 |
Key |
Substrate removed to act as physical key |
14 |
Key |
Substrate removed to act as physical key |
15 |
Key |
Substrate removed to act as physical key |
16 |
LED2# |
|
17 |
DNC |
Do not connect |
18 |
GND |
Ground |
19 |
DNC |
Do not connect |
20 |
DNC |
Do not connect |
21 |
DNC |
Do not connect |
22 |
DNC |
Do not connect |
23 |
Key |
Substrate removed to act as physical key |
24 |
Key |
Substrate removed to act as physical key |
25 |
Key |
Substrate removed to act as physical key |
26 |
Key |
Substrate removed to act as physical key |
27 |
Key |
Substrate removed to act as physical key |
28 |
Key |
Substrate removed to act as physical key |
29 |
Key |
Substrate removed to act as physical key |
30 |
Key
|
Substrate removed to act as physical key |
31 |
Key |
Substrate removed to act as physical key |
32 |
DNC |
Do not connect |
33 |
GND |
Ground |
34 |
DNC |
Do not connect |
35 |
PETp0 |
PCI Express lane 0 module transmitter pair positive |
36 |
DNC |
Do not connect |
37 |
PETn0 |
PCI Express lane 0 module transmitter pair negative |
38 |
Vendor defined |
|
39 |
GND |
Ground |
40 |
Vendor defined |
|
41 |
PERp0 |
PCI Express lane 0 module receiver pair positive |
42 |
Vendor defined |
|
43 |
PERn0 |
PCI Express lane 0 module receiver pair negative |
44 |
COEX3 |
Antenna coexistence signal 3 |
45 |
GND |
Ground |
46 |
COEX2 |
Antenna coexistence signal 2 |
47 |
PEFCLKP0 |
PCI Express reference clock pair positive |
48 |
COEX1 |
Antenna coexistence signal 1 |
49 |
PEFCLKN0 |
PCI Express reference clock pair negative |
50 |
SUSCLK |
32.768 kHz clock module input |
51 |
GND |
Ground |
52 |
PERST0# |
PCI Express reset |
53 |
CLKREQ0# |
PCI Express clock request |
54 |
W_DISABLE2# |
Wireless disable 2 |
55 |
PEWake0# |
PCI Express wake |
56 |
W_DISABLE1# |
Wireless disable 1 |
57 |
GND |
Ground |
58 |
SMB_DATA |
SMBus data signal |
59 |
Reserved |
|
60 |
SMB_CLK |
SMBus clock signal |
61 |
Reserved |
|
62 |
ALERT# |
SMBus alert signal |
63 |
GND |
Ground |
64 |
Reserved |
|
65 |
Reserved |
|
66 |
UIM_SWP |
|
67 |
Reserved |
|
68 |
UIM_POWER_SNK |
|
69 |
GND |
Ground |
70 |
UIM_POWER_SRC |
|
71 |
Reserved |
|
72 |
+3.3V |
3.3 V power supply |
73 |
Reserved |
|
74 |
+3.3V |
3.3 V power supply |
75 |
GND |
Ground |