Home | About the Storage Advisors | Adaptec Trusted Storage


Is SATA-150 good enough?

Posted in Storage Interconnects & RAID, Advisor - Tom Treadway by Tom Treadway

Question to the Storage Advisors, from Allen M.: Regarding SATA vs SATA II for an older PC Workstation, will using an add-on SATA II controller really help the data read/writes to a RAID 1 pair of disks if my system bus is a PCI 33MHZ bus? Would a SATA 150 controller do just as good? In other words, where is the bottleneck?

Allen, I made a post in the last few days regarding drive performance measurements, comparing10K and 15K RPM drives, and much of that post will apply to your question. Check it out.

You didn’t mention how wide your PCI bus is, 32-bits or 64-bits. These two different widths will give you a burst throughput of 132MB/s or 264MB/s, respectively. With overhead, let’s say you can get 80MB/s and 160MB/s actual measured throughput.

The lower of these nice round numbers (80MB/s) just happen to match up with the measured throughput of a typical SATA drive.

Next, let’s look at SATA-1.5G vs SATA-3G (SATA vs SATA-II). Those two bus speeds should allow a maximum throughput of 150MB/s and 300MB/s respectively. With overhead it’s probably slower, but it doesn’t really matter. Both numbers are much greater than 80MB/s. And since SATA is point-to-point, you will have two dedicated and concurrent paths for your two RAID-1 drives. So, at this point, you’ll see no difference in SATA and SATA-II. Of course this is for long sequential IO, but if you’re doing short random IO then the bus speed is even less significant.

Now back to the drive media rate: A good RAID-1 controller will be able to balance reads across both drives, so you could expect to see a doubling, or 160MB/s, on reads. Since writes occur to both drives, you won’t see a doubling in write performance. In fact there will probably be a slight drop due to controller overhead.

Finally, we can compare that 160MB/s out of your drive subsystem to the PCI speeds of 80MB/s or 160MB/s, depending on your PCI width. If you’re running a 32-bit bus then your bottleneck is definitely on the PCI bus. If you’re running a 64-bit bus then you’ve got a pretty balanced system. But of course measuring performance in MB/s is only useful if you’re doing a lot of long sequential IO. If your IO is short and random and therefore measured in IOPS then your bottleneck will be the drive and it’s seek/rotation mechanism. Even the slowest PCI, EISA, or ISA bus can keep up with random IO from just a few drives.

With all that said, and with you now talked out of upgrading to a SATA-II controller, I have to throw out one other factor. There is a feature in SATA (and every other storage bus protocol) called command queuing where a drive is able to receive and process multiple commands. Of course there is only one drive head and the media is only seeing one command at a time, but the drive is able to sort these commands and reduce seek and maybe even rotation times. This is enough to sometimes double random IOP rates.

(Also, if the drive write-back cache is turned off then command queuing will save a LOT of missed revolutions by allowing the drive to combine IOs, increasing short sequential write performance 10X or more. But most SATA drives ship with the drive cache turned on, so you can probably ignore this point.)

Back to the doubling of random IOPS: This command queueing feature was actually present in the first version of SATA, but it seems that many of the drives and controllers didn’t add the feature until SATA-II. So if random IO is a major piece of your access pattern, you should check out this detail. Also, beware that there are two types of queuing - legacy (identical to ATA queueing) and native (new and improved for SATA). Make sure that your drive, controller and OS driver all support the same type of queuing.

Also, when comparing your SATA and SATA-II controllers, look for other differences that are harder to catagorize. For example, many SATA controllers were just thrown together to get to market quicker. The SATA-II controllers may have a better design, more features, a faster CPU, etc. This one is admittedly difficult to figure out.

Hopefully you’re not thoroughly confused at this point. If you’re not, let me throw one more thing at you.

Rather than look at SATA vs SATA-II, you may want to look at SATA-II vs SAS. I’ve made a lot of comments about this in a previous post, so I won’t repeat myself. But in summary, SAS will allow you to add a LOT more SATA drives to your system in the future. This may not be an issue for you since you’re still at 33MHz PCI, but it’s something to keep in mind.

I hoped that helped.

TT

Leave a Reply