# Which SATA expansion controller should I buy?



## kazimurtaza (Aug 9, 2014)

Hello. 

I have a FreeBSD *s*erver - (nas4free NAS4Free), and my motherboard has run out of SATA ports. *M*y server is not actually a server, it's a mid-level PC which I use for storage. Specifications are:

Motherboard: GA-G41MT-S2P which supports;
1 x PCI Express x16 slot, running at x16
2 x PCI Express x1 slots
1 x PCI slot
None of the above slots are in use.

Processor: Intel(R) Core(TM)2 CPU 6320 @ 1.86 GHz 
RAM: 2 GB Kingston - not using RAID.
FreeBsd FreeBSD: FreeBSD 9.2-RELEASE-p3 (kern.osreldate: 902001) x64-full
Partitions: UFS.

*N*ow the thing is, I can't invest much in it now, because later I'll *b*uy a proper system. *S*o I am looking for a cheap SATA controller, preferably SATA2 or SATA3 and 2 to 4 ports. So below are the links of the vendor I can buy from. Since I am in Pakistan, here customs duty is a big problem so it has to be cheap, and I have selected a few cards that seem nice and cheap. *S*o my question is which one of *th*em should I buy? *K*eeping price, performance and compatibility in mind.

http://www.aliexpress.com/item/Marvell- ... 69297.html
http://www.aliexpress.com/item/PCI-Expr ... 36600.html
http://www.aliexpress.com/item/4-Port-S ... 27106.html
http://www.aliexpress.com/item/PCI-32bi ... 00796.html
http://www.aliexpress.com/item/Free-shi ... 44700.html
http://www.aliexpress.com/item/Brand-Ne ... 57620.html
http://www.aliexpress.com/item/PCI-E-Ex ... 92775.html


Thanks,
Kazi Murtaza.


----------



## wblock@ (Aug 9, 2014)

The second and fourth appear to be Silicon Image 3124 cards, and the last is a Silicon Image 3132.  While the last has four ports, only two can be used at a time, and there are jumpers to select which two.  I've used cards based on the same chipsets.  With the latest non-RAID firmware from the Silicon Image web site, they work.  The 3132 seems fairly priced.  The 3124 cards have always seemed overpriced, and it's surprising they have not become much cheaper with time.

The third one uses a Marvell 88SE9215.  Support was added to FreeBSD in 9.2.

The other controllers use unnamed Marvell and probably ASMedia controllers.  Some Marvell controllers and the ASM 1061 are supposed to work, but I have not tried them.

Probably none of these will go as fast as the motherboard SATA ports, but they are adequate.  Also, realize that customized versions of FreeBSD may not include the drivers even if FreeBSD supports them.


----------



## TheDreamer (Sep 2, 2014)

kazimurtaza said:
			
		

> Hello.
> 
> I have a FreeBSD *s*erver - (nas4free NAS4Free), and my motherboard has run out of SATA ports. *M*y server is not actually a server, it's a mid-level PC which I use for storage. Specifications are:
> 
> ...



Looks like you're going with all internal SATA options....

short answer - go with #2 (Sil3124 - PCIe x1)

In my system, I have also run out space internally for drives...so I want more eSATA ports, and ports that support Port Multipliers....I currently have 2 5-bay enclosures on my system, and would like to add another one or two.  I have 3 older 5-bay enclosures that are looking to get back into service.  The current two are newer Sans Digital TR-5MP's (with individual drive activity LEDs along the bottom), while I have 1 older TR-5M, and a pair of Rosewill clones.  One needs a new fan, have already replaced fans in the older TR-5M and other Rosewill, both Rosewill's lost fans catastrophically, replaced the one in TR-5M preemptively.  Several years between Rosewills and fan failures, first time I wasn't home and had no indication until I lost drives.  Other drives from that time are still in use, but show permanent warnings in SMART.  Some are starting to go now.  The second time, I had monitoring and I was home, so I was able to use a table fan to keep things going for a week until I could clear the clutter around it to make the swap.  The Rosewll had been standing in for a TR-5MP that I had suspected as having problems, but never got around to examining....suspect the TR-5MP's have less hold-up time in their powersupplies, so don't like regular UPS transfers due to dropouts.  An inexpensive double-conversion UPS is now on my wishlist  :q 



> http://www.aliexpress.com/item/Marvell- ... 69297.html



Marvel 88SE9235 - PCIe x2 (kind of a waste of your x16 slot...)

I have no experience with this card, as I only had (at best) PCIe x1 slots available when looking for SATA expansion, but would guess it works similar to 88SE9215 (below).  They are both handled by AHCI, and have same quirks...and seem similar in specs other than PC interface width.



> http://www.aliexpress.com/item/PCI-Expr ... 36600.html



Sil3124 - PCIe x1

I had one of these cards in my current server, and it had worked flawless for over a year....might go back to it if my current attempts to get more eSATA ports fails.  Have also had very good luck with Sil3132 (2-port PCIe x1).  Note the Sil3124 was designed for a PCI-X interface, so the card contains another chip of some sort to convert for PCIe x1 (or PCI).

