Hacker News new | ask | show | jobs
by hamstergene 4265 days ago
You should divide 20Gbps by 9 bits (2275 MB/s) or even by 10 (2048 MB/s), not by 8, because in addition to useful payload, there are also packet headers and control packets being transferred. So it actually doesn't.
1 comments

"Packet headers and control packets" are not the reason you should divide by 10. The reason is that Thunderbolt uses 8b-10b encoding so 1 byte of data is transferred as 10 physical bits. Therefore the maximum theoretical usable bandwidth is 20e9/10/1024/1024 = 1907 MiB/sec. Then on top of that you have to deduct the overhead from packet headers and control packets so the real-world usable bandwidth is even less than 1970 MiB/sec...
I believe 2560 is the post-coding bandwidth. Links are usually 3.125 Gbps before coding.