JefUK, I agree with 90% of your conclusions, most of my experience with a similar configuration matches your results with one exception. I can't say you are wrong, since I don't use a U3S6 card, but I do have a mother board that has the Marvell 9120 SATA chipset. Differences in the hardware may account for the different results I've seen, in one particular area. I also read your post in the link you provided, and am just commenting on both of your posts.
You wrote that all simple add-on SATA cards use Marvell SATA chipsets. The majority do, but recently a few cards use the ASMedia 1061 SATA chipset, that is said to support SATA 6Gb/s speeds. I have one of those cards, and a new motherboard I have also uses the ASMedia SATA chipset, to provide additional SATA ports. My testing shows the ASMedia chipset is virtually identical in performance to the Marvell 91xx chipsets in performance, both being inferior to any of the Intel SATA 6Gb/s SATA chipsets. IMO, that is mainly due to the Marvell and ASMedia chipsets being designed for and used with one PCI-E lane, whose maximum speed is 5Gb/s, not the full 6Gb/s of the Intel chipsets. The SATA chipset driver used can also affect performance, but the main hardware limitation of their 5Gb/s interface is the primary cause of their lesser performance, IMO.
Your results using the MS AHCI driver (msahci) with the Marvell 9120 chipset in the U3S6 board are quite different than I have seen using msahci with the Marvell 9120 and 9128 chipsets integrated into two different mother boards. I also have an add-on card (Apricon) that uses the Marvell 9123 chipset, with similar results. Those results are not with an Intel 520, but other SATA 6Gb/s SSDs. I've also seen posts in various forums that showed better performance when msahci was used with the Marvell chipsets.
Your U3S6 board and it's firmware (not the driver) may be causing the difference, and/or the 520. With my mother boards and the Marvell chipsets, the msahci driver performs better than the Marvell driver. Actually, your results are the first I've seen where a Marvell driver performs better than msahci. I'm not saying your results are wrong or false, but just describing what I have seen. Your results are also the best I've ever seen with a Marvell chipset and driver combination.
Your results using msahci in the high queue depth tests look like AHCI mode is not enabled, as if NCQ is not active. That is what I usually see when using the Marvell drivers. (I would post benchmarks, but they are not of Intel SSDs.) Interesting and curious. What is the source of the Marvell driver you used with the U3S6 card? The one supplied by ASUS for that card?
Where did you read that Marvell said its driver will not pass TRIM? They usually never state anything, besides their datasheets.
I just noticed you tested with Vista, which is not supposed to support TRIM. Am I missing something here?
IMO, given what I have read, high sequential read speed performance is not as important for booting an OS, it's the small file (4K) random read performance that is important, as well as slightly higher queue depth performance. Which is why the Intel ICH10R SATA 3Gb/s chipset and its better 4K performance is better overall than the Marvell chipset, as you said.
Wow, what comprehensive stuff - both your reply parsec and jefUK's original post. Not having any of this modern hardware (I can only dream of being able to afford it one day), I can't comment with any experience. It was 'eyebrow raising' to read that Marvell drivers won't pass TRIM though so I too would like to know more about that.
88SE922mation2xxsage 88SE92xxorrection Thanks for sharing your own experiences.
I did know about the ASM1061 Chipset, but cards containing this chip are extremely difficult to find here in the UK. Apart from some expensive RAID cards having an LSI chipset, virtually all the cards in the UK use the Marvell 88SE9120/23 chip. Some of the transfer results I have seen from the ASM1061 show good speeds, better than the 88SE9120. Since cards with the ASM1061 are so cheap, I have ordered one (from the US) for testing - I will post the results when I have tested the new card.
I don't believe all the performance shortfall of the 88SE9120 is all down to the 1x PCIe2.0 lane interface, the loss of performance is just too great. The ASM1061 test results may help clarify this issue.
I was also very puzzled about the performance of the msahci driver, but although I have the latest version of the Vista 64 driver, the Windows 7 version may be different, and better. I would not have thought that it would be anything to do with the U3S6 card, since the only difference is that the Marvell chip connects through a PCIe switch to a 4x PCIe2.0 interface - but you can never be sure! The BIOS and the OS all report that the Marvell is working in AHCI mode. Similarly, the Marvell is operating in simple by-pass mode, so the board firmware should not be playing any role while running under control of the OS. If the firmware was not supporting NCQ it would affect the Marvell driver as well as the msahci. At the moment masahci performance remains a mystery to me.
I will also check how the msahci performs on the ASM1061 when I have received the card.
The Marvell driver is the latest version (220.127.116.119) that I could find, which I downloaded from the Intel Download Centre - here. I reasoned that if it was good enough for Intel, then it probably is the best version available!
As you say, trying to find "official" information from Marvell about Trim support on their SATA controllers is impossible. However, after much searching I found two 3rd-party reports of correspondence with Marvell engineers. One was a report by the CTO of a small IT company that had dealings with Marvell, and the other was IT website "tester" that reportedly had also got information from Marvell. Both of these indirect reports say that the controller passes Trim, but their drivers do not. They reportedly said that the Marvell drivers are meant for OS's that do not have ACHI, and they recommend that Vista and Win7 users use the msahci driver. This supports their position of why they will never incorporate Trim in their driver. These reports could all be wrong of course, but are supported by my testing.
You are absolutely correct, Vista does not have Trim functionality, but the Intel SSD Toolbox does generate Trim commands, which can be passed through the controller with the msahci and the Intel RST driver, but unfortunately not with the Marvell driver.
There may be a solution to the poor performance of add-in SATA III cards. In January, Marvell released their 88SE92xx series of SATA III controllers. These have 2x PCIe2.0 lane interfaces, and so should overcome the interface transfer rate problem. See the press releases here and here. The Marvell data sheet is here. These chips are now being included in some motherboards (ASRockFatal1ty X79 Champion, Asus Z9PE-D8 WS), and will hopefully appear as add-in cards in the not too distant future.
A test report of the ASRock X79 Extreme9, using the Marvell 88SE9220 controller can be seen here. The performance is similar to the Intel 6Gb/s controller, and much better than the Marvell 88SE91xx series.
***Edit*** Corrected information, and added link to test of 88SE9220
Update to first post........
In order to determine the optimum method of connecting a SATA III SDD to a Vista 64-bit system with SATA II controllers, a number of add-in SATA III controllers have been tested and compared with the Intel SATA II and SATA III ports. The following conclusions were made:-
- The Marvell 88SE91xx SATA controller passes TRIM commands (in by-pass/non-RAID mode).
- The latest Marvell driver (18.104.22.1689) gives good overall performance with the Marvell 88SE91xx SATA controller, but does not pass TRIM commands.
- The ASMedia ASM1061 produces the fastest speeds of the currently available add-in 6Gb/s SATA controllers.
- The ASMedia ASM1061 controller passes TRIM commands.
- Both the ASMedia driver (22.214.171.124) and the Microsoft AHCI driver (6.0.6002.18005) support TRIM commands with the ASMedia ASM1061 controller.
- The 3Gb/s Intel controller, with the Intel RST driver, gives speeds approaching those of the ASMedia ASM1061 and ASMedia driver, especially when used for a system drive.
- The Intel 6Gb/s SATA controller gives the best results of all.
- Wherever possible always connect a 6Gb/s SSD to an Intel 6G/s SATA controller.
- The Microsoft AHCI driver (6.0.6002.18005), standard with Vista 64-bit, performs very badly with random transfers, especially with queued transfers, and its use should be avoided. The Windows 7 version of this driver is different and may give better performance.
- Future add-in cards, using the new 6Gb/s Marvell 88SE92xx controller, will probably have a performance as good as the Intel PCH 6Gb/s SATA controller.
Kiwi, How are you? Are you still surfing with your DG45ID? I hope so, but alas, I killed mine! Yes, all my fault, don't want to talk about it... Except that it's impossible to get another one in the US, or almost impossible. Yes a few found on Amazon, but they want more for it then I paid for it over two years ago! Oh well, good excuse to get a cheap Z77 board and Ivy Bridge CPU.
Whatever happened to that guy in South America...???
JefUK, Nice write-up. I see you found a Syba card with the ASM1061. They are sold under another name in the US, but use the same model number, only about $20 here, quite a deal for what it is.
Short on time now, but I can add one bit of info if you did not try this, the Intel SSD Toolbox will see and work with Intel SSDs on boards using the ASMedia 1061 chipset. Surprised me but true.
Hi parsec, you're right about my still using my DG45ID based HTPC. It's an oldie but a goodie and with their release of the 'last minute' IDT audio driver update just before Intel relegated the board to end of life status, the remaining significant bug was ironed out pretty effectively (although a simple workaround of disabling the analog jacks is still required to stop the default optical audio output I use, from reverting to the analog jacks on the next boot). Here in England (where I've been based since 2000) there's excellent customer support available. It's certainly not like my experience from years ago when I lived in NZ getting hardware related support from some companies that (due to the much smaller market size), had limited exposure to issues and even less clout when it came to getting them resolved by the manufacturers international headquarters.
Since then I'm aware that, as an example, many modem makers now incorporate full support for many of their devices to work fully in small market countries and not just the large ones so things are looking up. You'll need to pm me a reminder re the guy in South America as my memory for some details clearly isn't as good as yours. Unfortunately the Intel Community site doesn't include the country where the poster lives as something for all to see so such deductions are only possible from post content.
I have now repeated some of the tests with Windows 8, using the new version of the MIcrosoft AHCI driver (storahci). These show that the Windows 8 version of the Microsoft AHCI driver is different to that in Vista. The Windows 8 versiion gives near identical performance to the ASMedia 106x AHCI 126.96.36.199 driver (asahci64).
I will also test with the Windows 7 version.
That bit about the Marvell drivers not being meant for OS's with AHCI drivers seems strange to me. So they're meant for Vista and XP? When I got my X58 board, with a Marvell 9128 chipset on it, what OS did I get... Windows 7. The Marvell chipset can be set to AHCI mode in that boards BIOS. I sure only use msahci with Marvell chipsets, no question about that. What also makes no sense about that is consider Intel's RAID/AHCI driver, any IRST version 10. whatever and forward. One driver serves both purposes, and AHCI is considered a subset of RAID. That may just be Intel's view of it, but guess who invented and licenses (for free) AHCI? Intel.
Next, you cannot have Native Command Queuing (NCQ) without AHCI functionality. While NCQ was designed for increasing HDD performance (and it can), it's basic feature is exploited by SSDs. Apparently prior to NCQ, a single I/O operation/request was sent to a HDD, which it executed for the OS. With NCQ, up to 32 I/O requests are sent in one operation to a drive. In a HDD, it then sorted them, given it's knowledge of the location of the data being requested, into a more optimal order that minimizes head movement and having to read the same cylinder multiple times, among other things. Yes it took a while for AHCI to become standard in the PC world, but given the breakthrough nature (IMO) of this technology, how could any decent SATA chipset not support it? Apparently Marvell's did, but only via Microsofts msahci driver? I can't say that information is wrong or false (as you said yourself) but it both makes and does not make sense from a technical standpoint. That does not mean it cannot be true, does it?!
The new Marvell chipsets seem to be designed to overcome the drawback of the 91xx series, the new ones use more than one PCI-E lane as you stated. But what worries me is this: The new chipsets (or some of them) offer up to four SATA ports per chip, instead of two. See where I'm going with this? Two PCI-E lanes but four SATA ports, and we're back to two ports on one PCI-E lane. Imagine two drives/ports on one PCI-E lane being accessed at the same time (we could have that now), even worse performance. How does Marvell's RAID support on the '9128 fit into this, two drives in RAID but both working off of one PCI-E lane? Probably fine for HDDs, but SSDs? Not good enough. Even if a mother board design used only two SATA ports on the new chips, we still only have two PCI-E lanes. Will they both share them? Will each port have it's own lane? Perhaps I'm cynical, but I see board manufactures going with more SATA ports than increasing speed. I suppose if four ports share two lanes, and you only use one port, it would work faster.
One thing that has been ignored regarding this is there are only so many PCI-E lanes available. Sandy Bridge CPU and the 6-series chipsets have fewer PCI-E lanes than X58 and Nehalem (i7-900 series) CPUs boards. Ivy Bridge and the 7-series chipsets are the same as SB, except for X79 and socket 2011 CPUs, which have more. Who gets all the PCI-E lanes? The video card slots, the x16 and x8 slots. No offense to gamers, but where are the boards with PCI-E lanes dedicated to disk I/O, etc, rather than game playing? Now USB 3.0 is here, using up more PCI-E lanes. More reasons why I'm not celebrating the new Marvell chipsets.
So does Marvell say since no AHCI, then no TRIM? That is false, because the TRIM command is sent in IDE mode. Intel has stated that. I suppose an old IDE driver (I can't even name one, I've only used IRST or Matrix drivers, and msahci for so long) might not recognize a TRIM command, and block it, if that is how it works.
Frankly, all I want is the Haswell CPU chipsets to have four or more SATA 6Gb/s ports. If they do, I could care less about these other, add-on chipsets. Well... I do like more SATA ports, and does it really matter if my data reads take a second or two longer? Yes... no, not really.
Message was edited by: Robert Cook
Hello JefUK. I am new to this forum. I have some inquiry as follows...
You have mentioned in your post,
4. The ASMedia ASM1061 controller passes TRIM commands.
Is this true when using RAID0 on the Asmedia ASM1061? Btw, I am using the Orico with the ASM1061 controller on my X58 mb running Win7 32bit OS.
Following on from the above posts, further testing shows
that the Microsoft Windows 7 AHCI driver (msahci) and the Windows 8 AHCI driver
(storahci) have a performance virtually identical to that of the ASMedia 106x AHCI 188.8.131.52 driver (asahci64).
Updated report here