Intel ICH10R: 660MB/s SATA Limit Fact or Fiction?
One recent contact form question was regarding the alleged 660MB/s limitation on the Intel ICH10R chipset (also known as the 82801JR I/O controller), especially in conjunction with X58 based chipsets which currently represent the big iron of Intel’s lineup until the LGA 2011 parts come out in Q3 or Q4 2011. When the ICH10R was released in 2008, there was little need for more than 660MB/s as SSDs were still not hitting the SATA II bandwidth caps. When platter drives peaked around 120MB/s having a six port (one likely occupied by an optical drive) that could put out 660MB/s was fine. In 2010, 660MB/s is barely more than two ~$100 SSDs can put out. With all of that being said, I decided to throw the stable of ADATA S599 64GB drives at the ICH10R and see what they could do.
For the test configuration I used the same setup as I have been using for my SSD reviews:
- CPU: Intel Core i7 920
- Motherboard: Gigabyte X58-Extreme
- Memory: 12GB of Corsair Dominator GT 1600 C7 DDR3
- Case: CoolerMaster Cosmos S
- Drives (OS): 2x OCZ Vertex 120GB in RAID 0
- SSDs: 4x ADATA S599 64GB in RAID 0
- Controller: Intel ICH10R with Intel Rapid Storage Technology (RST) 188.8.131.524
- NIC (additional): Intel Pro/1000 PT Quad
- Host OS: Microsoft Windows 7 Ultimate 64-bit
I will again note that the numbers I find in my testing may not be indicative of what one may see on an AMD or NVIDIA chipset. In fact, I have tried installing the SSDs on a default ICH10R and Windows 7 x64 Pro installations using all default drivers and saw significantly lower performance. Furthermore, I have tried an eSATA port on my laptop with SSDs an again saw poor performance. If installing any SSD, I would strongly suggest installing the newest Intel RST drivers and making sure the SATA controller is set to AHCI or RAID mode.
A few notes on the test setup. First, Intel onboard ICH10R RAID was used, because I found it to be more consistent than software RAID in windows. Second, I did run the test with three drives on the ICH10R and the maximum performance did not change much. This article is being posted with four drives partly because it lets one see the difference between the ICH10R and a four-port RAID controller. Fourth, the drives were all brand new taken out of the packaging for this article. They were not used to boot the machine as the testbed uses 2x OCZ Vertex 120GB drives in RAID 0 as a boot volume. Finally, I do know RAID 0 is a bad idea in general. This is more of an academic/ fun exercise rather than a production system.
Four Sandforce SF1222 Drives in RAID 0… the ICH10R Benchmarks
For the four drives, again chosen were Sandforce based ADATA S599 64GB drives. These are very inexpensive drives without rebates so I have purchased quite a few of them.
I have used CrystalDiskMark (and an older one at that at version 2.2) for quite a while now, and so I am providing these results as a point of reference.
Here one can see speeds of over 660MB/s with 680MB/s sequential read speeds being shown. Comparing this to the single ADATA S599 drive which had 209MB/s sequential reads and 110MB/s sequential writes, one notices that the RAID 0 sequential performance is a bit lower than we would expect if there was no alleged 660MB/s limitation on the ICH10R’s X58 implementation.
ATTO has been one of my longstanding favorite benchmarks as it usually gives a different view of drive performance than a lot of the other quick benchmarks available. It writes highly compressible data so it is a “best-case” benchmark at this point. Sandforce drive makers like to tout ATTO scores but they are not really representative of real-world performance for most people. Intel and Indilinx drives tend to be much more neutral on ATTO because they are not compressing the data.
One can see from the above that aside from the oddity of the 8k ATTO score, there is again some limitation in the 660MB/s ballpark in ATTO. For reference, a single ADATA S599 Sandforce drive will consistently do approximately 270-275MB/s writes (including and over 128K test size) and 280-285 MB/s (including and over the 256K test size). This is a big reason I chose four drives for this article. With three ADATA S599’s one could postulate that the 660MB/s figure is reasonable given a lot of overhead (which RAID 0 tends not to have). With theoretical perfect world potential bandwidth of 280MB/s * 4 = 1120MB/s, it is not reasonable to assume almost 50% RAID 0 performance penalty from four drives making the 660MB/s limit look fairly strong.
The 8K results look more like an outlier and the 16K and 512K results are in the range one would expect to see from this level of benchmark application if there was a 660MB/s limitation (it is an approximately 2% variance).
AS ASSD Benchmark
The AS ASSD Benchmark was developed specifically to test SSDs. This is a new benchmark to my suite that I started to use in the Intel X25-V 40GB RAID 0 benchmarks and used again with the OCZ Agility 2 and ADATA S599 benchmarks. AS SSD really highlights the difference in performance when all data is not highly compressible like it is in the ATTO benchmarks.
Ok so AS SSD’s less compressible data does not let the four drive setup show off a limit or does it? I will argue that it does show some limitation in the 660MB/s range despite the maximum sequential transfer speed being 603MB/s almost 10% lower than the proposed limit. Here is the single drive AS SSD for comparison.
A quick comparison shows that the sequential write speeds went up by approximately a factor of four. The 4K-64 Thread scores went up by approximately a factor of four for both reads and writes, yet the sequential reads went up by a factor of three. That type of variance in the different test results shows that something is amiss with the interface, especially if one considers the fact that the limit above was within 10% of the proposed ICH10R 660MB/s limit.
Multiple RAID 0 SSD Arrays ATTO Benchmark
One final test I ran just for fun was ATTO side-by-side with two Indilinx Barefoot based OCZ Vertex 120GB drives in RAID 0. I did not do the below in any scientific fashion I just opened two instances of the ATTO benchmark, selected the target drives, and clicked the run buttons as fast as I could.
Just to give one an idea… the OCZ Vertex 120GB RAID 0 array listed above (right) is capable of delivering over 500MB/s read from the 8K test side and beyond. The exact same four drive Sandforce RAID 0 array was capable of approximately 660MB/s in the benchmarks above. Clearly there is a bottleneck in the ICH10R (just as an aside, CPU utilization was well under 10% so that was not a factor).
Although the tests do seem to indicate that there is more than 660MB/s available, beyond the 8K test size the benchmark runs started to diverge a bit in completion times so there is some offset effect going on. The faster array completes its task faster and moves to the next test giving the other array/ test time to pick up a slight bit of additional performance. Good news here is that I had a hypothesis that the numbers would be in the aggregate 650-800MB/s range due to this offset effect and I think I was close.
For just over $100 each, these drives are FAST! Too fast in fact for the ICH10R, at least in RAID 0 with three drives or more. In 2007 and 2008 660MB/s was difficult to achieve with consumer hardware. Even an 8 drive 15K RPM Seagate Savvio setup in RAID 5 on an Adaptec IOP348 based controller was only putting out in the 600-700MB/s range. Had someone told me that I would be able to have six drives capable of delivering over 1.6GB/s of performance each costing in the $100-200 range approximately two years later, I would have thought that person was crazy and 660MB/s was plenty of performance for a six port controller. These days, multiple SSDs can outpace the ICH10R by a wide margin. Luckily, the ICH10R is going to be replaced in the near future as Intel readies its Sandy Bridge line.