Saturday, December 29, 2007

Firmware update for Seagate Barracuda drives

I was recently researching which drives I wanted to buy for a machine that will replace my trusty old Pentium II mail/web server. While browsing through the customer reviews on Newegg's site, I found that some people had been complaining of receiving drives that were reporting smaller cache sizes than advertised.

Specifically, this affected one of the drives that interested me, the Seagate Barracuda 7200.11 500GB drive with 32MB cache, model ST3500320AS. This drive was of interest because I've been very happy with the single-platter 250GB/16MB ST3250410AS drive that I use in my desktop machine and the 500GB drive is essentially a doubled-up version of that. Both drives offer very fast sustained transfer rates (topping out at about 95-105MB/sec) and run quite a bit quieter than the previous models with more platters.

While reading the reviews for the 500GB drive, there were several people reporting that their drive was reporting only 8MB of cache instead of the correct 32MB. This would make the drive a cheaper ST3500820AS instead of a ST3500320AS. I Google'd around for other reports and found many other people reporting the same thing.

Seagate's Oops

Eventually I guess somebody at Seagate figured out that they'd blundered and either labeled the 8MB cache drives as the 32MB model or shipped the 32MB model with the firmware from the 8MB model. There is now a firmware update available on the Seagate web site which corrects this problem and allows people that have purchased the drive to utilize the full 32MB cache. Note that there are two pages describing this problem on Seagate's web site, only one of which actually contains the link to the firmware, the other page says you need to call Seagate to obtain the update. I guess their web site team isn't on the ball either...

It is apparent from this situation that the difference between the 8/16/32MB cache versions of an otherwise identical Seagate hard drive is most likely just the firmware. It is quite probable that even the drives that are sold as containing 8MB of cache actually contain 32MB, but only 8MB of it is reported and used by the firmware on the drive. I expect it will only be a matter of time before somebody buys the cheaper drive and reports success when flashing it with the more expensive drive's firmware.

For reference, and to allow search engines to index this page with all the right model numbers, this problem affects the following Seagate drives:

ST31000340AS - Seagate Barracuda 7200.11 1TB
ST3750330AS - Seagate Barracuda 7200.11 750GB
ST3500320AS - Seagate Barracuda 7200.11 500GB

Conclusion

If I'm not careful this blog is going to come over as a Seagate-bashing rant. Really, it isn't meant to be. I actually like their products and recommend them often. Just make sure you're getting all the cache you paid for!

Labels:

Sunday, December 9, 2007

Why don't people know how to make a left turn at a traffic light?


(Image (C) FreeFoto.com)

This particular rant could equally be titled "why don't people know how to drive", but I'll just concentrate on this particular maneuver for now.

When you want to turn left at a traffic light and you are first in line, what do you do when the your light turns green? Assuming you don't have an arrow, so you have to yield to the people opposite that are going straight ahead, that is...

Well, it seems that a good proportion of the population seems to think that the correct thing to do in this situation is...nothing at all. They just sit there at their green light, waiting for I don't really know what. Then if the traffic is heavy enough, their light eventually turns back to red and they haven't even moved an inch but they've successfully managed to annoy everybody else behind them. I'm surprised that these people don't die of old age, still sat at the light with their turn signal blinking away.

For the record, here is what you should do in this situation. When your light turns green, pull forward into the middle of the intersection and wait for a gap in the oncoming traffic. If it is rush hour and a gap never appears, when your green light ends, make the left turn. On no account turn into a total moron and try to back up so you can wait for the next green light.

For those that still think it isn't even legal to pull forward when the light is green, here is the actual law (for WA state, at least) that says that it is allowed.

Labels:

Saturday, December 1, 2007

Seagate FreeAgent Pro eSATA problems

Or: Why to avoid the Seagate FreeAgent Pro line of external hard drives

Back in June of 2007, I decided I needed an external hard drive to backup my ever-growing collection of photos. So I went on a quest to find a suitable drive to buy. I decided on some basic requirements, such as:
  • Decent capacity, say 500GB
  • Quiet (I hate whiny noises)
  • Both USB and eSATA connectivity
  • Reasonably priced (does this go without saying?)
