I was quite excited when Intel released its latest storage controller drivers last week. We knew these drivers were coming, and I’d been waiting on them to begin the next wave of storage testing with our new suite and test systems. And so a new benchmarking binge began.
The hangover didn’t hit until this weekend when, as I was importing some results into Excel, I noticed performance scaling issues with Intel’s new Rapid Storage Technology drivers. The problem manifests itself in IOMeter, where after hitting a load of 32 concurrent I/O requests, the new RST drivers effectively cap transaction rate scaling. Intel’s old 18.104.22.1683 storage drivers continue to ramp transaction rates all the way up to 256 concurrent IOs, as do the Microsoft AHCI drivers embedded in Windows 7. Below are a few graphics I whipped up showing the difference in performance between those drivers on a Western Digital Caviar Black 2TB hard drive.
32 IOs just happens to be the queue depth of Native Command Queuing, which makes me suspect that a change in the drivers’ NCQ implementation is responsible for the performance discrepancies above. I’ve been in touch with Intel, which is looking into the matter.
Interestingly, this issue doesn’t only afflict the new RST drivers. We’ve seen AMD’s SB850 south bridge exhibit hit a similar scaling ceiling. Marvell’s 6Gbps SATA controller appears to be afflicted, as well.
While the average desktop PC probably won’t encounter too many situations where the number of simultaneous IO requests exceeds 32, it’s under those demanding conditions that one would want a hard drive to perform as well as it can. Given the fact that previous Intel drivers haven’t capped performance in this way, I’m hopeful that Intel will be able to address the issue with a driver update. Until then, though, we’ll be doing storage testing with the Microsoft AHCI drivers available in Windows 7.