I'm setting up a storage server in a typical (albeit very large) computer case. I have like 20 2 TB SATA hard drives, and I want to connect all of them to one motherboard. The most ports I found on a consumer motherboard was 15. Is there some sort of way to get like 20 SATA ports from USB C or PCIe? I don't mind slower speeds because I have SSDs to handle high-speed uploads, and most of the time I am accessing the data from a computer connected through ethernet, which has proved manageable with slower drives. Thanks for the help!
TL;DR: Your motherboard + an LSI 9211-8i, or just a motherboard with more SATA ports.
If you're willing to manage with a slightly lower amount of ports, just get a motherboard with a bunch of SATA ports! The most I know of is 22 on the ASRock Z87 Extreme11/ac.
You'll notice two things though:
- You can't find this board. Seriously, good luck.
- The specifications say "22 x SATA3 (16 x SAS3 12.0 Gb/s + 6 x SATA3 6.0 Gb/s) from LSI SAS 3008 Controller+ 3X24R Expander"
Intel only supports up to 6 SATA-III ports on the various LGA 1150 and LGA 1151 chipsets, 10 on X99 and 8 (???) on X299 (though the MSI X299 XPOWER GAMING AC supports 10.) AMD supports 6 on X370 and X399 apparently caps out at 8. Basically, that ASRock motherboard just has another third party SATA controller built in. That's no fun!
This leads us to the section option:
Add another SATA controller
@cybernard has the right idea, but I'm going to disagree with his hardware choice.
Though it's not 100% clear, it seems implied by your post that you don't need hardware RAID support, at least at a controller level. Basically, we just want to present the system with just a bunch of disks (JBOD.) This is going to allow us to save a massive amount of money compared using dedicated hardware RAID card on a card like the Adaptec RAID 71685 (retails for $1120!) which would need to have every drive connected to it (if we used the hardware RAID), since we can continue to use the onboard SATA ports.
To accomplish this, we're going to use a much, much cheaper HBA: the LSI 9211-8i (also known as the IBM M1015, or the compatible Dell Perc H200/H310.)
It has 2 x two SFF-8087 mini-SAS connectors, each supporting four 6Gb/s connections (the max for SATA-III) and up to 256 physical devices, and can be easily connected to standard SATA data using a breakout cable.
There's a wealth other cards as well, like the monstrous 40-Channel SATA 6Gbps HighPoint Rocket 750, but they're far, far more expensive, and probably overkill for your needs. Remember, you can use multiple cards, and as long as you're not bottlenecking, port multiplication is fine. Internal SATA III 1 to 5 cards can be had as low as $60; you don't need a fancy backplane (though if you're into fancy cases with fancy hot swap, boy have I got a post for you!)
Assuming this is a typical logic board, PCIe is a lower-level connection.
In other words, PCIe is actually a 'direct connect' into the PCI buss.. On the other hand, USB is usually routed thru the PCI buss THEN thru a USB controller chip, to then run thru the USB circuit.
This means that data would be handled faster thru PCIe, rather than thru the USB busses..
The speed difference of SSD would be somewhat lost by going thru USB. Additionally, a USB based assembly might well cause you further issues with issues such as auto-mount, etc....
Most companies that produce RAID controllers have similar options. What your doing isn't even hard, people do 256 hard drives via SAS/SATA expanders and chasis like the one listed below.
Clearly you need an adaptec raid controller card. The 71685 supports 24 devices natively.
4 internal and 2 external connectors. Each support 4 drives natively.
Then you add SATA/SAS expanders and you can add up to 255/6 devices.