PCIe (PCI Express): что это, поколения и скорости | Глоссарий FREEHOSTING

PCIe

PCI Express
PCIe — PCIe (PCI Express) — последовательная шина для подключения внутренних устройств: видеокарт, NVMe-накопителей, сетевых и RAID-контроллеров. Передача идёт по парам линий (lanes) x1, x4, x8, x16; пропускная способность удваивается с каждым новым поколением (Gen3 → Gen4 → Gen5).

Определение простыми словами

PCIe — это «магистраль» внутри сервера, по которой процессор обменивается данными с расширительными платами. В отличие от старой параллельной PCI, шина PCIe передаёт биты последовательно по дифференциальным парам (lanes), а ширина слота (x1, x4, x8, x16) определяет количество линий. Чем больше линий и выше поколение, тем выше скорость.

На реальном сервере хостинга PCIe — это разъём, в который воткнут NVMe-диск или сетевая карта 10/25/100 Gbit. От поколения PCIe напрямую зависит, упрётся ли быстрый SSD в потолок шины или раскроется на полную.

Сравнение поколений PCIe

Поколение Год Скорость на линию x4 NVMe (макс.) x16 (видеокарта)
PCIe 3.0 2010 ~985 МБ/с ~3,94 ГБ/с ~15,75 ГБ/с
PCIe 4.0 2017 ~1969 МБ/с ~7,88 ГБ/с ~31,5 ГБ/с
PCIe 5.0 2019 ~3938 МБ/с ~15,75 ГБ/с ~63 ГБ/с
PCIe 6.0 2022 ~7563 МБ/с ~30,25 ГБ/с ~121 ГБ/с

Кейсы использования

  • NVMe-диски в VPS и dedicated. Поколение PCIe в материнской плате сервера определяет реальную скорость произвольного чтения базы данных и распаковки бэкапов.
  • GPU-серверы. Карты для ML/рендера требуют x16 PCIe 4.0/5.0 — урезанный слот x8 даст до 30% потерь в обучении больших моделей.
  • RAID-контроллеры. HBA/RAID на 16+ дисков ставится в x8 PCIe, чтобы шина не стала узким местом.
  • Сетевые карты 25/100 Gbit. Один порт 100GbE требует минимум PCIe 3.0 x16 или 4.0 x8.
  • Негативный пример. Покупка топового PCIe 5.0 NVMe в материнскую плату с PCIe 3.0 — переплата без эффекта, диск работает в три раза медленнее заявленного.

Технические детали

Проверить поколение и количество линий, на которых реально работает устройство, можно через lspci:

# список всех PCIe-устройств с их разрешением
lspci -vv | grep -E "LnkCap|LnkSta"

# конкретно для NVMe-диска
lspci | grep -i nvme
# 01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd ...

# детально по адресу
sudo lspci -s 01:00.0 -vvv | grep -E "Speed|Width"
# LnkCap: ... Speed 16GT/s, Width x4   # поддерживает PCIe 4.0 x4
# LnkSta: ... Speed 8GT/s,  Width x4   # реально работает на PCIe 3.0 x4

Если LnkSta показывает скорость ниже LnkCap — устройство урезано слотом или BIOS-настройкой. Также см. NVMe и SSD для понимания, как PCIe раскрывается в реальной нагрузке.

Частые вопросы

Чем PCIe отличается от SATA?

SATA — медленный последовательный интерфейс с пиком ~600 МБ/с. PCIe в десятки раз быстрее за счёт нескольких линий и более высоких частот; именно через PCIe подключаются NVMe-диски.

Можно ли вставить PCIe 4.0 NVMe в слот PCIe 3.0?

Да, обратная совместимость работает — диск запустится, но скорость снизится до уровня PCIe 3.0, то есть примерно вдвое от паспортной.

Сколько линий PCIe нужно для NVMe?

Стандартный потребительский NVMe использует x4 линии. Серверные U.2/E1.S тоже обычно x4, реже x8.