Converting GT/s to Gbps is quite easy once the mechanics involved become clear.For example, let’s take the most common situation where converting GT/s to Gbps is very useful, PCIe (PCI Express) performances are always expressed in GT/s, while Network Card performances, instead, are expressed in Gbps. So, how can I compare PCIe performances with network card ones?
PCIe 3.x
We know that a PCIe 3.0 1x can handle up to 8GT/s (985 MB/s), so, in an x8 format (8 lanes), it can handle up to 64 GT/s (7880 MB/s) per card.
To convert this value in Gbps we need to consider PCIe encoding scheme (because the encoding creates overhead during data transfer), 128b/130b for PCIe 3.0 and 8b/10b for PCIe 2.x (this means that PCIe 3.0 requires 130 bits to encode 128 bits of data and PCIe 2.0 requires 10 bits to encode 8 bits of data).
So, to convert our 64 GT/s into Gbps for PCIe 3.0:
64GT/s * (128b/130b) = 63.01Gbps
Theoretically an 8x PCIe 3.0 network card can transfer, over a PCIe 3.0 x8 slot, up to 63.01 Gbps.
PCIe 2.x
If instead you want to convert PCIe 2.x performances:
PCIe 2.0 1x can handle up to: 5GT/s (~500MB/s), so in an x8 format means a total of 40GT/s (~4GB/s) per card.
40GT/s * (8b/10b) = 32Gbps
PCIe 4.x
If the specifics of PCIe 4.0 will stay the same until it’ll be released, then for PCIe 4.0 the numbers are the following:
PCIe 4.0 x1 will handle up to 16GT/s (~2GB/s) and will require the same encoding scheme of PCIe 3.0 so, on a x8 slot, it will be able to handle up to: 128GT/s (~16GB/s):
128GT/s * (128b/130b) = 125.44Gbps on x8 card
Conclusions
From what we just seen we can deduce that Gbps is the effective data rate of the PCIe while GT/s is raw measure.
We can also deduce that the overhead imposed by PCIe 3.0 is of 1.54% of the bandwidth:
((130b-128b)/130b)*100 = 1.54%
While the overhead in the previous generation PCIe 2.x was of 20%:
((10b-8b)/10b)*100 = 20%
A common question at this point would be “So, now that I know how to convert mathematically GT/s into Gbps, do I know the exact performance of my Video Card or Network card etc…?”
The general answer to this question is “not always“. The reason why so is that you need to be careful to read the SPECS of your PCIe device. Many Vendors report “Max Bandwidth” (which usually means “maximum potential bandwidth”, or nominal bandwidth). However, the effective bandwidth that your device will use of the total available on the PCIe is based on the card performances itself (some NIC card, for example, come with a PCIe 2 x8 slot, but it cannot use it all because the NIC controller it’s either not fast enough or because of buffer limitations etc, so, their effective bandwidth will be less than the bandwidth offered by the PCIe 2 x8 slot). This is also the reason why this article is called “Converting GT/s to Gbps” and not something like “Effective PCIe bandwidth usage…” which is a total different discussion and would be specific for each system and device used.
Ok this is it for now, thanks for reading and, I hope you’ve found some useful information here. If you want more articles on this matter please let me know in the comments below.
If you enjoyed this post, please don’t forget to support my blog by:
- Visiting my on-line hacking and engineering merchandise shop on redbubble.com by clicking here
- Or you can also make a donation with the PayPal link in the column on your right
- Or share this article
If you like my articles and want to keep getting informed on new ones you can follow me on on of those 21st Century thingies called Facebook, Twitter, Instagram or Pinterest
And as always, if you have any questions please feel free to use the comments section below.
Thank you!
Thanks for this blog post, I had to do a little research on PCIe 3.0 16x speeds and you made the math easy. -S
LikeLiked by 1 person
My pleasure!
Cheers,
– P.
LikeLike
Thanks for your clear explanation but what about PCI E x1 and x16. Regards, j@n
LikeLiked by 1 person
Hi, thanks for reading my blog.
Not sure I understand your question, PCIe x1 in which release of PCie? 2.x, 3.x or 4.x? For 2.x the answer is already in the article, re-read the top of it please. For PCIe 3.x you can calculate a x8 speed / 8 😉 (so it comes around 7Gbps for x1) and for x16 obviously you can multiple x1 to (well) x 16 = ~ 112Gbps etc…
So, if you have understood the logic explained in the article, you can simply calculate the values you need. However, again, these values are max transfer supported on the specific PCIe release, but it absolutely doesn’t mean that it is the actual speed at which a card is using the bus. The actual speed depends on the card itself as well, not just on the PCIe bus.
LikeLike
Everything is very open with a precise clarification of the issues. It was definitely informative. Your site is extremely helpful. Thank you for sharing!
LikeLike
Thanks for this post. Those GT/s units were driving me crazy but now I understand what the difference is. So I’m trying to do some research into repurposing my Dell XPS 8300 into a FreeNAS storage server and would like to be sure that whatever components I purchase will give me adequate data rates. When I see a 4 port SATA 3.0 card that connects to a PCIE 3.0 1x connector does that 1x lane have adequate speed to support 4 SATA 3.0 drives without saturation? My math tells me that 4 – SATA 3.0 ports can consume 24 Gb/s (4 x 6Gb/s) and the PCIE 3.0 1x lane will only provide 7.88 Gb/s so I need to be looking for a higher performance SATA controller card. Do you agree?
LikeLiked by 1 person
Hi and thanks for reading 🙂
So, in terms of theoretical bandwidth only, you are correct, however there is more to consider than just the theoretical bandwidth (please read the end of my article again, in case).
For example, in your case, you also want to ensure that the disks you are using can saturate the SATA bandwidth and how much SATA bandwidth your SATA controller can actually achieve (not all SATA 3 controllers can actually achieve 6Gbps and definitely not all disks!).
Another important consideration is, if your controller can actually control multiple disks at the same time or not, because if it can’t then the controller will only do one transfer per time and in this case a x4 PCI 3.0 connection won’t be saturated.
The reason many SATA controllers use a x1 connection is because they can only support one transfer per time and thus there is no need to use more PCI lanes.
When and if you get all the controller and disk thingy correctly then you also need to ensure that what’s on the other side of your PCI bus can handle that bandwidth. So, your RAM memory performance, number of channels and CPU cores.
And finally you’ll need to ensure that the File Server process you are going to use is at least multi-threaded, so that it doesn’t get frozen by the OS at every single I/O operation as a whole, because in such a case the Server would become the bottle neck.
On top of all this, you also need to ensure that the NIC card can handle that ( especially if the File Server is serving more clients ), because a 1Gbps NIC will reduce the bandwidth served to (well) 1Gbps. So in this case why bother trying to push the disks performances?
There are more details that should be discussed, but the above are the big “steps” to ensure are done correctly in order to be able to use the theoretical bandwidth of 24Gbps for a NAS.
Hope this helps, good luck with your project and all the best,
– Paolo
LikeLike
Hey thanks for the guidance. I should have thought about the PCIE 1x configuration being only one disk access by the controller. I found the following card that should take care of the problem. I have an onboard network connection but will double check that I can be assured of gigabit speeds.
12G External PCI-E SAS/SATA HBA Controller Card, Broadcom’s SAS 3008, compatible for SAS 9300-8E
Thanks again for your insight!
LikeLiked by 1 person
No problem, I am here to help if I can 🙂
> 12G External PCI-E SAS/SATA HBA Controller Card, Broadcom’s SAS 3008, compatible for SAS 9300-8E
Yup that Broadcom card does up to 12Gbps only when using SAS disks and protocol, the reason for this is that SAS disks and protocol supports way more IOPS than SATA does. If one uses that card with SATA 3 disks it will still perform at max 6Gbps (if the disks can reach that bandwidth).
So, for whoever will read this in the future, ensure you understand how the controllers and protocols used works before assuming PCIe theoretical bandwidth is going to be saturated.
Again good luck and, if you would like, let me know how it goes! Cheers,
– Paolo
LikeLike