PCIe Generations and Lanes: What Limits an NVMe SSD

Updated

NVMe SSDs use the PCIe bus to communicate with the host, and their performance depends on both the PCIe generation and the number of lanes. Each generation doubles the data rate per lane, while more lanes provide more bandwidth. Checking the motherboard's PCIe slots and M.2 key type helps determine the maximum speed an SSD can achieve.

How NVMe Uses PCIe

The NVM Express base specification defines how host software communicates with non-volatile memory across a PCI Express bus, and it was designed from the ground up for SSDs, offering lower latency and better scalability than legacy interfaces like SATA, as described by the NVM Express base specification. NVMe SSDs appear in many form factors, including U.2, M.2, add-in cards, and EDSFF, as noted by SNIA's SSD form factors page.

The PCIe link between an NVMe SSD and the host consists of lanes, each carrying data in both directions. The number of lanes and the PCIe generation determine the raw bandwidth available. For example, a typical M.2 NVMe SSD uses four PCIe lanes, and the M.2 key type indicates the maximum lane count, as explained in Samsung's internal SSD installation FAQ.

When choosing an NVMe SSD, it is important to match the drive's PCIe generation and lane requirement with the motherboard's capabilities. A motherboard with PCIe 4.0 slots can run a PCIe 4.0 SSD at full speed, but a PCIe 5.0 SSD may run at a lower speed if the slot only supports PCIe 4.0. The chipset and processor also determine how many PCIe lanes are available for storage, as shown in AMD's Socket AM5 chipset page.

PCIe Generations and Data Rates

Each new PCIe generation doubles the data rate per lane. For example, PCIe 3.0 provides about 1 GB/s per lane, PCIe 4.0 about 2 GB/s, and PCIe 5.0 about 4 GB/s, though these figures include encoding overhead. The exact numbers are defined in the PCIe base specification, but the key point is that a newer generation offers more bandwidth for the same number of lanes.

A PCIe 4.0 x4 link, which is common for NVMe SSDs, offers roughly 8 GB/s of raw bandwidth, while a PCIe 3.0 x4 link offers about 4 GB/s. In practice, the sequential read speeds of NVMe SSDs are often limited by the PCIe generation and lane count. For instance, a modern NVMe SSD can exceed 7,000 MB/s, which requires a PCIe 4.0 or newer x4 connection, as mentioned in Solidigm's SATA to NVMe technical brief.

The PCIe generation also affects the performance of the entire system. A motherboard with PCIe 5.0 support for NVMe can provide even higher bandwidth, but the SSD must also support that generation to take advantage of it. The AMD Socket AM5 chipset page lists which chipsets provide PCIe 5.0 lanes for NVMe, such as the X870E and X670E, while others like B840 only offer PCIe 4.0 for storage.

Lane Counts and M.2 Keying

The number of PCIe lanes allocated to an NVMe SSD directly affects its performance. Most M.2 NVMe SSDs use x4 lanes, but some M.2 slots only support x2 lanes, which halves the available bandwidth. The M.2 key type indicates the maximum lane count: B-key supports up to two PCIe lanes, while M-key supports up to four, as stated in Samsung's internal SSD installation FAQ.

A Samsung NVMe M.2 SSD uses M-key to maximize performance with PCIe x4, and it cannot be inserted into a B-key slot. The performance of a PCIe NVMe M.2 SSD with four lanes is approximately twice that of one with two lanes, according to Samsung's internal SSD installation FAQ. Therefore, it is essential to check the M.2 slot's key type and supported lanes before purchasing an SSD.

For add-in cards (AICs), the PCIe slot's physical length determines the maximum number of lanes. A x16 slot can provide up to 16 lanes, but an NVMe SSD typically uses x4 or x8 lanes. The EDSFF form factor also offers options for x4 or x8 lanes, as described in SNIA's SSD form factors page. When installing an NVMe SSD, the motherboard's manual or the chipset specifications indicate which slots support the required lane count and generation.

Checking Motherboard Compatibility

To determine the maximum performance of an NVMe SSD, one must check the motherboard's PCIe slot generation and lane configuration. For M.2 slots, the key type (B or M) and the supported PCIe generation are usually printed in the manual or on the motherboard itself. For example, a motherboard with an M-key M.2 slot that supports PCIe 4.0 x4 can run a PCIe 4.0 NVMe SSD at full speed.

The chipset also plays a role in how many PCIe lanes are available for storage and other devices. For instance, the AMD Socket AM5 chipset page shows that the X870E chipset provides up to 24 PCIe 5.0 lanes for graphics and NVMe, while the B840 provides only PCIe 4.0 lanes for NVMe. This information helps in selecting a motherboard that matches the SSD's capabilities.

When building or upgrading a system, it is also important to consider the physical installation. Samsung's FAQ advises that NVMe M.2 SSDs do not come with screws, as motherboard manufacturers usually provide them, and that an M.2 SSD can be used in a traditional PCIe slot with an adapter, but the original M.2 slot is recommended for optimal performance, as noted in Samsung's internal SSD installation FAQ. For more details on how motherboards allocate PCIe lanes and slots, refer to motherboards and chipsets.

How to check NVMe SSD compatibilityStep 1: Identify the M.2 slot key type; Step 2: Check the slot's PCIe generation; Step 3: Confirm the number of lanes; Step 4: Compare with SSD's requirements; Step 5: Install and verify in BIOSHow to check NVMe SSD compatibilityIdentify the M.2 slot key typeCheck the slot's PCIe generationConfirm the number of lanesCompare with SSD's requirementsInstall and verify in BIOS
How to check NVMe SSD compatibility
PCIe lanes and NVMe SSD performance
PCIe GenerationLanesRaw Bandwidth (approx.)Typical NVMe Use
PCIe 3.0x44 GB/sOlder NVMe SSDs
PCIe 4.0x48 GB/sCurrent mainstream NVMe SSDs
PCIe 5.0x416 GB/sHigh-end NVMe SSDs
PCIe 4.0x24 GB/sBudget M.2 slots (B-key)
PCIe 5.0x832 GB/sEnterprise EDSFF drives

Frequently asked questions

What is the difference between PCIe 3.0 and PCIe 4.0 for NVMe SSDs?

PCIe 4.0 doubles the data rate per lane compared to PCIe 3.0, so a x4 link provides about 8 GB/s instead of 4 GB/s. This allows NVMe SSDs to achieve higher sequential read and write speeds, often exceeding 7,000 MB/s.

How many PCIe lanes does an M.2 NVMe SSD use?

Most M.2 NVMe SSDs use four PCIe lanes (x4), but some M.2 slots only support two lanes (x2). The M.2 key type indicates the maximum: B-key supports up to x2, while M-key supports up to x4.

Can a PCIe 4.0 NVMe SSD work in a PCIe 3.0 slot?

Yes, it will work, but it will run at PCIe 3.0 speeds, reducing its maximum bandwidth. The SSD will still function, but sequential performance will be limited to the slower generation.

What is the M.2 B-key and M-key?

M.2 slots have keying to prevent incompatible cards. B-key supports SATA or PCIe NVMe with up to two lanes, while M-key supports NVMe with up to four lanes. Most NVMe SSDs use M-key for maximum performance.

How does one know if a motherboard supports PCIe 4.0 or 5.0 for NVMe?

Check the motherboard's specifications or user manual. The chipset and processor determine the available PCIe lanes and generations. For example, AMD Socket AM5 chipsets like X870E provide PCIe 5.0 lanes for NVMe, while B840 only offers PCIe 4.0.