When it was in use, I had one SSD and one DVD burner connected to it.   The motherboard has only 4 SATA ports, which was sufficient when it had two HDDs (Intel fakeRAID1) + burner...and was sufficient when I got an SSD and installed FreeBSD (9.0...still haven't gotten around to sifting through what's left of the original system to see if there's anything else I can recover, one of the original HDDs failed on August 8th, replaced the other HDD a couple weeks later.  Did the capacity expansion last night.)  I already had a 2-port eSATA card from before it was FreeBSD, and only a single 5-bay....which was a separate journey of abandonment from fakeRAID5.  I'm pretty much set that its ZFS or bust now for RAID (not aware of other raid1 that checksums and would ensure its not copying bad over good while 'initializing' an array after a BSOD.)

Later I got another SSD to mirror the first...bumping the burner, and then got a big SSD cheap, which I mainly used for cache (I did buy another big SSD later, but it was over a year before I got into my system to mirror with it and do more than just caching.)



> http://www.aliexpress.com/item/4-Port-S ... 27106.html



Marvel 88SE9215 - PCIe x1

I got the version with 2 eSATA and 2 SATA-III ports....at first I had a pair of SSD drives connected to it internally, and was plagued with ahcich timeouts, to the point where there were occasional system freezes.  I moved the SSDs to an ASM1061...where they work, but only connect as SATA-I.  Which is odd, because I another card that is ASM1061 based has two SSDs connecting as SATA-III (Velocity Solo X1).

I have my 2 5-bay enclosures connected to it now, since it supports FIS based switching....performance is better, though I'm seeing occasional write timeouts.  Not sure what I'm going to try next.

The AHCI quirk is Q_NOBSYRES (Marvell controllers do not wait for readyness, so driver has to poll?)  Also thought I heard something about interrupt handling is a problem....something wants attention, but driver has to poll to find out what needs it?  Since the arrays are SATA-II, probably go back to Sil3132 (though what I want is Sil3124 PCIe x1 4-eSATA card, which were made but seem to be all discontinued  )



> http://www.aliexpress.com/item/PCI-32bi ... 00796.html



Sil3124 - PCI

I had gotten one of these for another system I was trying to upgrade, problem was that its a low profile system and the connectors are along the top edge against the case.....expect performance to be much slower than PCIe x1

PCI 133MB/s - PCIe 1.0 x1 250MB/s - PCIe 2.0 x1 500MB/s



> http://www.aliexpress.com/item/Free-shi ... 44700.html



Marvel or ASM1061 - PCIe x1



> http://www.aliexpress.com/item/Brand-Ne ... 57620.html



Marvel or ASM1061 - PCIe x1



> http://www.aliexpress.com/item/PCI-E-Ex ... 92775.html



ASM1061 - PCIe x1

This is like the card I currently have two SSDs connected to as my root disk.  They both connect as SATA-I, but otherwise they've been working well. Saw it getting to about 125MB/s while resilvering.  (had upgraded from 120G to 256G over the weekend, both old and new SSDs are SATA-III, but only connect as SATA-I here.)  Had an OCZ Agility 3 and a Patriot Pyro as the 120G's, the 256G's are SanDisk UltraPlus's.

On the Apricorn Velocity Solo x1...I have a Corsair Force GS (360GB) mounted on it, and a Kingston HyperX 240G connected.  While currently both these are SandForce Driven, and the SanDisk's are Marvel based, the OCZ and Patriot's were also SandForce Driven.

AFAIK, all (except for one SanDisk Ultra Plus) are current in firmware....been trying to figure out how to update firmware from FreeBSD today....

I previously had the version of this card with two eSATA ports...but discovered it didn't do FIS based switching, which made for much slower performance with my port-multiplier attached arrays.

At this point, I could go back to the original two eSATA ports from Sil3132 and 4 SATA-II ports from Sil3124 and everything should be good again....except that I'll have no ability to add another 5-bay enclosure, which is something I want as eventually, I'll need to migrate from the current drives (512-byte sector) to newer 4K drives.  I have one more card to try, a RocketRaid2302, though previous experience with a RocketRaid622, makes me somewhat hesitant.

I suppose I could also put the SSDs from the motherboard (which will hopefully get SATA-II then....forums seem to suggest they only work right with ICH's...while other vendors have apparently found firmware fixes...), and move the new HDDs to the ASM1061.  And, just as I was getting used to the new ada# to drive mapping...

Evidently, I accepted that the Muskin SSD in a Linux box only connects at SATA-I speed off the motherboard (its nForce based, so its a common complaint with any SSD), which I think is why I had tried to install the PCI Sil3124 card (since that PC only has a PCI slot available.)  My other two FreeBSD servers have SanDisk Extreme's (SanForce based) and they are connected at SATA-II.  (they're both fan-less SFF's...also head-less.)

FWIW, the Sil3124 and Sil3132 cards are handled by siis driver, which might be why my experience has been better with these cards than the others? 

The alternative I suppose is to custom build a new computer that has lots of PCIe x4 or better slots available to me.


----------

