Racira Calculator

PCIe Bandwidth Calculator

PCIe Bandwidth Calculator

Link
bytes

128, 256, 512, 1024, 2048 or 4096.

Workload
%

The rest is posted writes.

Data Rate Per Direction
31.51 GB/s
PCIe 4.0 at x16 — 256 Gb/s raw link, 28.04 GB/s after transaction overhead
Raw Link256 Gb/s
Usable28.04 GB/s
Mixed IOPS827,470
Link ItemValue
GenerationPCIe 4.0
Link widthx16
Signalling rate of 16.0 GT/s per lane256 Gb/s raw · 32.0 GB/s
Encoding overhead 1.5% (128b/130b)252 Gb/s after decoding
Data rate per direction31.51 GB/s
Transaction layer overhead 11% for headers and CRC28.04 GB/s usable
Delivered efficiency against the raw link87.6%
Legacy datasheet figure for this width8.0 GB/s (PCIe 2.0 equivalent)
Maximum payload size 256 bytes0.25 KiB per transaction
Read latency of 1.5 µs round trip662,909 read IOPS
Write latency of 0.5 µs, posted1,966,559 write IOPS
Mixed workload at 70% reads827,470 IOPS
Bytes that must be in flight to cover the read round trip42,063 bytes
PCIe 1.0 / 1.1 at x1640 Gb/s raw · 3.56 GB/s usable
PCIe 2.0 / 2.1 at x1680 Gb/s raw · 7.12 GB/s usable
PCIe 3.0 / 3.1 at x16128 Gb/s raw · 14.02 GB/s usable
PCIe 4.0 at x16256 Gb/s raw · 28.04 GB/s usable
PCIe 5.0 at x16512 Gb/s raw · 56.08 GB/s usable
PCIe 6.0 at x161,024 Gb/s raw · 107.69 GB/s usable
PCIe 7.0 (in development) at x162,048 Gb/s raw · 215.38 GB/s usable
Usable throughput28.04 GB/s · 87.6% of raw
Summary Statistics
GenerationPCIe 4.0
Link widthx16
Data rate per direction31.51 GB/s
Usable throughput28.04 GB/s
Read IOPS662,909
Write IOPS1,966,559
Payload size256 bytes
Delivered efficiency87.6%

The link moves 31.51 GB/s per direction after encoding, and a realistic workload sees about 28.04 GB/s — with 256 byte payloads and a 70% read mix, throughput tops out near 827,470 IOPS.

What Is a PCIe Bandwidth Calculator?

A PCIe bandwidth calculator converts a generation and a link width into the throughput the link can actually deliver: raw signalling rate, the data rate after line encoding, the usable rate once transaction overhead is paid, and the IOPS ceiling for a given payload size and read/write mix. It is the difference between the number on the box — PCIe 5.0 x16 — and the number an application measures, which is why a card that looks starved on paper often turns out to be latency-bound rather than bandwidth-bound.

Both figures matter because they answer different questions. Bandwidth decides how long a large sequential transfer takes; IOPS decides how many small random accesses a device can sustain, and in most real workloads the second number is the one that limits performance.

How It Works

Each PCIe generation sets a signalling rate per lane — 2.5 GT/s for 1.0, 5 for 2.0, 8 for 3.0, 16 for 4.0, 32 for 5.0, 64 for 6.0 — and the link carries that rate on every lane in both directions simultaneously. The transfer rate is not the data rate: 8b/10b encoding on the first two generations spends 20% of the bits on ensuring DC balance and clock recovery, while the 128b/130b scheme from 3.0 onwards spends under 2%, and PCIe 6.0 replaces it with a 242/256 FLIT encoding. PCIe 4.0 x16 therefore carries 256 Gb/s of raw signalling but delivers about 252 Gb/s, or 31.5 GB/s, of decoded data per direction.

The transaction layer takes its own share. Every packet carries a 12 to 16 byte header plus up to 4 bytes of CRC, so a 256 byte payload spends roughly 11% of the link on framing while a 4,096 byte payload spends closer to 2%. That is why maximum payload size is worth configuring: moving from 128 to 512 bytes changes real throughput measurably on the same hardware.

IOPS then follows from latency rather than bandwidth. A 4 KiB random read needs a round trip of one to two microseconds before its data returns, so a single queue cannot exceed a few hundred thousand IOPS no matter how wide the link is. Once the queue is deep enough to cover the round trip, the link's bytes per second becomes the limit again — which is why enterprise drives use queues dozens deep and why the two ceilings have to be computed separately.

Understanding Your Results

The primary card is the data rate per direction at the selected generation and width. The three-stat bar sets the raw link rate, the usable throughput after overhead and the mixed-workload IOPS side by side.

The breakdown table walks from the per-lane signalling rate through encoding and transaction overhead to the effective rate, adds the legacy datasheet figure for that width, the read and write IOPS ceilings at your payload size and a comparison of every generation at the same link width, which is the quickest way to see what a generation upgrade buys. The summary panel repeats the headline numbers and prints the verdict line.

Two cautions on use. The model applies a fixed 11% transaction overhead, which matches a 256 to 512 byte payload well but overstates the cost for 4 KiB payloads and understates it for 128 byte ones; adjust your expectation rather than the model if your traffic differs. And real systems rarely achieve these figures end to end: chipset-attached slots share uplink bandwidth, switches add their own latency, and the host's memory bandwidth and software stack impose their own ceilings. Use the numbers as the link's capability, not as a promise about your application.

Frequently Asked Questions

Related Calculators