0

I'm looking at a StarTech SATA card here. This is a SATA-III (6Gb/s) card with a PCI-Express 2.0 x1 interface. I'm a little confused here...

This means this card will not support the full 6Gb/s transfer rate of the SATA-III protocol? Why would anyone buy it and why are these cards so prolific if this is the case?

Rich M
  • 378
  • 1
  • 3
  • 18
  • 1
    Are there many SATA _disks_ which support the full 6 Gb/s transfer rate in practice? – u1686_grawity May 03 '19 at 10:13
  • @grawity The answer to that question depends on many "moving" parts. No excuse to produce sub-standard hardware though, if you claim it's a 6Gb/s card, make sure it can actually support that, i.e. PCIe 2.0 x2 or PCIx 3.0 x1 – Rich M May 03 '19 at 10:21
  • It still can support that e.g for disk to disk transfer. If you're dissatisfied with a product just move on. The limitation you're mentioning is even explicitly stated on the [product page](https://www.startech.com/Cards-Adapters/HDD-Controllers/SATA-Cards/2-Port-PCI-Express-SATA-6-Gbps-Controller-Card~PEXSAT32). What is your actual question? – Seth May 03 '19 at 10:54
  • @Seth Just read through the page and can't see the limitation you're mentioning? I can see the following though: "Supports SATA Rev 3.0 transfer speeds up to 6.0Gbps" and "With full support for SATA 3.0 hard drives and data transfer speeds of up to 6 Gbps" and "Twice the speed of SATA II (3Gbps)". My questions are followed by question marks in the original post. – Rich M May 03 '19 at 11:47
  • I don't know what's not clear about the statement on the technical specs "The maximum throughput of this card is limited by the bus interface. If used with PCI Express Gen 1.0 enabled computers, the max throughput is 2.5 Gbps. If used with PCI Express Gen 2.0 enabled computers, the max throughput is 5 Gbps. Only one port can use the Port Multiplier feature at a time.". Your questions with your previous statements make them seem rhetorical. For instance you would use that card if you need more SATA ports and don't care about the speed or 5 Gbps is good enough for you. It's a cheap controller. – Seth May 03 '19 at 11:57
  • @Seth Fair spot, I clearly missed that completely! – Rich M May 03 '19 at 12:20

1 Answers1

1

This means this card will not support the full 6Gb/s transfer rate of the SATA-III protocol?

No, it can, because you are probably making invalid assumptions.

The SATA interface is a synchronous channel at a fixed speed of 1.5, 3.0 or 6.0 Gb/s. You cannot slow down or vary this speed. The channel is either idle, or active and then data is transferred at a fixed rate.

The SATA interface is not directly connected to the PCIe bus. There is no stream of bits flowing from the SATA interface directly to the PCIe bus that requires the data rates to be synchronized.

Rather the transfers between these two interfaces is fully buffered. A block of command and data has to be successfully received over an interface before that block is forwarded to the other interface.
This discrete and sequential transfer of buffered blocks is common in computer and network devices (e.g. see store-and-forward switching).

Whenever there is a disparity between the speed of the receiving and sending channels, an intermediate storage buffer is the simple solution for digital data. The buffer also allows processing of the data block, such as in a HDD between the Read/Write heads and the host (e.g. SATA) interface. That intermediate (and not well known) buffer in the HDD is known as the sector buffer, and is needed to perform validation and error correction (on reads) or ECC generation (on writes) (also see When a disk read or disk write occurs, where does the data go?).

Bottom line, if the adapter claims that it has a SATA 3 interface, then that card will support the full 6Gb/s transfer rate of the SATA-III protocol.


Note that both SATA (all versions) and PCIe 2.0 use a 8b/10b encoding scheme. Every eight bits of actual data are expanded into a 10-bit code for transmission on the interface.
So the effective data rate of SATA 3 is 600MB/s compared to the 500MB/s of PCIe 2.0 1x (i.e. the speed difference is not as large as you assumed).
See What is the actual speed of SATA 3?

sawdust
  • 17,383
  • 2
  • 36
  • 47
  • Sorry if I stepped on your edit. Just attempting to handle paragraph formatting. – Giacomo1968 May 03 '19 at 22:28
  • @sawdust Some good points, but sorry to be a pedant; 6 gigabits does not equal 600 megabytes. The SATA-III protocol is rated at 6 gigabits per second which is 768 megabytes per second. Besides, as Seth pointed out above, the manufacturer states that the maximum throughput rate is limited by the bus interface. i.e. cannot support full 6Gb/s rate. – Rich M May 07 '19 at 15:03
  • *"sorry to be a pedant; 6 gigabits does not equal 600 megabytes."* -- Then try reading what is written and/or follow the links. The 6Gb/s is 8b/10b **encoded**, so there's only 4.8Gb/s of actual data, which converts to 600MB/s of actual data. – sawdust May 07 '19 at 21:13
  • Seth is merely stating the obvious: the throughput of transfers is dominated by the slowest rate. A more expensive adapter is not going to be capable of faster throughput. However, the *"cannot support full 6Gb/s rate"* is a widespread misunderstanding by end-users who simply don't understand electronic interfaces. The SATA signaling always occurs at the fixed 6Gb/s rate (when connected to a SATA III device), but there can be time intervals of no activity. Users are averaging the data transfer over time, and incorrectly conclude that the SATA (averaged) transfer rate is slower than claimed. – sawdust May 07 '19 at 21:17