Promise SATA300 TX4 SATA 2.0
Phoronix: Promise SATA300 TX4 SATA 2.0
We don't review many disk controllers or hard drives at Phoronix but we decided to take a quick look at the Promise Technology SATA300 TX4 PCI controller card, which promises to be a cost-effective 4-port Serial ATA 2.0 controller. Two of the features include Native Command Queuing and Tagged Command Queuing support, but how does its performance compare to solutions integrated on the motherboard? In this review of the Promise SATA300 TX4 we tested it with Ubuntu 7.04 Feisty Fawn using an nForce 430 chipset.
Nice review. But there is one missing thing: CPU usage comparison.
It would be nice to see how much percent of CPU is used.
No RAID support a GOOD THING
Nice review. I'm a recent first-time builder who built before
discovering this site. My motherboard reqs included many (6-8) SATA
ports, when in hindsight I should have aimed instead for 8 DIMM slots,
and bought this board. I may yet rebuild.
I was puzzled by the "No RAID support" comment without elaboration.
That is a GOOD THING. A pointer to Linux software raid would have
helped beginners here.
Linux software raid is vastly superior to any hardware raid in
anything close to this price range.
1. Such hardware raid at this price point, e.g. what would be built
into a motherboard, is widely termed in the Linux community as "fake
raid". It relies mostly on the cpu, just like Linux soft raid, only
with far less flexibility or support.
2. If the hardware fails, chances are that you're hosed unless you can
replicate the exact hardware again. Move soft raid drives to any new
Linux box and the soft raid will be recognized automatically.
3. Soft raid stays ahead of hard raid in feature sets, e.g. raid 6
support, ease of adding drives.
4. Soft raid is far more abstract. For example, I'm using the largest
partitions on each of three 750 GB drives for a 1.3 TB raid 5 array,
still leaving partitions free e.g. to spread swap over the same three
drives, rather than on my OS drive. This is optimized for either
compute or file serving; I'll be favoring one at a time, so no
performance conflict. A hardware raid could force me to dedicate
entire drives to the raid array; how likely is it that I would then
have three more drives available for spreading out swap? With this
same flexibility, I plan to write rendundant (lose any two) DVD backup
sets, using ordinary loopback-mounted files organized into a raid 6
Hardware raid just locks you into someone else's lack of imagination.
Linux software raid barely gets one of my four cores out of idle; as
my break-in test I used my raid array to repeatedly build 30 copies at
once of GHC Haskell from source. It worked flawlessly.
Software RAID vs Single Drive Performance + CPU Utiliization
I second the comments of Syzygies. I have two Abit IC7-G mobos, each of which has 4 on-board SATA ports. Each is running a 4-drive RAID-5 configuration with multiple volumes managed using Linux LVM.
I would love to be able to move at least one of these arrays to an old Pentium3 box as a server that I can park somewhere out of my workspace (noise reduction). Up till now, the only option to accomplish this was an expensive "true" hardware RAID controller*, such as 3Ware offers. (Bring money.)
(* True RAID controllers present the OS with one or more logical drives and completely insulate the OS from the physical details of the array. Many also offer hardware-based checksum engines, on-board caching, etc. The "pseudo" RAID offered in motherboard chipsets is a lame attempt at "claiming" RAID support, when the result is really software RAID, and often an inferior implementation at that.) /rant off
So, I would be *very* interested in benchmarks using this controller that cover the following configurations:
RAID-0 (striping, no parity)
RAID-5 (striping with parity)
all, while looking at CPU performance during the tests.
Oh, and while 'hdparm' is nice and quick, something like 'dbench' yields (IMO) more interesting results.
Last edited by buckyball; 08-27-2007 at 03:59 PM.
I was looking for info on this board at Newegg.com and noticed that there have been a number of cases of this board not working with a variety of older boards. (read all reviews in the "Poor" rating category).
Upon review of the Promise datasheet:
It appears that this board conforms to the PCI 2.3 sepcification. I remember having heartburn with PCI 2.2 cards on PCI 2.1 motherboards, so this may be another round of the same type of issue, though I cannot say that with any authority.
Apparently the list of "compatible" mobos on the Promise site is limited.
I've been running this board in a server for about a month now and it's been great. I did have a small problem recently where the computer wouldn't POST past the board's BIOS, but it turned out to be either heat or memory related (clearing CMOS and removing a stick of RAM allowed the server to boot - good enough for me ). I had the controller parked next to a video card, so that might have been causing some issues.
This is the one I've got:
01:0a.0 Mass storage controller: Promise Technology, Inc. PDC40718 (SATA 300 TX4) (rev 02)
I bought it even though my motherboard wasn't on the supported list, but haven't had any issues with it. I'm running a 4x500GB RAID6 array and it gives me decent read performance (and confidence that I won't lose everything!):
Timing cached reads: 810 MB in 2.00 seconds = 404.73 MB/sec
Timing buffered disk reads: 314 MB in 3.02 seconds = 104.12 MB/sec
Just curious - what mobo are you using?
For others reporting their experience with this card, please report the make/model of your motherboard. Thanks!
Unfortunately I have to reverse engineer the mobo model/version from the command-line, as it's on a different floor and I'd have to open it up or reboot it.
I believe it's an ASUS A7N8X motherboard with an nforce2 chipset. I've had good luck with this motherboard - it replaced a crappy one that had trouble with AGP, then recently became the brains of a big RAID6 server.
Vendor: Phoenix Technologies, LTD
Version: ASUS A7N8X2.0 ACPI BIOS Rev 1007
Release Date: 10/06/2003
Runtime Size: 64 kB
ROM Size: 256 kB
The server has been running for about two weeks with no problems, with the exception of one day where I was getting an oops every 15-30 minutes. I removed a stick of RAM, moved the card to a different slot and reset the CMOS at the same time, so I don't know what the cause was. Whatever it was, it didn't happen for two weeks, and hasn't happened since (didn't replace the card).
It's survived > 100G of straight data writes, a full md rebuild, nightly md checks and heavy backup loads without any hiccups (except as noted above).
Last edited by mmastrac; 08-30-2007 at 05:43 PM.
Can get it to work
OK Big Problem... I bought this card and 2 addition 1TB HDs. But now I can not get them to work at ALL. I am trying to run ubuntu server intrepid. I have tried both the plug and play method (modprobe promise-sata) and building the kernel from promise raids website. When I try to build the module I get an error:
Makefile:57: *** Linux kernel source not configured - missing config.h. Stop.
And it doesn't build. can anyone help me with this. I would really like to get the 2TB hds connected to my machine. I am using a P4 MOBO, cant remember off the top of my head the exact one, but it is an MSI board. I am ready to go to windows and see if that works (even though I DO NOT want to do that). But I am getting a headache on this one.
any help would be great... I have tried to post at ubuntu but no one response. I would be happy if it just worked out of the box the way it says it should with the promist-sata module.
Anway thanks in advance.
OK I made it home... I have a MSI 865PE Neo2 ms-6728 Ver: 1 Motherboard.
Last edited by super_sobbie; 02-19-2009 at 09:55 PM.
The easiest thing to do is to use distro at version or later which is presented in article. This way you will not meet any troubles.
Originally Posted by super_sobbie
If you want to use your own distro make sure the distro is up to date, which means you installed distro from the most recent cd iso release. If kernel version in such distro is equal or greater the this one from article it should work.
If you want to boot from drive on this controller your promise sata driver must be compiled in kernel - not module. Or you have to put the promise module on initrd ram disk image. Some promise controllers are AHCI and use AHCI driver in Linux instead of promise module. The AHCI may need to be enabled in this promise bios.
Compiling recent official kernel from kernel.org usually resolves any hardware problem. But this is very hard to do task if Linux distribution is not source based (build from sources) like for example Gentoo, Lunar Linux or SGML. Ubuntu and other binary distributions for Desktops by default have no tools for building kernel. You have to install gcc, binutils, kernel headers, kernel devel packages. Then kernel compilation should be possible but not for sure - some required packages can be still missing.
I recently tried to build kernel on Red Hat and failed. Compilation broke. Before I tried Mandrake 10 with similar bad result. Now I use source based distro and compilation works out of the box.
Configuration of kernel requires much knowledge of Linux and devices.
Last edited by zbiggy; 02-20-2009 at 05:51 PM.