Although I had decided to upgrade to a Core 2 Duo machine in the near future, I was currently still using my trusty old Pentium 3, which (of course) didn't have eSATA support. Since I'd buy the external hard drive before I upgraded my computer, I knew I had to get a drive with USB connectivity so I could use it with my existing machine. However, I knew that an eSATA connection should be significantly faster than USB and that my new computer would have support for plugging in a hard drive via eSATA, so my long-term plan was to use the eSATA connection on the drive.

Well, I eventually selected the Seagate FreeAgent Pro 500GB drive, model ST305004FPA1E2-RK. The reviews on my favorite computer shopping site (Newegg, of course!) were good at that time, it was reasonably priced at $170 and it was from a brand that I trusted in the hard drive business. The five year warranty was reassuring too. I thought the $30 price premium for the model with the eSATA interface was a little high (the USB-only model was $140), but I knew I'd regret it if I couldn't use eSATA later, so I took the plunge.

Well, first the good news: the drive worked great as soon as I hooked it up. Of course, it only showed 465GB available, due to the silly way that hard drive manufacturers define a Gigabyte, but since I'm a computer nerd, I was already prepared for that. The software that came on the drive was pretty useless, but since I didn't want it anyway, I just burned it to a CD, deleted it from the drive and forgot all about it.

Fast forward to October of 2007, when I finally decide that the time is right to take the plunge and build a machine based upon Intel's Core 2 Duo processor. I'm glad I skipped over the whole Pentium 4 mess, but that's a posting for another day...

For my Core2Duo machine, I selected the excellent ASUS P5K-E motherboard. One of the many factors that led to me choosing this motherboard was the fact that it had two eSATA connectors on the rear panel, in addition to the six internal SATA connectors. I bought an eSATA cable locally (which was harder than I expected) and prepared to make the trivial changeover from USB to eSATA.

Seagate's First Dumb Mistake

The first problem is that I could not get the drive to work at all when plugged into the eSATA connector on my motherboard. After much head-scratching, I eventually figured out that the eSATA connector on the FreeAgent Pro drive was recessed too far into the drive's housing for my cable to actually make a connection to it. Now maybe I have a cheap cable, but others have reported the same problem, so I suspect it is just bad design on Seagate's part. I break out a sharp knife and trim off some of the plastic boot around the plug on the cable. Now the plug clicks home and the connection is fine.

Oh, you want hot-plugging to actually work?

Initially, things looked promising - when I booted up, my motherboard's JMicron JMB363 eSATA controller reported finding the drive and when I logged-in to Windows XP, I could access it without a problem. However, later on I was using the computer without having first switched on the drive, then when I switched it on my computer froze solid. I waited for a while, but it was quickly apparent that turning on the drive while the computer was running was a no-no. Since eSATA is specifically designed to be hot-pluggable, this was puzzling to me. I made sure I had all the latest drivers for my JMicron controller, which indeed I did. So apparently I now had a choice - either go back to using USB, where I could start and stop the drive at will, or stay with eSATA and remember to always have the drive running.

Enough ranting, give me the numbers already...

Alright...I decided to test the drive's speed over the two types of connection to help me decide what to do. In theory the eSATA connection's bandwidth of 3Gbit/sec shouldn't bottleneck the drive at all, whereas USB 2.0's raw 480Mbit/sec throughput typically translates to a maximum actual throughput limit of about 40MB/sec. Since other Seagate drives of this size and age have a maximum sustained transfer rate of about 80MB/sec, I was expecting the eSATA interface to have a significant speed advantage over USB.

I ran HD Tach to test the speed of the drive over the two interfaces. While HD Tach has some issues (for instance, it only tests read speed and not write speed - for a RAID 5 array the two can be significantly different), it was good enough for my basic test here and it does produce some pretty graphs.

First, the performance over the USB interface:



