Wire speed
SATA-II's maximum wire speed is 3.0Gbit/sec. That is the speed at which the wiere can be toggled. It is not the same as maximum useful data transfered over this wire. For SATA-II the maximum data your can pump over it seems to be 230-270MByte/sec.
For SATA-III you can roughly double these numbers.
Data speed
As long as you can pump quicker over the wire than the disk can read or write it you will not be limited.
Now lets look at these speeds:
Single classic rotating platter harddrives which are currently on the market (2016) max out way below this. A single HDD will not saturate a SATA-II or SATA-III channel.
RAID.
Now you mention RAID. These are at least three ways to do RAID:
- With a dedicated hardware RAID card.
- Software RAID with each drive connected to its own SATA port.
- RAID with each drive connected to a port multiplier and the port multiplier being connected to a single SATA or eSATA port on the motherboard.
Case 1: Hardware RAID:
Hardware RAID cards are usually not limited by SATA limits. Most seem to offer one cable per drive and then you have the nont-limiting bandwith of each cable/channel per drive.
Case 2: Software RAID with each drive connected to its own SATA port:
Identical to hardware RAID case. Each drive has its own channel.
One HDD on one channel is not limited.
Two HDDs on two channels are not limited.
Three HDDs on three channels are not limited.
Four HDDs on four channels are not limited.
Case 3: Port multipliers:
Each drive is not limited in its speed when communicating with the port multiplier. But the communicating speed between the port multiplier and the motherboard might get overwhelmed. This is not likely a big issue until you use 4+ modern drives on a single port multiplier connected to a SATA-III channel.
This setup is also quite rare. It edges toward business cases where the user of SAS HBA's and HW RAID cards (usually SAS based) is much more the norm.
Still, it can be a limit, so to answer the question in your title:
Can the transfer rate of SATA limit the performance of a RAID array?
Technically: Yes. It can.
In practise: It will not with HDD.
Solid state drives.
With solid states drives things become quite different. Many modern SSDs are quite capable of filling the SATA-III bus. If you use multiple drives on multiple SATA busses (think multiple SATA cables) then this remains the case. If you are building a RAID out of SSDs then: Yes, a RAID array can be limited by SATA limits.
The solutions for that were SATA express (barely used, but faster) and the M.2. M.2 offers up to 4 PCI-e lanes to communicate with an NVME SSD, and even that limit is currently reached by newer SSDs. (Example: Samsung 961 with 3200MB/sec read speed).
Recap:
If you use a normal user setup with classic harddisks or not top of the line SSDs: No, SATA will not or barely limit you.
6 GBit/s is actually 0.75 GB/s, since a byte is 8 bits. 6 GBit/s is 750 MB/s or 6000 MBit/s. – cascer1 – 2016-10-14T12:10:23.143
14x 250 milli bit per second is indeed not 1 giga byte per second. – Hennes – 2016-10-14T12:18:09.583
@cascer1 6GBit/s=0.6GB/s=600Mbit/s. Here's a wikilink https://en.wikipedia.org/wiki/Serial_ATA#SATA_revision_3.0_.286.C2.A0Gbit.2Fs.2C_600.C2.A0MB.2Fs.29 You're talking about gibibits or gibibytes, etc. You have them mixed. Anyway, even if you would be right, it doesn't help the question at all.
– Andrei – 2016-10-14T12:30:33.140@Hennes You cannot have subunits for bits, so I think it is clear enough that m stands either for 10^6 or 2^20. This doesn't help the question in any way. – Andrei – 2016-10-14T12:33:35.083
1Yes, I could (should) have let the m vs M part slip. But the b (bit) vs B (byte) part is rather important. – Hennes – 2016-10-14T12:35:26.313
I interpreted Gbit as GigaBit (10^9 bits) and GB as GigaByte (810^9 bits), I then interpreted MB as MegaByte (810^6 bits) and mb as MegaBit (10^6 bits)
Conversion table on Wikipedia
I believe this discussion is important to the overall quality of content on the site, we don't want people reading this and assuming a byte is 10 bits.
@Hennes bit is always written as bit and b or B means byte. I don't care about IEEE, but only about IEC/ISO. Still not relevant to the question. – Andrei – 2016-10-14T12:43:22.543
Furthermore, I'm not sure where that 600MB/s even comes from. Any conversion method I use (own calculation, Google, Wolfram Alpha, Conversion table on wikipedia) says that 6.0Gbit/s equals 750 MB/s – cascer1 – 2016-10-14T12:45:35.837
@cascer1 8b/10b Encoding. So basically you just divide by 10 and magically receive the actual transfer rate. – Daniel B – 2016-10-14T12:54:27.593
In the context of SATA you should take into account 8b/10b encoding https://en.wikipedia.org/wiki/8b/10b_encoding I think it would have been pointless to mention this in the question itself, as it doesn't change the meaning of the question at all, but it complicates it without adding any new information.
– Andrei – 2016-10-14T12:54:49.167