Is SATA bandwith per Port or per Controller?

9

2

I always assumed that it was per Controller channel, and that If I have 4xSATA 3.0Gb/s ports on my Motherboard then I should have a potential 12.0Gb/s of bandwidth. However, after doing some searching I found conflicting information suggesting that if I had 4xSATA drives connected to my MB and were using them simultaneously each drive would get only 3.0Gb/s /4 = 768 Mb/s max bandwidth. So I wanted to clear up my understanding.

Side question: Are there other hdd/ssd bandwidth bottlenecks to be aware of? (Links to already answered questions are more than welcome)

instanceofTom

Posted 2011-02-15T00:11:23.287

Reputation: 472

yes you interpret "serial" wrong, it means it is sending the bits of a byte (+overhead) serially on one line pair, it does not mean it daisy chains multiple devices. Each SATA device is speaking with one controller port. For SATA Revision 3.x this would be with 6Gbps (since this is 8b/10b encoding it would be 4.8Gb/s useable: 600MB/s). – eckes – 2015-08-19T16:53:18.020

I thought it was per controller, but that could be me interpreting the "serial" in "SATA" too literally. – None – 2011-02-15T00:23:51.057

Answers

5

It's a bit of a loaded question,

It is per controller but where your controller resides and what controller you have will affect the maximum total throughput. If you're running on some old onboard controller or add on controller using PCI or PCIEx1 you'll never see any noticeable benefits beyond additional space. If you're using a moderate onboard such as an Intel ICH9H which has about 4.5Gb total throughput you will see marginal gains. To get any noteworthy gain you would need to be running off a hardware based, RAID controller attached to PCIEx4 or better.

For example my main drive on my home server ranks 5.9 in windows 7 performance ratings, my 4 drive raid 5 consisting of 4 identical drives to the main boot drive has a backup boot partition, when I boot from that partition I see gains but the rating only improves to 6.4. This is using the ICH9H referenced earlier.

My recovery Workstations run similar arrays utilizing PCIEx16 based controllers and spank the 7.9 rating. Bottom line, 3Gb/s per drive up to the limitations of the channel your controller resides on. Better Bus for the controller = better max speed by spreading across channels. Once you max out the bus you'll only see marginal gains improving drive spec like better seek times.

Chris - Armor-IT

Posted 2011-02-15T00:11:23.287

Reputation: 761

Do you mean it is per "controller" or "per port"? I see nothing in the SATA line interface which is controller specific. So the transfer rate is the port (of course most controllers cannot process or forward the aggregated capacity of all ports, but thats not a protocol limitation. – eckes – 2015-08-19T16:54:54.520

5

It's per connector, but other factors will limit your maximum bandwidth. For example, Intel's ICH9 chipset has a maximum throughput of ~600 MB/s. Googling for information on running SSDs in RAID will yield results where combined bandwidth exceeds that of a single port, making the conclusion obvious.

afrazier

Posted 2011-02-15T00:11:23.287

Reputation: 21 316

0

Basiclally, it's per Controller. There are other intricacies and nuances, but I'll type em later.

surfasb

Posted 2011-02-15T00:11:23.287

Reputation: 21 453

Do you mean it is per "controller" or "per port"? I see nothing in the SATA line interface which is controller specific. So the transfer rate is the port (of course most controllers cannot process or forward the aggregated capacity of all ports, but thats not a protocol limitation. – eckes – 2015-08-19T16:55:09.513

(actually there is, using port multipliers, but normally SATA is point to point) – eckes – 2015-08-20T01:23:24.710