Since the graph was completely flat, it was clear that the USB interface wasn't able to deliver the data as fast as the drive was able to serve it up. If it was, the graph would show the typical curve that you get from hard drive benchmarks as the throughput falls off as the heads approach the inner cylinders. Anyway, the relevant number is that the drive gave a sustained read throughput of 32.5MB/sec. The access time is a horrible 20.1ms, but since I only wanted the drive for backup storage, that wasn't too much of a concern.

Next, the performance over the eSATA interface:



Yikes. Even before I saw the numbers, I knew something wasn't right. Firstly, the graph should be much smoother than that. And where was the tapering curve that I was expecting? Even so, the throughput was better than with the USB connection: using the drive's eSATA interface gave me a sustained read throughput of 39.5MB/sec, a 21% improvement.

The spikiness of the graph and the strange flatness of it made me curious, so I fired up Google and did some searching. It turns out that lots of people have had problems with the FreeAgent Pro line of drives when using them with an eSATA connection. For instance, read these pages:
Notice in the Seagate forum the representative from Seagate actually states that USB is faster than eSATA!

New Firmware to the Rescue?

The StorageReview thread was the most interesting read. Although you won't find it referenced on any of Seagate's product information or support web pages, a poster calling him or herself "JTee" mentioned that there is a firmware update available for the FreeAgent Pro line of drives that addresses the eSATA performance problems. Bizarre that Seagate would rather suffer a reputation for poor performance instead of making the update visible on their site, but maybe they have their reasons.

So, I downloaded the firmware update from Seagate's web site here and proceeded to install it. The firmware updater appears to have been written in Java, for heaven's sake, but after two installs and two reboots, I had updated the drive's firmware. Here are screenshots of the update process, before applying the new firmware:



...and after the new firmware was applied:



So the firmware appears to have been updated from v0.34.0010, dated February 26, 2007, to v0.34.0011, dated March 9, 2007.

Performance with the New Firmware

So, lets retest the drive with the new firmware and see how it fares. I break out HD Tach again and get these results:



Overall, a big improvement - now the drive averages a read throughput of 57.2MB/sec. The drive is still being held back by its lame interface implementation all the way up to about the 400GB point, where it can't get the data off the platters faster than about 55MB/sec, which the interface does manage to deliver. But still, I'll take 57.2MB/sec over 39.5MB/sec any day. It sure would be nice to actually get the drive's potential 80MB/sec throughput on the fastest part of the drive though.

On a more positive note, it seems that the new firmware fixed the hot-plug capability of the drive too - my computer no longer freezes if I power up the drive when my computer is already running.

So, now I am reasonably happy. I've got an almost 50% improvement in throughput and it seems that I can finally switch over to using the eSATA connection that I paid the extra $30 for.

All's Well That Ends Well...Or Maybe Not...

Since I'd really like to be able to write to my drive as well as read from it, I give it a shot over my now-faster eSATA connection. But a few seconds into writing a large file to the drive, it shuts itself down! Then it powers back up, shuts itself down. Lather, rinse, and repeat as they say in the shampoo commercials.

Now, I concede that this problem might be caused by the JMicron external SATA controller on my P5k-E motherboard, as the Seagate rep. in the above link claims. However, with my experience with this drive's eSATA interface so far, I'm highly suspicious of Seagate employees pointing fingers at anybody but themselves. After all, they still aren't publicly saying that the drive's default firmware has serious performance problems that are only partially rectified by the update.

Conclusion

Well, what conclusion can I come to other than "don't buy the FreeAgent Pro line of drives if you want to use the eSATA interface"? Save yourself the $30 and buy the regular FreeAgent drives, which are USB-only. Or buy another brand entirely.

It is a shame, because I selected the excellent Seagate ST3250410AS 250GB single-platter drives for the RAID storage system in my new computer and they have performed great for me. I also like Seagate's 5-year warranty. But I don't like the way they aren't admitting to the eSATA problems with the FreeAgent Pro drives and at this time I cannot recommend them.

Feel free to leave your comments, especially if you have first hand experience with using eSATA on the FreeAgent Pro drives. I'd be particularly interested to hear from people that do and do not experience the disconnect-when-writing problem after applying the firmware. Perhaps we can indeed narrow this issue down to the JMicron JMB363 controller.

Labels: